X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fmain.c;h=d5dd4767f4b00d3fa3eaae4c085b135ee4e11f31;hb=acba6096e783dacf2dece38fbb625e403c91392b;hp=170db95cfb4c610c109fa27da268fe63fdeca564;hpb=6dfdd3119d7bb7eb8164fd7d2e5178becbb0b888;p=ppp.git diff --git a/pppd/main.c b/pppd/main.c index 170db95..d5dd476 100644 --- a/pppd/main.c +++ b/pppd/main.c @@ -18,7 +18,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: main.c,v 1.35 1996/08/28 06:41:16 paulus Exp $"; +static char rcsid[] = "$Id: main.c,v 1.37 1996/09/26 06:21:59 paulus Exp $"; #endif #include @@ -120,7 +120,7 @@ extern char *getlogin __P((void)); #define O_NONBLOCK O_NDELAY #endif -#ifdef PRIMITIVE_SYSLOG +#ifdef ULTRIX #define setlogmask(x) #endif @@ -163,7 +163,7 @@ main(argc, argv) strcpy(default_devnam, devnam); /* Initialize syslog facilities */ -#ifdef PRIMITIVE_SYSLOG +#ifdef ULTRIX openlog("pppd", LOG_PID); #else openlog("pppd", LOG_PID | LOG_NDELAY, LOG_PPP); @@ -515,14 +515,9 @@ main(argc, argv) * real serial device back to its normal mode of operation. */ clean_check(); -#ifdef _linux_ - disestablish_ppp(ttyfd); -#endif if (demand) restore_loop(); -#ifndef _linux_ disestablish_ppp(ttyfd); -#endif /* * Run disconnector script, if requested. @@ -1317,7 +1312,11 @@ fmtmsg __V((char *buf, int buflen, char *fmt, ...)) #define OUTCHAR(c) (buflen > 0? (--buflen, *buf++ = (c)): 0) int -vfmtmsg(char *buf, int buflen, char *fmt, va_list args) +vfmtmsg(buf, buflen, fmt, args) + char *buf; + int buflen; + char *fmt; + va_list args; { int c, i, n; int width, prec, fillch; @@ -1325,10 +1324,10 @@ vfmtmsg(char *buf, int buflen, char *fmt, va_list args) unsigned long val; char *str, *f, *buf0; unsigned char *p; - va_list a; + void *a; char num[32]; time_t t; - static char hexchars[16] = "0123456789abcdef"; + static char hexchars[] = "0123456789abcdef"; buf0 = buf; --buflen; @@ -1417,7 +1416,11 @@ vfmtmsg(char *buf, int buflen, char *fmt, va_list args) break; case 'r': f = va_arg(args, char *); - a = va_arg(args, va_list); + /* + * XXX We assume a va_list is either a pointer or an array, so + * what gets passed for a va_list is like a void * in some sense. + */ + a = va_arg(args, void *); n = vfmtmsg(buf, buflen + 1, f, a); buf += n; buflen -= n;