--- common/argus_util.c Thu Apr 6 16:24:09 2000 +++ common/argus_util.c Fri Jul 13 19:03:29 2007 @@ -58,7 +58,11 @@ #include #include +#if defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ > 2 || __GNUC__ >= 4) +#include +#else #include +#endif #include #include #ifdef HAVE_SOLARIS @@ -1051,7 +1055,6 @@ return(0); } - #ifdef NOVFPRINTF /* * Stock 4.3 doesn't have vfprintf. @@ -1075,23 +1078,60 @@ } #endif +#if defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ > 2 || __GNUC__ >= 4) +void +error(char *fmt, ...) +{ + va_list ap; + + (void)fprintf(stderr, "connect: "); + + va_start(ap, fmt); + (void)vfprintf(stderr, fmt, ap); + va_end(ap); + if (*fmt) { + fmt += strlen(fmt); + if (fmt[-1] != '\n') + (void)fputc('\n', stderr); + } + exit(1); + /* NOTREACHED */ +} + /* VARARGS */ void -error(va_alist) +warning(char *fmt, ...) +{ + va_list ap; + + (void)fprintf(stderr, "connect: warning: "); + + va_start(ap, fmt); + (void)vfprintf(stderr, fmt, ap); + va_end(ap); + if (*fmt) { + fmt += strlen(fmt); + if (fmt[-1] != '\n') + (void)fputc('\n', stderr); + } +} +#else +/* VARARGS */ +void +error(fmt, va_alist) +char *fmt; va_dcl { - char *cp; va_list ap; (void)fprintf(stderr, "connect: "); va_start(ap); - cp = va_arg(ap, char *); - (void)vfprintf(stderr, cp, ap); + (void)vfprintf(stderr, fmt, ap); va_end(ap); - if (*cp) { - cp += strlen(cp); - if (cp[-1] != '\n') + if (*fmt) { + fmt += strlen(fmt); + if (fmt[-1] != '\n') (void)fputc('\n', stderr); } exit(1); @@ -1100,24 +1140,24 @@ /* VARARGS */ void -warning(va_alist) +warning(fmt, va_alist) +char *fmt; va_dcl { - char *cp; va_list ap; (void)fprintf(stderr, "connect: warning: "); va_start(ap); - cp = va_arg(ap, char *); - (void)vfprintf(stderr, cp, ap); + (void)vfprintf(stderr, fmt, ap); va_end(ap); - if (*cp) { - cp += strlen(cp); - if (cp[-1] != '\n') + if (*fmt) { + fmt += strlen(fmt); + if (fmt[-1] != '\n') (void)fputc('\n', stderr); } } +#endif /* A replacement for strdup() that cuts down on malloc() overhead */ char * @@ -1551,8 +1591,10 @@ argus_strerror(int errnum) { #ifndef HAVE_SYS_ERRLIST +#if defined(_ANSI_SOURCE) || defined(_POSIX_SOURCE) extern int sys_nerr; extern char *sys_errlist[]; +#endif if ((unsigned int)errnum < sys_nerr) return ((char *) sys_errlist[errnum]); --- server/cons_ip.c Thu Apr 15 20:15:00 1999 +++ server/cons_ip.c Fri Jul 13 13:56:09 2007 @@ -454,10 +454,10 @@ #include #include - +#if defined(_ANSI_SOURCE) || defined(_POSIX_SOURCE) extern int sys_nerr; extern int errno; - +#endif extern int clienttags; extern int clients[]; --- server/cons_sockets.c Wed Apr 5 23:51:34 2000 +++ server/cons_sockets.c Fri Jul 13 13:56:55 2007 @@ -64,10 +64,10 @@ #include #include #include - +#if defined(_ANSI_SOURCE) || defined(_POSIX_SOURCE) extern int sys_nerr; extern int errno; - +#endif #include #include #include --- server/argus_util.c Wed Apr 5 23:55:07 2000 +++ server/argus_util.c Fri Jul 13 15:36:42 2007 @@ -73,8 +73,9 @@ #include #include - +#if ! __GNUC__ #include +#endif #include extern fd_set readmask, writemask, exceptmask; @@ -842,9 +843,26 @@ ws->ws_init.now.tv_usec = tvp->tv_usec; } +#if defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ > 2 || __GNUC__ >= 4) +#include +void +aerror (char *fmt, ...) +{ + va_list ap; + (void) fprintf (stderr, "%s: ", program_name); + va_start (ap, fmt); + (void) vfprintf (stderr, fmt, ap); + va_end (ap); + if (*fmt) { + fmt += (int) strlen (fmt); + if (fmt[-1] != '\n') + (void) fputc ('\n', stderr); + } + exit (1); +} +#else #include - void aerror (fmt, va_alist) char *fmt; @@ -863,4 +881,4 @@ } exit (1); } - +#endif --- include/argus.h Thu Apr 15 20:15:00 1999 +++ include/argus.h Fri Jul 13 17:46:33 2007 @@ -66,7 +66,11 @@ void update_queue_status (); char *copy_argv (); char *read_infile (); +#if defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ > 2 || __GNUC__ >= 4) +void aerror (char *fmt, ...); +#else void aerror (); +#endif void bpf_dump (); void cons_ether_init (); --- server/tcp_wrapper.c.orig Thu Apr 15 20:15:00 1999 +++ server/tcp_wrapper.c Fri Jul 13 19:08:24 2007 @@ -136,4 +136,4 @@ return (retn); } -#endif TCPWRAPPER +#endif /* TCPWRAPPER */