From 4f6a3c9aae633ad58339c98548ae609a4a1e63e9 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sun, 25 Aug 2013 09:51:39 +0200 Subject: [PATCH] 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 --- src/lib/subs/actofgod.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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; } -- 2.43.0