Mercurial > irccd
changeset 1069:827431b41132
misc: remove usage of BSD sys/queue.h (plugin)
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 12 Jul 2021 21:11:53 +0200 |
parents | 69602b51c6df |
children | beb61243cf6d |
files | irccd/jsapi-plugin.c irccd/peer.c lib/irccd/irccd.c lib/irccd/irccd.h lib/irccd/plugin.h |
diffstat | 5 files changed, 20 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/irccd/jsapi-plugin.c Mon Jul 12 21:07:23 2021 +0200 +++ b/irccd/jsapi-plugin.c Mon Jul 12 21:11:53 2021 +0200 @@ -18,6 +18,8 @@ #include <assert.h> +#include <utlist.h> + #include <irccd/irccd.h> #include <irccd/plugin.h> @@ -167,7 +169,7 @@ duk_push_array(ctx); - LIST_FOREACH(p, &irc.plugins, link) { + LL_FOREACH(irc.plugins, p) { duk_push_string(ctx, p->name); duk_put_prop_index(ctx, -2, i++); }
--- a/irccd/peer.c Mon Jul 12 21:07:23 2021 +0200 +++ b/irccd/peer.c Mon Jul 12 21:11:53 2021 +0200 @@ -320,10 +320,10 @@ fprintf(fp, "OK "); - LIST_FOREACH(plg, &irc.plugins, link) { + LL_FOREACH(irc.plugins, plg) { fprintf(fp, "%s", plg->name); - if (LIST_NEXT(plg, link)) + if (plg->next) fputc(' ', fp); }
--- a/lib/irccd/irccd.c Mon Jul 12 21:07:23 2021 +0200 +++ b/lib/irccd/irccd.c Mon Jul 12 21:11:53 2021 +0200 @@ -43,11 +43,7 @@ void *data; }; -struct irc irc = { - .servers = LIST_HEAD_INITIALIZER(), - .plugins = LIST_HEAD_INITIALIZER(), - .rules = TAILQ_HEAD_INITIALIZER(irc.rules) -}; +struct irc irc = {0}; static int pipes[2]; static struct sigaction sa; @@ -163,7 +159,7 @@ * onMessage for hangman and logger but onCommand for ask. As such call * hangman and logger first and modify event before ask. */ - LIST_FOREACH_SAFE(p, &irc.plugins, link, ptmp) { + LL_FOREACH_SAFE(irc.plugins, p, ptmp) { if (is_command(p, ev)) plgcmd = p; else if (invokable(p, ev)) @@ -336,7 +332,7 @@ assert(!irc_bot_plugin_get(p->name)); if (irc_plugin_load(p) == 0) { - LIST_INSERT_HEAD(&irc.plugins, p, link); + LL_PREPEND(irc.plugins, p); irc_log_info("irccd: add new plugin: %s", p->name, p->description); irc_log_info("irccd: %s: version %s, from %s (%s license)", p->name, p->version, p->author, p->license); @@ -358,7 +354,7 @@ else irc_log_info("irccd: opening plugin %s", name); - SLIST_FOREACH(ldr, &irc.plugin_loaders, link) { + LL_FOREACH(irc.plugin_loaders, ldr) { if (p) break; @@ -401,7 +397,7 @@ { struct irc_plugin *p; - LIST_FOREACH(p, &irc.plugins, link) + LL_FOREACH(irc.plugins, p) if (strcmp(p->name, name) == 0) return p; @@ -416,7 +412,7 @@ if (!(p = irc_bot_plugin_get(name))) return; - LIST_REMOVE(p, link); + LL_DELETE(irc.plugins, p); irc_plugin_unload(p); irc_plugin_finish(p); } @@ -426,7 +422,7 @@ { assert(ldr); - SLIST_INSERT_HEAD(&irc.plugin_loaders, ldr, link); + LL_PREPEND(irc.plugin_loaders, ldr); } void @@ -434,9 +430,10 @@ { struct irc_plugin *p, *tmp; - LIST_FOREACH_SAFE(p, &irc.plugins, link, tmp) + LL_FOREACH_SAFE(irc.plugins, p, tmp) irc_bot_plugin_remove(p->name); - LIST_INIT(&irc.plugins); + + irc.plugins = NULL; } void @@ -655,7 +652,7 @@ * First remove all loaders to mkae sure plugins won't try to load * new plugins. */ - SLIST_FOREACH_SAFE(ld, &irc.plugin_loaders, link, ldtmp) + LL_FOREACH_SAFE(irc.plugin_loaders, ld, ldtmp) irc_plugin_loader_finish(ld); irc_bot_server_clear();
--- a/lib/irccd/irccd.h Mon Jul 12 21:07:23 2021 +0200 +++ b/lib/irccd/irccd.h Mon Jul 12 21:11:53 2021 +0200 @@ -32,8 +32,8 @@ extern struct irc { struct irc_server_list servers; - struct irc_plugin_list plugins; - struct irc_plugin_loader_list plugin_loaders; + struct irc_plugin *plugins; + struct irc_plugin_loader *plugin_loaders; struct irc_rule_list rules; struct irc_hook *hooks; } irc;
--- a/lib/irccd/plugin.h Mon Jul 12 21:07:23 2021 +0200 +++ b/lib/irccd/plugin.h Mon Jul 12 21:11:53 2021 +0200 @@ -19,8 +19,6 @@ #ifndef IRCCD_PLUGIN_H #define IRCCD_PLUGIN_H -#include <sys/queue.h> - #include "limits.h" #if defined(__cplusplus) @@ -36,6 +34,7 @@ const char *author; const char *description; void *data; + struct irc_plugin *next; void (*set_template)(struct irc_plugin *, const char *, const char *); const char *(*get_template)(struct irc_plugin *, const char *); @@ -55,23 +54,17 @@ void (*handle)(struct irc_plugin *, const struct irc_event *); void (*finish)(struct irc_plugin *); - - LIST_ENTRY(irc_plugin) link; }; -LIST_HEAD(irc_plugin_list, irc_plugin); - struct irc_plugin_loader { char paths[IRC_PATHS_LEN]; char extensions[IRC_EXTENSIONS_LEN]; struct irc_plugin *(*open)(struct irc_plugin_loader *, const char *, const char *); void (*finish)(struct irc_plugin_loader *); void *data; - SLIST_ENTRY(irc_plugin_loader) link; + struct irc_plugin_loader *next; }; -SLIST_HEAD(irc_plugin_loader_list, irc_plugin_loader); - void irc_plugin_set_template(struct irc_plugin *, const char *, const char *);