Permit finding length by passing no buffer. Not currently used.
Oops at most once.
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
int n, i;
char *p;
- if (sz)
+ if (buf && sz)
buf[0] = 0;
n = 0;
for (i = 0; i < 32; i++) {
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;
}