From f55e89823f7335fb0358131faebd21ded116bb4c Mon Sep 17 00:00:00 2001 From: George Koehler Date: Fri, 7 Sep 2012 16:28:10 -0400 Subject: [PATCH] Fix more functions in util/ack for 64-bit hosts. This continues the fix from the previous changeset. We must use va_list to forward the arguments, because some of the arguments might be 64-bit pointers. A pointer does not fit in an int. --- util/ack/util.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/util/ack/util.c b/util/ack/util.c index 9fc363221..de2a3b52d 100644 --- a/util/ack/util.c +++ b/util/ack/util.c @@ -117,30 +117,38 @@ prns(s) register char *s ; { #endif /* VARARGS1 */ -fuerror(fmt,p1,p2,p3,p4,p5,p6,p7) char *fmt ; { +void fuerror(const char *fmt, ...) { /* Fatal user error */ + va_list ap; + va_start(ap, fmt); fprintf(STDOUT,"%s: ",progname) ; - fprintf(STDOUT,fmt,p1,p2,p3,p4,p5,p6,p7); + vfprintf(STDOUT, fmt, ap); fprintf(STDOUT,"\n") ; quit(-1) ; } /* VARARGS1 */ -werror(fmt,p1,p2,p3,p4,p5,p6,p7) char *fmt ; { +void werror(const char *fmt, ...) { /* Warning user error, w_flag */ + va_list ap; if ( w_flag ) return ; + va_start(ap, fmt); fprintf(STDOUT,"%s: warning, ",progname) ; - fprintf(STDOUT,fmt,p1,p2,p3,p4,p5,p6,p7); + vfprintf(STDOUT, fmt, ap); fprintf(STDOUT,"\n") ; + va_end(ap); } /* VARARGS1 */ -error(fmt,p1,p2,p3,p4,p5,p6,p7) char *fmt ; { +void error(const char *fmt, ...) { /* User error, it is the callers responsibility to quit */ + va_list ap; + va_start(ap, fmt); fprintf(STDOUT,"%s: ",progname) ; - fprintf(STDOUT,fmt,p1,p2,p3,p4,p5,p6,p7); + vfprintf(STDOUT, fmt, ap); fprintf(STDOUT,"\n") ; n_error++ ; + va_end(ap); } do_flush() { -- 2.34.1