X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Futils%2Fcommon%2Fcommon.c;h=2711c9ddf2cf517e7c97c85f7920b3530551e36f;hp=2d961d43f2a6b95499ec80073ceb6a189c089541;hb=1b5a6b8698a4c42f2024b49099acb510fc4bc529;hpb=bf1c2612bc0405c895f754ebfbb24484122c7cfa diff --git a/src/utils/common/common.c b/src/utils/common/common.c index 2d961d43..2711c9dd 100644 --- a/src/utils/common/common.c +++ b/src/utils/common/common.c @@ -89,8 +89,7 @@ char *sstrncpy(char *dest, const char *src, size_t n) { return dest; } /* char *sstrncpy */ -/* ssnprintf returns zero on success, one if truncation occurred - and a negative integer onerror. */ +/* ssnprintf returns result from vsnprintf conistent with snprintf */ int ssnprintf(char *str, size_t sz, const char *format, ...) { va_list ap; va_start(ap, format); @@ -99,11 +98,24 @@ int ssnprintf(char *str, size_t sz, const char *format, ...) { va_end(ap); + return ret; +} /* int ssnprintf */ + +/* ssnprintf2 returns zero on success, one if truncation occurred + and a negative integer on error. */ +int ssnprintf2(char *str, size_t sz, const char *format, ...) { + va_list ap; + va_start(ap, format); + + int ret = vsnprintf(str, sz, format, ap); + + va_end(ap); + if (ret < 0) { return ret; } return (size_t)ret >= sz; -} /* int ssnprintf */ +} /* int ssnprintf2 */ char *ssnprintf_alloc(char const *format, ...) /* {{{ */ {