]> granicus.if.org Git - php/commitdiff
-allways terminate buffer
authorMarcus Boerger <helly@php.net>
Sun, 23 Jun 2002 22:02:35 +0000 (22:02 +0000)
committerMarcus Boerger <helly@php.net>
Sun, 23 Jun 2002 22:02:35 +0000 (22:02 +0000)
-allow pbuf parameter to be NULL for buffer size calculation

main/spprintf.c

index 1bda78d1c6f362e6e515a0f6370f5472fe07810e..fcef72b5644dc04a70d0ee994238545dfd3ad2da 100644 (file)
@@ -627,7 +627,10 @@ PHPAPI int vspprintf(char **pbuf, size_t max_len, const char *format, va_list ap
                cc = xbuf_format_converter(&xbuf, format, ap);
                if (xbuf.nextb <= xbuf.buf_end)
                        *(xbuf.nextb) = '\0';
-               *pbuf = xbuf.buf;
+               else if (xbuf.size)
+                       xbuf.buf[xbuf.size-1] = '\0';
+               if (pbuf)
+                       *pbuf = xbuf.buf;
                return cc;
        }
 }