summaryrefslogtreecommitdiff
path: root/src/misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/misc.c')
-rw-r--r--src/misc.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/misc.c b/src/misc.c
index 0dd8f50..0632d3e 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -385,25 +385,27 @@ int htoi (str)
/* lerrif - report an error message formatted with one integer argument */
-void lerrif (msg, arg)
- const char *msg;
- int arg;
-{
+void lerrif (const char *msg, ...) {
char errmsg[MAXLINE];
+ va_list args;
- snprintf (errmsg, sizeof(errmsg), msg, arg);
+ va_start(args, msg);
+ vsnprintf (errmsg, sizeof(errmsg), msg, args);
+ va_end(args);
flexerror (errmsg);
}
/* lerrsf - report an error message formatted with one string argument */
-void lerrsf (msg, arg)
- const char *msg, arg[];
+void lerrsf (const char *msg, ...)
{
char errmsg[MAXLINE];
+ va_list args;
- snprintf (errmsg, sizeof(errmsg)-1, msg, arg);
+ va_start(args, msg);
+ vsnprintf (errmsg, sizeof(errmsg)-1, msg, args);
+ va_end(args);
errmsg[sizeof(errmsg)-1] = 0; /* ensure NULL termination */
flexerror (errmsg);
}
@@ -411,12 +413,14 @@ void lerrsf (msg, arg)
/* lerrsf_fatal - as lerrsf, but call flexfatal */
-void lerrsf_fatal (msg, arg)
- const char *msg, arg[];
+void lerrsf_fatal (const char *msg, ...)
{
char errmsg[MAXLINE];
+ va_list args;
+ va_start(args, msg);
- snprintf (errmsg, sizeof(errmsg)-1, msg, arg);
+ vsnprintf (errmsg, sizeof(errmsg)-1, msg, args);
+ va_end(args);
errmsg[sizeof(errmsg)-1] = 0; /* ensure NULL termination */
flexfatal (errmsg);
}