Mercurial > irccd
changeset 971:f365e5be1261
misc: remove more stdbool
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 03 Feb 2021 15:03:12 +0100 |
parents | c745bb6721fd |
children | dfbdab8ea485 |
files | irccd/js-plugin.c irccd/jsapi-chrono.c irccd/jsapi-directory.c irccd/jsapi-plugin.c irccd/jsapi-server.c irccd/jsapi-timer.c irccd/jsapi-util.c irccd/peer.c irccd/transport.c irccdctl/main.c lib/irccd/event.c lib/irccd/event.h lib/irccd/irccd.c lib/irccd/log.c lib/irccd/log.h lib/irccd/plugin.h lib/irccd/rule.c lib/irccd/rule.h lib/irccd/server.c lib/irccd/subst.c tests/test-channel.c tests/test-log.c |
diffstat | 22 files changed, 162 insertions(+), 198 deletions(-) [+] |
line wrap: on
line diff
--- a/irccd/js-plugin.c Wed Feb 03 20:05:00 2021 +0100 +++ b/irccd/js-plugin.c Wed Feb 03 15:03:12 2021 +0100 @@ -155,7 +155,7 @@ duk_enum(ctx, -1, 0); - for (size_t i = 0; i < listsz && duk_next(ctx, -1, true); ++i) { + for (size_t i = 0; i < listsz && duk_next(ctx, -1, 1); ++i) { list[i] = irc_util_strdup(duk_to_string(ctx, -2)); duk_pop_n(ctx, 2); } @@ -408,7 +408,7 @@ free(ret); - return false; + return NULL; } static void *
--- a/irccd/jsapi-chrono.c Wed Feb 03 20:05:00 2021 +0100 +++ b/irccd/jsapi-chrono.c Wed Feb 03 15:03:12 2021 +0100 @@ -16,7 +16,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include <stdbool.h> #include <time.h> #include <duktape.h>
--- a/irccd/jsapi-directory.c Wed Feb 03 20:05:00 2021 +0100 +++ b/irccd/jsapi-directory.c Wed Feb 03 15:03:12 2021 +0100 @@ -22,7 +22,6 @@ #include <errno.h> #include <fcntl.h> #include <regex.h> -#include <stdbool.h> #include <unistd.h> #if defined(_WIN32) @@ -41,9 +40,9 @@ struct cursor { char path[PATH_MAX]; char entry[FILENAME_MAX]; - bool recursive; + int recursive; void *data; - bool (*fn)(const struct cursor *); + int (*fn)(const struct cursor *); }; struct finder { @@ -155,7 +154,7 @@ return ret; } -static bool +static int find_regex(const struct cursor *curs) { const struct finder *fd = curs->data; @@ -163,7 +162,7 @@ return regexec(&fd->regex, curs->entry, 0, NULL, 0) == 0; } -static bool +static int find_name(const struct cursor *curs) { const struct finder *fd = curs->data; @@ -178,7 +177,7 @@ } static int -find_helper(duk_context *ctx, const char *base, bool recursive, int pattern_index) +find_helper(duk_context *ctx, const char *base, int recursive, int pattern_index) { struct finder finder = { .curs = { @@ -222,18 +221,18 @@ return 1; } -static bool +static int rm(const struct cursor *curs) { - return remove(curs->path), false; + return remove(curs->path), 0; } static int -rm_helper(duk_context *ctx, const char *base, bool recursive) +rm_helper(duk_context *ctx, const char *base, int recursive) { struct stat st; struct cursor curs = { - .recursive = true, + .recursive = 1, .fn = rm }; @@ -279,13 +278,13 @@ static int Directory_prototype_find(duk_context *ctx) { - return find_helper(ctx, path(ctx), duk_opt_boolean(ctx, 1, false), 0); + return find_helper(ctx, path(ctx), duk_opt_boolean(ctx, 1, 0), 0); } static int Directory_prototype_remove(duk_context *ctx) { - return rm_helper(ctx, path(ctx), duk_opt_boolean(ctx, 0, false)); + return rm_helper(ctx, path(ctx), duk_opt_boolean(ctx, 0, 0)); } static int @@ -338,7 +337,7 @@ Directory_find(duk_context *ctx) { const char *path = duk_require_string(ctx, 0); - bool recursive = duk_opt_boolean(ctx, 2, false); + int recursive = duk_opt_boolean(ctx, 2, 0); return find_helper(ctx, path, recursive, 1); } @@ -346,7 +345,7 @@ static duk_ret_t Directory_remove(duk_context* ctx) { - return rm_helper(ctx, duk_require_string(ctx, 0), duk_opt_boolean(ctx, 1, false)); + return rm_helper(ctx, duk_require_string(ctx, 0), duk_opt_boolean(ctx, 1, 0)); } static duk_ret_t
--- a/irccd/jsapi-plugin.c Wed Feb 03 20:05:00 2021 +0100 +++ b/irccd/jsapi-plugin.c Wed Feb 03 15:03:12 2021 +0100 @@ -16,8 +16,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include <stdbool.h> - #include <irccd/irccd.h> #include <irccd/plugin.h> @@ -69,7 +67,7 @@ duk_get_global_string(ctx, name); duk_enum(ctx, -1, 0); - while (duk_next(ctx, -1, true)) + while (duk_next(ctx, -1, 1)) duk_put_prop(ctx, 0); /* Pop enum and old table. */
--- a/irccd/jsapi-server.c Wed Feb 03 20:05:00 2021 +0100 +++ b/irccd/jsapi-server.c Wed Feb 03 15:03:12 2021 +0100 @@ -127,7 +127,7 @@ { duk_get_prop_string(ctx, 0, "channels"); - for (duk_enum(ctx, -1, 0); duk_next(ctx, -1, true); ) { + for (duk_enum(ctx, -1, 0); duk_next(ctx, -1, 1); ) { duk_get_prop_string(ctx, -1, "name"); duk_get_prop_string(ctx, -2, "password");
--- a/irccd/jsapi-timer.c Wed Feb 03 20:05:00 2021 +0100 +++ b/irccd/jsapi-timer.c Wed Feb 03 15:03:12 2021 +0100 @@ -17,7 +17,6 @@ */ #include <pthread.h> -#include <stdbool.h> #include <stdatomic.h> #include <time.h> #include <errno.h> @@ -135,10 +134,10 @@ ts.tv_sec += tm->duration / 1000; ts.tv_nsec += (tm->duration % 1000) * 1000; - /* Wait at most time unless I'm getting kill. */ if (pthread_mutex_lock(&tm->mtx) != 0) tm->status = TIMER_MUST_STOP; + /* Wait at most time unless I'm getting kill. */ while (tm->status == TIMER_ACTIVE && rc == 0) rc = pthread_cond_timedwait(&tm->cv, &tm->mtx, &ts); @@ -146,8 +145,8 @@ * When the thread ends, there are several possibilities: * * 1. It has completed without being aborted. - * 2. It has been stopped by the user (tm->stopped is true). - * 3. The plugin is shutting down (tm->kill is true). + * 2. It has been stopped by the user. + * 3. The plugin is shutting down. */ if (rc == ETIMEDOUT && tm->status == TIMER_ACTIVE) irc_bot_post(timer_expired, tm); @@ -239,7 +238,6 @@ duk_del_prop_string(ctx, -2, SIGNATURE); /* Remove callback from timer table. */ - puts("DELETE"); duk_push_global_stash(tm->ctx); duk_get_prop_string(tm->ctx, -1, TABLE); duk_remove(tm->ctx, -2);
--- a/irccd/jsapi-util.c Wed Feb 03 20:05:00 2021 +0100 +++ b/irccd/jsapi-util.c Wed Feb 03 15:03:12 2021 +0100 @@ -60,7 +60,7 @@ duk_enum(ctx, index, 0); - while (duk_next(ctx, -1, true)) { + while (duk_next(ctx, -1, 1)) { if (strcmp(duk_get_string(ctx, -2), "date") == 0) { pkg->subst.time = duk_get_number(ctx, -1); continue; @@ -185,7 +185,7 @@ struct string *token; if (!(fp = open_memstream(&out, &outsz))) - return false; + return NULL; TAILQ_FOREACH(token, tokens, link) { tokensz = strlen(token->value);
--- a/irccd/peer.c Wed Feb 03 20:05:00 2021 +0100 +++ b/irccd/peer.c Wed Feb 03 15:03:12 2021 +0100 @@ -312,7 +312,7 @@ { (void)line; - p->is_watching = true; + p->is_watching = 1; return ok(p); }
--- a/irccd/transport.c Wed Feb 03 20:05:00 2021 +0100 +++ b/irccd/transport.c Wed Feb 03 15:03:12 2021 +0100 @@ -63,7 +63,7 @@ irc_log_info("transport: listening on %s", path); irc_log_debug("transport: file descriptor %d", fd); - return true; + return 0; err: irc_log_warn("transport: %s: %s", path, strerror(errno));
--- a/irccdctl/main.c Wed Feb 03 20:05:00 2021 +0100 +++ b/irccdctl/main.c Wed Feb 03 15:03:12 2021 +0100 @@ -26,7 +26,6 @@ #include <errno.h> #include <limits.h> #include <stdarg.h> -#include <stdbool.h> #include <stdlib.h> #include <stdnoreturn.h> #include <string.h> @@ -37,7 +36,7 @@ #include <irccd/limits.h> #include <irccd/util.h> -static bool verbose; +static int verbose; static int sock; static struct sockaddr_un sockaddr = { .sun_family = PF_LOCAL, @@ -520,7 +519,7 @@ c->exec(argc, argv); } -static noreturn void +noreturn static void usage(void) { fprintf(stderr, "usage: %s [-v] [-s sock] command [arguments...]\n", getprogname()); @@ -538,7 +537,7 @@ strlcpy(sockaddr.sun_path, optarg, sizeof (sockaddr.sun_path)); break; case 'v': - verbose = true; + verbose = 1; break; default: break;
--- a/lib/irccd/event.c Wed Feb 03 20:05:00 2021 +0100 +++ b/lib/irccd/event.c Wed Feb 03 15:03:12 2021 +0100 @@ -25,7 +25,7 @@ #include "event.h" #include "server.h" -bool +int irc_event_str(const struct irc_event *ev, char *str, size_t strsz) { assert(ev);
--- a/lib/irccd/event.h Wed Feb 03 20:05:00 2021 +0100 +++ b/lib/irccd/event.h Wed Feb 03 15:03:12 2021 +0100 @@ -19,7 +19,6 @@ #ifndef IRCCD_EVENT_H #define IRCCD_EVENT_H -#include <stdbool.h> #include <stddef.h> #include "limits.h" @@ -141,7 +140,7 @@ }; }; -bool +int irc_event_str(const struct irc_event *, char *, size_t); void
--- a/lib/irccd/irccd.c Wed Feb 03 20:05:00 2021 +0100 +++ b/lib/irccd/irccd.c Wed Feb 03 15:03:12 2021 +0100 @@ -48,14 +48,14 @@ static int pipes[2]; -static bool +static int is_command(const struct irc_plugin *p, const struct irc_event *ev) { const char *cc; size_t ccsz; if (ev->type != IRC_EVENT_MESSAGE) - return false; + return 0; /* Get the command prefix (e.g !)*/ cc = ev->server->commandchar; @@ -85,7 +85,7 @@ return ev; } -static bool +static int invokable(const struct irc_plugin *p, const struct irc_event *ev) { switch (ev->type) { @@ -136,7 +136,7 @@ return irc_rule_matchlist(&irc.rules, ev->server->name, NULL, NULL, p->name, "onWhois"); default: - return true; + return 1; } }
--- a/lib/irccd/log.c Wed Feb 03 20:05:00 2021 +0100 +++ b/lib/irccd/log.c Wed Feb 03 15:03:12 2021 +0100 @@ -32,7 +32,7 @@ }; static FILE *out, *err; -static bool verbosity; +static int verbosity; static void handler_files(enum level level, const char *fmt, va_list ap) @@ -127,7 +127,7 @@ } void -irc_log_set_verbose(bool mode) +irc_log_set_verbose(int mode) { verbosity = mode; }
--- a/lib/irccd/log.h Wed Feb 03 20:05:00 2021 +0100 +++ b/lib/irccd/log.h Wed Feb 03 15:03:12 2021 +0100 @@ -19,8 +19,6 @@ #ifndef IRCCD_LOG_H #define IRCCD_LOG_H -#include <stdbool.h> - void irc_log_to_syslog(void); @@ -34,7 +32,7 @@ irc_log_to_null(void); void -irc_log_set_verbose(bool); +irc_log_set_verbose(int); void irc_log_info(const char *, ...);
--- a/lib/irccd/plugin.h Wed Feb 03 20:05:00 2021 +0100 +++ b/lib/irccd/plugin.h Wed Feb 03 15:03:12 2021 +0100 @@ -20,7 +20,6 @@ #define IRCCD_PLUGIN_H #include <sys/queue.h> -#include <stdbool.h> #include "limits.h"
--- a/lib/irccd/rule.c Wed Feb 03 20:05:00 2021 +0100 +++ b/lib/irccd/rule.c Wed Feb 03 15:03:12 2021 +0100 @@ -50,16 +50,16 @@ return NULL; } -static bool +static int match(const char *str, const char *value) { size_t len; const char *p; if (!str[0]) - return true; + return 1; if (!value || (len = strlen(value)) == 0 || !(p = find(str, value))) - return false; + return 0; /* * Consider the following scenario: @@ -87,25 +87,25 @@ return r; } -bool +int irc_rule_add(char *str, const char *value) { size_t slen, vlen; if (find(str, value)) - return true; + return 0; slen = strlen(str); vlen = strlen(value); if (vlen + 1 >= IRC_RULE_LEN - slen) { errno = ENOMEM; - return false; + return -1; } sprintf(&str[slen], "%s:", value); - return true; + return 0; } void @@ -123,7 +123,7 @@ memmove(&pos[0], &pos[vlen], IRC_RULE_LEN - (&pos[vlen] - str)); } -bool +int irc_rule_match(const struct irc_rule *rule, const char *server, const char *channel, @@ -138,7 +138,7 @@ match(rule->events, event); } -bool +int irc_rule_matchlist(const struct irc_rule_list *rules, const char *server, const char *channel, @@ -146,7 +146,7 @@ const char *plugin, const char *event) { - bool result = true; + int result = 1; struct irc_rule *r; TAILQ_FOREACH(r, rules, link)
--- a/lib/irccd/rule.h Wed Feb 03 20:05:00 2021 +0100 +++ b/lib/irccd/rule.h Wed Feb 03 15:03:12 2021 +0100 @@ -20,8 +20,6 @@ #define IRCCD_RULE_H #include <sys/queue.h> -#include <stdbool.h> -#include <stddef.h> #include "limits.h" @@ -45,13 +43,13 @@ struct irc_rule * irc_rule_new(enum irc_rule_action); -bool +int irc_rule_add(char *, const char *); void irc_rule_remove(char *, const char *); -bool +int irc_rule_match(const struct irc_rule *, const char *, const char *, @@ -59,7 +57,7 @@ const char *, const char *); -bool +int irc_rule_matchlist(const struct irc_rule_list *, const char *, const char *,
--- a/lib/irccd/server.c Wed Feb 03 20:05:00 2021 +0100 +++ b/lib/irccd/server.c Wed Feb 03 15:03:12 2021 +0100 @@ -236,7 +236,7 @@ ev->join.origin = strdup(msg->prefix); ev->join.channel = strdup(msg->args[0]); - add_channel(s, ev->join.channel, NULL, true); + add_channel(s, ev->join.channel, NULL, 1); if (is_self(s, ev->join.origin)) irc_log_info("server %s: joined channel %s", s->name, ev->join.channel); @@ -251,7 +251,7 @@ ev->kick.target = strdup(msg->args[1]); ev->kick.reason = msg->args[2] ? strdup(msg->args[2]) : NULL; - struct irc_channel *ch = add_channel(s, ev->kick.channel, NULL, true); + struct irc_channel *ch = add_channel(s, ev->kick.channel, NULL, 1); /* * If the bot was kicked itself mark the channel as not joined and @@ -297,7 +297,7 @@ ev->part.channel = strdup(msg->args[0]); ev->part.reason = msg->args[1] ? strdup(msg->args[1]) : NULL; - ch = add_channel(s, ev->part.channel, NULL, true); + ch = add_channel(s, ev->part.channel, NULL, 1); if (is_self(s, ev->part.origin) == 0) { remove_channel(ch); @@ -386,7 +386,7 @@ struct irc_channel *ch; char *p, *token; - ch = add_channel(s, msg->args[2], NULL, true); + ch = add_channel(s, msg->args[2], NULL, 1); /* Track existing nicknames into the given channel. */ for (p = msg->args[3]; (token = strtok_r(p, " ", &p)); ) @@ -597,7 +597,7 @@ irc_conn_disconnect(&s->conn); - clear_channels(s, false); + clear_channels(s, 0); clear_server(s); } @@ -706,7 +706,7 @@ assert(name); struct irc_channel *ch; - bool ret = true; + int ret = 1; /* * Search if there is already a channel pending or joined. If the @@ -898,7 +898,7 @@ assert(s->refc >= 1); if (--s->refc == 0) { - clear_channels(s, true); + clear_channels(s, 1); free(s); } }
--- a/lib/irccd/subst.c Wed Feb 03 20:05:00 2021 +0100 +++ b/lib/irccd/subst.c Wed Feb 03 15:03:12 2021 +0100 @@ -18,7 +18,7 @@ #include <assert.h> #include <errno.h> -#include <stdbool.h> +#include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -103,41 +103,39 @@ { NULL, NULL } }; -static inline bool +static inline int is_reserved(char token) { return token == '#' || token == '@' || token == '$' || token == '!'; } -static inline bool +static inline int scat(char **out, size_t *outsz, const char *value) { size_t written; - if ((written = strlcpy(*out, value, *outsz)) >= *outsz) { - errno = ENOMEM; - return false; - } + if ((written = strlcpy(*out, value, *outsz)) >= *outsz) + return errno = ENOMEM, -1; *out += written; *outsz -= written; - return true; + return 0; } -static inline bool +static inline int ccat(char **out, size_t *outsz, char c) { if (*outsz == 0) - return false; + return -1; *(*out)++ = c; *(outsz) -= 1; - return true; + return 0; } -static inline void +static void attributes_parse(const char *key, struct attributes *attrs) { char attributes[64] = {0}; @@ -170,25 +168,25 @@ return NULL; } -static bool +static int subst_date(char *out, size_t outsz, const char *input, const struct irc_subst *subst) { struct tm *tm; if (!(subst->flags & IRC_SUBST_DATE)) - return true; + return 0; tm = localtime(&subst->time); if (strftime(out, outsz, input, tm) == 0) { errno = ENOMEM; - return false; + return -1; } - return true; + return 0; } -static bool +static int subst_keyword(const char *key, char **out, size_t *outsz, const struct irc_subst *subst) { const char *value = NULL; @@ -201,23 +199,23 @@ } if (!value) - return true; + return 0; return scat(out, outsz, value); } -static bool +static int subst_env(const char *key, char **out, size_t *outsz) { const char *value; if (!(value = getenv(key))) - return true; + return 0; return scat(out, outsz, value); } -static bool +static void subst_shell(const char *key, char **out, size_t *outsz) { FILE *fp; @@ -225,7 +223,7 @@ /* Accept silently. */ if (!(fp = popen(key, "r"))) - return true; + return; /* * Since we cannot determine the number of bytes that must be read, read until the end of @@ -245,11 +243,9 @@ } pclose(fp); - - return true; } -static bool +static int subst_irc_attrs(const char *key, char **out, size_t *outsz) { const char *value; @@ -261,31 +257,31 @@ attributes_parse(key, &attrs); if (attrs.fg[0] || attrs.attrs[0]) { - if (!ccat(out, outsz, '\x03')) - return false; + if (ccat(out, outsz, '\x03') < 0) + return -1; /* Foreground. */ - if ((value = find(irc_colors, attrs.fg)) && !scat(out, outsz, value)) - return false; + if ((value = find(irc_colors, attrs.fg)) && scat(out, outsz, value) < 0) + return -1; /* Background. */ if (attrs.bg[0]) { - if (!ccat(out, outsz, ',')) - return false; - if ((value = find(irc_colors, attrs.bg)) && !scat(out, outsz, value)) - return false; + if (ccat(out, outsz, ',') < 0) + return -1; + if ((value = find(irc_colors, attrs.bg)) && scat(out, outsz, value) < 0) + return -1; } /* Attributes. */ for (size_t i = 0; i < attrs.attrsz; ++i) - if ((value = find(irc_attrs, attrs.attrs[i])) && !scat(out, outsz, value)) - return false; + if ((value = find(irc_attrs, attrs.attrs[i])) && scat(out, outsz, value) < 0) + return -1; } - return true; + return 0; } -static bool +static int subst_shell_attrs(char *key, char **out, size_t *outsz) { const char *value; @@ -297,67 +293,63 @@ attributes_parse(key, &attrs); - if (!scat(out, outsz, "\033[")) - return false; + if (scat(out, outsz, "\033[") < 0) + return -1; /* Attributes first. */ for (size_t i = 0; i < attrs.attrsz; ++i) { - if ((value = find(shell_attrs, attrs.attrs[i])) && !scat(out, outsz, value)) - return false; + if ((value = find(shell_attrs, attrs.attrs[i])) && scat(out, outsz, value) < 0) + return -1; /* Need to append ; if we have still more attributes or colors next. */ - if ((i < attrs.attrsz || attrs.fg[0] || attrs.bg[0]) && !ccat(out, outsz, ';')) - return false; + if ((i < attrs.attrsz || attrs.fg[0] || attrs.bg[0]) && ccat(out, outsz, ';') < 0) + return -1; } /* Foreground. */ if (attrs.fg[0]) { - if ((value = find(shell_fg, attrs.fg)) && !scat(out, outsz, value)) - return false; - if (attrs.bg[0] && !ccat(out, outsz, ';')) - return false; + if ((value = find(shell_fg, attrs.fg)) && scat(out, outsz, value) < 0) + return -1; + if (attrs.bg[0] && ccat(out, outsz, ';') < 0) + return -1; } /* Background. */ if (attrs.bg[0]) { - if ((value = find(shell_bg, attrs.bg)) && !scat(out, outsz, value)) - return false; + if ((value = find(shell_bg, attrs.bg)) && scat(out, outsz, value) < 0) + return -1; } return ccat(out, outsz, 'm'); } -static bool +static int subst_default(const char **p, char **out, size_t *outsz, const char *key) { - return ccat(out, outsz, (*p)[-2]) && - ccat(out, outsz, '{') && - scat(out, outsz, key) && - ccat(out, outsz, '}'); + return ccat(out, outsz, (*p)[-2]) == 0 && + ccat(out, outsz, '{') == 0 && + scat(out, outsz, key) == 0 && + ccat(out, outsz, '}') == 0; } -static bool +static int substitute(const char **p, char **out, size_t *outsz, const struct irc_subst *subst) { char key[64] = {0}; size_t keysz; char *end; - bool replaced = true; + int replaced = 1; if (!**p) - return true; + return 0; /* Find end of construction. */ - if (!(end = strchr(*p, '}'))) { - errno = EINVAL; - return false; - } + if (!(end = strchr(*p, '}'))) + return errno = EINVAL, -1; /* Copy key. */ - if ((keysz = end - *p) >= sizeof (key)) { - errno = ENOMEM; - return false; - } + if ((keysz = end - *p) >= sizeof (key)) + return errno = ENOMEM, -1; memcpy(key, *p, keysz); @@ -365,50 +357,49 @@ case '@': /* attributes */ if (subst->flags & IRC_SUBST_IRC_ATTRS) { - if (!subst_irc_attrs(key, out, outsz)) - return false; + if (subst_irc_attrs(key, out, outsz) < 0) + return -1; } else if (subst->flags & IRC_SUBST_SHELL_ATTRS) { - if (!subst_shell_attrs(key, out, outsz)) - return false; + if (subst_shell_attrs(key, out, outsz) < 0) + return -1; } else - replaced = false; + replaced = 0; break; case '#': /* keyword */ if (subst->flags & IRC_SUBST_KEYWORDS) { - if (!subst_keyword(key, out, outsz, subst)) - return false; + if (subst_keyword(key, out, outsz, subst) < 0) + return -1; } else - replaced = false; + replaced = 0; break; case '$': /* environment variable */ if (subst->flags & IRC_SUBST_ENV) { - if (!subst_env(key, out, outsz)) - return false; + if (subst_env(key, out, outsz) < 0) + return -1; } else - replaced = false; + replaced = 0; break; case '!': /* shell */ - if (subst->flags & IRC_SUBST_SHELL) { - if (!subst_shell(key, out, outsz)) - return false; - } else - replaced = false; + if (subst->flags & IRC_SUBST_SHELL) + subst_shell(key, out, outsz); + else + replaced = 0; break; default: break; } /* If substitution was disabled, put the token verbatim. */ - if (!replaced && !subst_default(p, out, outsz, key)) - return false; + if (!replaced && subst_default(p, out, outsz, key) < 0) + return -1; /* Move after '}' */ *p = end + 1; - return true; + return 0; } ssize_t @@ -420,10 +411,10 @@ char *o = out; if (!outsz) - return true; + return 0; /* Always start with the date first. */ - if (!subst_date(out, outsz, input, subst)) + if (subst_date(out, outsz, input, subst) < 0) goto err; for (const char *i = input; *i && outsz; ) { @@ -436,7 +427,7 @@ * "abc #" -> keyword sequence interrupted, kept as-is. */ if (!is_reserved(*i)) { - if (!ccat(&o, &outsz, *i++)) + if (ccat(&o, &outsz, *i++) < 0) goto err; continue; } @@ -459,12 +450,12 @@ /* Skip '{'. */ ++i; - if (!substitute(&i, &o, &outsz, subst)) + if (substitute(&i, &o, &outsz, subst) < 0) goto err; } else { if (*i == i[-1]) ++i; - if (!ccat(&o, &outsz, i[-1])) + if (ccat(&o, &outsz, i[-1]) < 0) goto err; } }
--- a/tests/test-channel.c Wed Feb 03 20:05:00 2021 +0100 +++ b/tests/test-channel.c Wed Feb 03 15:03:12 2021 +0100 @@ -27,7 +27,7 @@ struct irc_channel *ch; struct irc_channel_user *user; - ch = irc_channel_new("#test", NULL, true); + ch = irc_channel_new("#test", NULL, 1); GREATEST_ASSERT_STR_EQ("#test", ch->name); GREATEST_ASSERT_STR_EQ("", ch->password); GREATEST_ASSERT(ch->joined); @@ -79,7 +79,7 @@ struct irc_channel *ch; struct irc_channel_user *user; - ch = irc_channel_new("#test", NULL, true); + ch = irc_channel_new("#test", NULL, 1); irc_channel_add(ch, "markand", 'o', '@'); irc_channel_add(ch, "jean", 0, 0); @@ -115,7 +115,7 @@ struct irc_channel *ch; struct irc_channel_user *user; - ch = irc_channel_new("#test", NULL, true); + ch = irc_channel_new("#test", NULL, 1); irc_channel_add(ch, "markand", 'o', '@'); irc_channel_add(ch, "jean", 0, 0);
--- a/tests/test-log.c Wed Feb 03 20:05:00 2021 +0100 +++ b/tests/test-log.c Wed Feb 03 15:03:12 2021 +0100 @@ -38,18 +38,17 @@ GREATEST_TEST basics_info_verbose_off(void) { - FILE *fpout, *fperr; + FILE *fpout; char out[128] = {0}, err[128] = {0}; /* Default is quiet, should not log. */ - irc_log_to_files("stdout.txt", "stderr.txt"); + irc_log_to_file("stdout.txt"); irc_log_info("hello world!"); - if (!(fpout = fopen("stdout.txt", "r")) || !(fperr = fopen("stderr.txt", "r"))) + if (!(fpout = fopen("stdout.txt", "r"))) GREATEST_FAIL(); fgets(out, sizeof (out), fpout); - fgets(err, sizeof (err), fperr); GREATEST_ASSERT_STR_EQ("", out); GREATEST_ASSERT_STR_EQ("", err); @@ -60,15 +59,15 @@ GREATEST_TEST basics_info_verbose_on(void) { - FILE *fpout, *fperr; - char out[128] = {0}, err[128] = {0}; + FILE *fpout; + char out[128] = {0}; - irc_log_set_verbose(true); - irc_log_to_files("stdout.txt", "stderr.txt"); + irc_log_set_verbose(1); + irc_log_to_file("stdout.txt"); irc_log_info("hello world!"); irc_log_info("what's up?"); - if (!(fpout = fopen("stdout.txt", "r")) || !(fperr = fopen("stderr.txt", "r"))) + if (!(fpout = fopen("stdout.txt", "r"))) GREATEST_FAIL(); GREATEST_ASSERT(fgets(out, sizeof (out), fpout)); @@ -76,10 +75,6 @@ GREATEST_ASSERT(fgets(out, sizeof (out), fpout)); GREATEST_ASSERT_STR_EQ("what's up?\n", out); - GREATEST_ASSERT(!fgets(err, sizeof (err), fperr)); - GREATEST_ASSERT_STR_EQ("", err); - GREATEST_ASSERT(!fgets(err, sizeof (err), fperr)); - GREATEST_ASSERT_STR_EQ("", err); GREATEST_PASS(); } @@ -87,27 +82,23 @@ GREATEST_TEST basics_warn(void) { - FILE *fpout, *fperr; - char out[128] = {0}, err[128] = {0}; + FILE *fpout; + char out[128] = {0}; /* Warning messages are printed even without verbosity. */ - irc_log_set_verbose(false); - irc_log_to_files("stdout.txt", "stderr.txt"); + irc_log_set_verbose(0); + irc_log_to_file("stdout.txt"); + irc_log_info("this is not printed"); irc_log_warn("error line 1"); irc_log_warn("error line 2"); - if (!(fpout = fopen("stdout.txt", "r")) || !(fperr = fopen("stderr.txt", "r"))) + if (!(fpout = fopen("stdout.txt", "r"))) GREATEST_FAIL(); - GREATEST_ASSERT(!fgets(out, sizeof (out), fpout)); - GREATEST_ASSERT_STR_EQ("", out); - GREATEST_ASSERT(!fgets(out, sizeof (out), fpout)); - GREATEST_ASSERT_STR_EQ("", out); - - GREATEST_ASSERT(fgets(err, sizeof (err), fperr)); - GREATEST_ASSERT_STR_EQ("error line 1\n", err); - GREATEST_ASSERT(fgets(err, sizeof (err), fperr)); - GREATEST_ASSERT_STR_EQ("error line 2\n", err); + GREATEST_ASSERT(fgets(out, sizeof (out), fpout)); + GREATEST_ASSERT_STR_EQ("error line 1\n", out); + GREATEST_ASSERT(fgets(out, sizeof (out), fpout)); + GREATEST_ASSERT_STR_EQ("error line 2\n", out); GREATEST_PASS(); } @@ -116,27 +107,22 @@ basics_debug(void) { #if !defined(NDEBUG) - FILE *fpout, *fperr; - char out[128] = {0}, err[128] = {0}; + FILE *fpout; + char out[128] = {0}; /* Debug messages are printed even without verbosity but requires to be built in debug. */ - irc_log_set_verbose(false); - irc_log_to_files("stdout.txt", "stderr.txt"); + irc_log_set_verbose(0); + irc_log_to_file("stdout.txt"); irc_log_debug("startup!"); irc_log_debug("shutdown!"); - if (!(fpout = fopen("stdout.txt", "r")) || !(fperr = fopen("stderr.txt", "r"))) + if (!(fpout = fopen("stdout.txt", "r"))) GREATEST_FAIL(); GREATEST_ASSERT(fgets(out, sizeof (out), fpout)); GREATEST_ASSERT_STR_EQ("startup!\n", out); GREATEST_ASSERT(fgets(out, sizeof (out), fpout)); GREATEST_ASSERT_STR_EQ("shutdown!\n", out); - - GREATEST_ASSERT(!fgets(err, sizeof (err), fperr)); - GREATEST_ASSERT_STR_EQ("", err); - GREATEST_ASSERT(!fgets(err, sizeof (err), fperr)); - GREATEST_ASSERT_STR_EQ("", err); #endif GREATEST_PASS(); }