From 52cf1450752f1e5b0861ddbdfb0c775b015698ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Fri, 15 May 1998 20:45:37 +0200
Subject: [PATCH] Now uses vsnprintf() if available.

Rev: src/error.c:1.19
Rev: src/program.c:1.90
---
 src/error.c   |  8 ++++++--
 src/program.c | 10 ++++++++--
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/error.c b/src/error.c
index 6e6a963117..c8bd289d70 100644
--- a/src/error.c
+++ b/src/error.c
@@ -16,7 +16,7 @@
 #include "backend.h"
 #include "operators.h"
 
-RCSID("$Id: error.c,v 1.18 1998/04/16 21:30:50 hubbe Exp $");
+RCSID("$Id: error.c,v 1.19 1998/05/15 18:45:37 grubba Exp $");
 
 #undef ATTRIBUTE
 #define ATTRIBUTE(X)
@@ -98,7 +98,7 @@ static const char *in_error;
  */
 void va_error(const char *fmt, va_list args) ATTRIBUTE((noreturn))
 {
-  char buf[2000];
+  char buf[4096];
   if(in_error)
   {
     const char *tmp=in_error;
@@ -108,7 +108,11 @@ void va_error(const char *fmt, va_list args) ATTRIBUTE((noreturn))
 
   in_error=buf;
 
+#ifdef HAVE_VSNPRINTF
+  vsnprintf(bug, 4090, fmt, args);
+#else /* !HAVE_VSNPRINTF */
   VSPRINTF(buf, fmt, args);
+#endif /* HAVE_VSNPRINTF */
 
   if(!recoveries)
   {
diff --git a/src/program.c b/src/program.c
index 70152d3dfc..148ce571ba 100644
--- a/src/program.c
+++ b/src/program.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: program.c,v 1.89 1998/04/29 00:21:13 hubbe Exp $");
+RCSID("$Id: program.c,v 1.90 1998/05/15 18:43:45 grubba Exp $");
 #include "program.h"
 #include "object.h"
 #include "dynamic_buffer.h"
@@ -2114,8 +2114,14 @@ void my_yyerror(char *fmt,...)  ATTRIBUTE((format(printf,1,2)))
 {
   va_list args;
   char buf[8192];
+
   va_start(args,fmt);
-  VSPRINTF(buf,fmt,args);
+
+#ifdef HAVE_VSNPRINTF
+  vsnprintf(buf, 8190, fmt, args);
+#else /* !HAVE_VSNPRINTF */
+  VSPRINTF(buf, fmt, args);
+#endif /* HAVE_VSNPRINTF */
 
   if((long)strlen(buf) >= (long)sizeof(buf))
     fatal("Buffer overflow in my_yyerror.\n");
-- 
GitLab