]> granicus.if.org Git - nethack/commitdiff
more vsnprintf
authornhmall <nhmall@nethack.org>
Tue, 21 Jan 2020 00:22:18 +0000 (19:22 -0500)
committernhmall <nhmall@nethack.org>
Tue, 21 Jan 2020 00:22:18 +0000 (19:22 -0500)
src/pline.c
sys/winnt/nttty.c

index 19cafd37213c244b1cbf4188407e7e00c46a9737..24bdea21181291d9340f106ef62603349efeaf4c 100644 (file)
@@ -145,8 +145,8 @@ VA_DECL(const char *, line)
         vlen = vsnprintf(pbuf, sizeof pbuf, line, VA_ARGS);
 #if (NH_DEVEL_STATUS != NH_STATUS_RELEASED) && defined(DEBUG)
         if (vlen >= (int) sizeof pbuf)
-            panic("pline", "truncation of buffer at %zu of %d bytes",
-                  sizeof pbuf, vlen);
+            panic("%s: truncation of buffer at %zu of %d bytes",
+                  "pline", sizeof pbuf, vlen);
 #endif
 #else
         Vsprintf(pbuf, line, VA_ARGS);
@@ -459,20 +459,12 @@ void raw_printf
 VA_DECL(const char *, line)
 #endif
 {
-#if !defined(NO_VSNPRINTF)
-    int vlen = 0;
-#endif
     char pbuf[BIGBUFSZ]; /* will be chopped down to BUFSZ-1 if longer */
     /* Do NOT use VA_START and VA_END in here... see above */
 
     if (index(line, '%')) {
 #if !defined(NO_VSNPRINTF)
-        vlen = vsnprintf(pbuf, sizeof pbuf, line, VA_ARGS);
-#if (NH_DEVEL_STATUS != NH_STATUS_RELEASED) && defined(DEBUG)
-        if (vlen >= (int) sizeof pbuf)
-            panic("raw_printf", "truncation of buffer at %zu of %d bytes",
-                  sizeof pbuf, vlen);
-#endif
+        (void) vsnprintf(pbuf, sizeof pbuf, line, VA_ARGS);
 #else
         Vsprintf(pbuf, line, VA_ARGS);
 #endif
@@ -497,9 +489,6 @@ VA_DECL(const char *, line)
 void impossible
 VA_DECL(const char *, s)
 {
-#if !defined(NO_VSNPRINTF)
-    int vlen = 0;
-#endif
     char pbuf[BIGBUFSZ]; /* will be chopped down to BUFSZ-1 if longer */
 
     VA_START(s);
@@ -509,12 +498,7 @@ VA_DECL(const char *, s)
 
     program_state.in_impossible = 1;
 #if !defined(NO_VSNPRINTF)
-    vlen = vsnprintf(pbuf, sizeof pbuf, s, VA_ARGS);
-#if (NH_DEVEL_STATUS != NH_STATUS_RELEASED) && defined(DEBUG)
-    if (vlen >= (int) sizeof pbuf)
-        panic("impossible", "truncation of buffer at %zu of %d bytes",
-              sizeof pbuf, vlen);
-#endif
+    (void) vsnprintf(pbuf, sizeof pbuf, s, VA_ARGS);
 #else
     Vsprintf(pbuf, s, VA_ARGS);
 #endif
@@ -619,8 +603,8 @@ VA_DECL(const char *, str)
     vlen = vsnprintf(buf, sizeof buf, str, VA_ARGS);
 #if (NH_DEVEL_STATUS != NH_STATUS_RELEASED) && defined(DEBUG)
     if (vlen >= (int) sizeof buf)
-        panic("config_error_add", "truncation of buffer at %zu of %d bytes",
-              sizeof buf, vlen);
+        panic("%s: truncation of buffer at %zu of %d bytes",
+              "config_error_add", sizeof buf, vlen);
 #endif
 #else
     Vsprintf(buf, str, VA_ARGS);
index 2760b549365fb26c67812c423a697685e2b34de9..c0c94fb24cb88cf76bd135091562e83ed87542fb 100644 (file)
@@ -1155,7 +1155,7 @@ VA_DECL(const char *, s)
     if (iflags.window_inited)
         end_screen();
     buf[0] = '\n';
-    (void) vsprintf(&buf[1], s, VA_ARGS);
+    (void) vsnprintf(&buf[1], sizeof buf - 1, s, VA_ARGS);
     msmsg(buf);
     really_move_cursor();
     VA_END();
@@ -1973,7 +1973,7 @@ VA_DECL(const char *, fmt)
     char buf[ROWNO * COLNO]; /* worst case scenario */
     VA_START(fmt);
     VA_INIT(fmt, const char *);
-    Vsprintf(buf, fmt, VA_ARGS);
+    (void) vsnprintf(buf, sizeof buf, fmt, VA_ARGS);
     if (redirect_stdout)
         fprintf(stdout, "%s", buf);
     else {