Index: src/plugins.c =================================================================== --- src/plugins.c (revision 5860) +++ src/plugins.c (revision 5861) @@ -44,7 +44,7 @@ return NULL; } -void pcb_plugin_register(const char *name, const char *path, void *handle, int dynamic_loaded, void (*uninit)(void)) +pcb_plugin_info_t *pcb_plugin_register(const char *name, const char *path, void *handle, int dynamic_loaded, void (*uninit)(void)) { pcb_plugin_info_t *i = malloc(sizeof(pcb_plugin_info_t)); @@ -53,9 +53,11 @@ i->handle = handle; i->dynamic_loaded = dynamic_loaded; i->uninit = uninit; + i->hash = 0; i->next = plugins; plugins = i; + return i; } void pcb_plugins_init(void) Index: src/plugins.h =================================================================== --- src/plugins.h (revision 5860) +++ src/plugins.h (revision 5861) @@ -35,6 +35,7 @@ char *path; void *handle; int dynamic_loaded; + unsigned int hash; pcb_uninit_t uninit; pcb_plugin_info_t *next; }; @@ -48,7 +49,7 @@ void pcb_plugins_uninit(void); /* Register a new plugin (or buildin) */ -void pcb_plugin_register(const char *name, const char *path, void *handle, int dynamic, pcb_uninit_t uninit); +pcb_plugin_info_t *pcb_plugin_register(const char *name, const char *path, void *handle, int dynamic, pcb_uninit_t uninit); /* Find a plugin by name */ pcb_plugin_info_t *plugin_find(const char *name);