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