From: Markus Armbruster Date: Sun, 25 Aug 2013 07:51:39 +0000 (+0200) Subject: actofgod: Simplify fmtflags()'s error checking X-Git-Tag: v4.3.32~1 X-Git-Url: http://git.pond.sub.org/?p=empserver;a=commitdiff_plain;h=4f6a3c9aae633ad58339c98548ae609a4a1e63e9 actofgod: Simplify fmtflags()'s error checking Permit finding length by passing no buffer. Not currently used. Oops at most once. Signed-off-by: Markus Armbruster --- diff --git a/src/lib/subs/actofgod.c b/src/lib/subs/actofgod.c index e564eaf09..63a70f635 100644 --- a/src/lib/subs/actofgod.c +++ b/src/lib/subs/actofgod.c @@ -210,7 +210,7 @@ fmtflags (char *buf, size_t sz, int flags, struct symbol symtab[], int all) int n, i; char *p; - if (sz) + if (buf && sz) buf[0] = 0; n = 0; for (i = 0; i < 32; i++) { @@ -221,12 +221,12 @@ fmtflags (char *buf, size_t sz, int flags, struct symbol symtab[], int all) n += snprintf(buf + n, sz - n, "%s%s", sep, p); else if (all) n += snprintf(buf + n, sz - n, "%s#%d", sep, i); - if (CANT_HAPPEN((size_t)n >= sz)) { - buf = NULL; + if ((size_t)n >= sz) sz = n; - } sep = ", "; } + + CANT_HAPPEN((size_t)n >= sz && buf); return n; }