X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fsnprintf.c;h=667ed9462556311d63b256513d9440cf1aa8af54;hb=68126b9700a6cefbfe0f578fa7dbe71829c52e8f;hp=92c265289a3730865150acb7c9781092b9f555cf;hpb=edafda534244e3760000faf7a088af872d146325;p=gnulib.git diff --git a/lib/snprintf.c b/lib/snprintf.c index 92c265289..667ed9462 100644 --- a/lib/snprintf.c +++ b/lib/snprintf.c @@ -20,21 +20,14 @@ # include #endif -/* Specification. */ #include "snprintf.h" -/* Get va_list, va_start, va_end. */ #include -/* Get free. */ #include -/* Get memcpy, size_t. */ #include -/* Get vasnprintf. */ -#include "vasnprintf.h" - -/* Get MIN. */ #include "minmax.h" +#include "vasnprintf.h" /* Print formatted output to string STR. Similar to sprintf, but additional length SIZE limit how much is written into STR. Returns @@ -55,7 +48,7 @@ snprintf (char *str, size_t size, const char *format, ...) if (!output) return -1; - if (str) + if (str && size > 0) { memcpy (str, output, MIN (len + 1, size)); str[size - 1] = '\0';