X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;ds=sidebyside;f=pppd%2Futils.c;fp=pppd%2Futils.c;h=f81c8cf7a118470d9bac799561d31af6b740836c;hb=344014dd4126727fa3f3f409a9e4a6ccc6a5e28b;hp=7228279ec000517a07bb15a6342141a77423203d;hpb=ad60737852c22a3c19c379bd94ecc76b80386f4f;p=ppp.git diff --git a/pppd/utils.c b/pppd/utils.c index 7228279..f81c8cf 100644 --- a/pppd/utils.c +++ b/pppd/utils.c @@ -137,6 +137,7 @@ vslprintf(char *buf, int buflen, char *fmt, va_list args) int c, i, n; int width, prec, fillch; int base, len, neg, quoted; + long lval = 0; unsigned long val = 0; char *str, *f, *buf0; unsigned char *p; @@ -202,11 +203,12 @@ vslprintf(char *buf, int buflen, char *fmt, va_list args) c = *fmt++; switch (c) { case 'd': - val = va_arg(args, long); - if (val < 0) { + lval = va_arg(args, long); + if (lval < 0) { neg = 1; - val = -val; - } + val = -lval; + } else + val = lval; base = 10; break; case 'u':