From: Marc G. Fournier Date: Wed, 23 Sep 1998 03:11:24 +0000 (+0000) Subject: Add in, I think, support for %lld in snprintf(), specifically with X-Git-Tag: REL6_4_2~395 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=747e19aa6c211204e10d494e6333b87a839fd451;p=postgresql Add in, I think, support for %lld in snprintf(), specifically with Irix in mind... --- diff --git a/src/backend/port/snprintf.c b/src/backend/port/snprintf.c index 9cc3786878..bd421329a9 100644 --- a/src/backend/port/snprintf.c +++ b/src/backend/port/snprintf.c @@ -70,7 +70,7 @@ * causing nast effects. **************************************************************/ -/*static char _id[] = "$Id: snprintf.c,v 1.6 1998/09/18 05:20:22 momjian Exp $";*/ +/*static char _id[] = "$Id: snprintf.c,v 1.7 1998/09/23 03:11:24 scrappy Exp $";*/ static char *end; static int SnprfOverflow; @@ -126,6 +126,7 @@ dopr (char *buffer, const char *format, ... ) int ch; long value; int longflag = 0; + int longlongflag = 0; int pointflag = 0; int maxwidth = 0; char *strvalue; @@ -167,7 +168,11 @@ dopr (char *buffer, const char *format, ... ) len = va_arg( args, int ); goto nextch; case '.': pointflag = 1; goto nextch; - case 'l': longflag = 1; goto nextch; + case 'l': if(longflag) { + longlongflag = 1; goto nextch; + } else { + longflag = 1; goto nextch; + } case 'u': case 'U': /*fmtnum(value,base,dosign,ljust,len,zpad) */ if( longflag ){ @@ -186,7 +191,11 @@ dopr (char *buffer, const char *format, ... ) fmtnum( value, 8,0, ljust, len, zpad ); break; case 'd': case 'D': if( longflag ){ + if( longlongflag ) { + value = va_arg( args, long long ); + } else { value = va_arg( args, long ); + } } else { value = va_arg( args, int ); }