X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Futils.c;h=f6aa28740c5ad38178ab651df72cd63b7effcd07;hp=0b1292d29df1f1fd258df1fefaea66c79c264ab3;hb=91fe5eefe0e7b0e46b2df9dd1d5b54a545a5b432;hpb=9f0e24d765ca34f9a390352959193922059e59dc diff --git a/pppd/utils.c b/pppd/utils.c index 0b1292d..f6aa287 100644 --- a/pppd/utils.c +++ b/pppd/utils.c @@ -16,9 +16,8 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#ifndef lint -static char rcsid[] = "$Id: utils.c,v 1.4 1999/05/12 06:15:33 paulus Exp $"; -#endif + +#define RCSID "$Id: utils.c,v 1.10 2000/03/27 01:36:48 paulus Exp $" #include #include @@ -41,11 +40,13 @@ static char rcsid[] = "$Id: utils.c,v 1.4 1999/05/12 06:15:33 paulus Exp $"; #include #include #ifdef SVR4 -#include +#include #endif #include "pppd.h" +static const char rcsid[] = RCSID; + #if defined(SUNOS4) extern char *strerror(); #endif @@ -114,7 +115,7 @@ slprintf __V((char *buf, int buflen, char *fmt, ...)) va_list args; int n; -#if __STDC__ +#if defined(__STDC__) va_start(args, fmt); #else char *buf; @@ -171,7 +172,8 @@ vslprintf(buf, buflen, fmt, args) if (*fmt == 0) break; c = *++fmt; - width = prec = 0; + width = 0; + prec = -1; fillch = ' '; if (c == '0') { fillch = '0'; @@ -192,6 +194,7 @@ vslprintf(buf, buflen, fmt, args) prec = va_arg(args, int); c = *++fmt; } else { + prec = 0; while (isdigit(c)) { prec = prec * 10 + c - '0'; c = *++fmt; @@ -265,11 +268,11 @@ vslprintf(buf, buflen, fmt, args) case 'q': /* quoted string */ quoted = c == 'q'; p = va_arg(args, unsigned char *); - if (fillch == '0' && prec > 0) { + if (fillch == '0' && prec >= 0) { n = prec; } else { n = strlen((char *)p); - if (prec > 0 && prec < n) + if (prec >= 0 && n > prec) n = prec; } while (n > 0 && buflen > 0) { @@ -354,7 +357,7 @@ vslprintf(buf, buflen, fmt, args) len = num + sizeof(num) - 1 - str; } else { len = strlen(str); - if (prec > 0 && len > prec) + if (prec >= 0 && len > prec) len = prec; } if (width > 0) { @@ -386,7 +389,7 @@ vslp_printer __V((void *arg, char *fmt, ...)) va_list pvar; struct buffer_info *bi; -#if __STDC__ +#if defined(__STDC__) va_start(pvar, fmt); #else void *arg; @@ -482,7 +485,7 @@ pr_log __V((void *arg, char *fmt, ...)) va_list pvar; char buf[256]; -#if __STDC__ +#if defined(__STDC__) va_start(pvar, fmt); #else void *arg; @@ -552,7 +555,7 @@ logit(level, fmt, args) va_list args; { int n; - char buf[256]; + char buf[1024]; n = vslprintf(buf, sizeof(buf), fmt, args); syslog(level, "%s", buf); @@ -572,7 +575,7 @@ fatal __V((char *fmt, ...)) { va_list pvar; -#if __STDC__ +#if defined(__STDC__) va_start(pvar, fmt); #else char *fmt; @@ -594,7 +597,7 @@ error __V((char *fmt, ...)) { va_list pvar; -#if __STDC__ +#if defined(__STDC__) va_start(pvar, fmt); #else char *fmt; @@ -614,7 +617,7 @@ warn __V((char *fmt, ...)) { va_list pvar; -#if __STDC__ +#if defined(__STDC__) va_start(pvar, fmt); #else char *fmt; @@ -634,7 +637,7 @@ notice __V((char *fmt, ...)) { va_list pvar; -#if __STDC__ +#if defined(__STDC__) va_start(pvar, fmt); #else char *fmt; @@ -654,7 +657,7 @@ info __V((char *fmt, ...)) { va_list pvar; -#if __STDC__ +#if defined(__STDC__) va_start(pvar, fmt); #else char *fmt; @@ -674,7 +677,7 @@ dbglog __V((char *fmt, ...)) { va_list pvar; -#if __STDC__ +#if defined(__STDC__) va_start(pvar, fmt); #else char *fmt;