X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fplugin.c;h=629a9f89e69b3e69cc4a6d049dc63fa147c0e515;hb=37bee951b23db2dbd41a62693735e7d96f7dba8a;hp=bf8fb085685e0e48ba4bf6c570b0b31618e1d60c;hpb=92445ff3363441d0f515de4a3ab92a504cfc0366;p=collectd.git diff --git a/src/plugin.c b/src/plugin.c index bf8fb085..629a9f89 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -686,7 +686,7 @@ int plugin_flush_one (int timeout, const char *name) void plugin_flush_all (int timeout) { - int (*callback) (int); + int (*callback) (int timeout, const char *identifier); llentry_t *le; if (list_flush == NULL) @@ -695,10 +695,10 @@ void plugin_flush_all (int timeout) le = llist_head (list_flush); while (le != NULL) { - callback = (int (*) (int)) le->value; + callback = (int (*) (int, const char *)) le->value; le = le->next; - (*callback) (timeout); + (*callback) (timeout, NULL); } } /* void plugin_flush_all */ @@ -715,12 +715,15 @@ int plugin_flush (const char *plugin, int timeout, const char *identifier) { if ((plugin != NULL) && (strcmp (plugin, le->key) != 0)) + { + le = le->next; continue; + } callback = (int (*) (int, const char *)) le->value; - le = le->next; - (*callback) (timeout, identifier); + + le = le->next; } return (0); } /* int plugin_flush */