Commit 747e19aa authored by Marc G. Fournier's avatar Marc G. Fournier

Add in, I think, support for %lld in snprintf(), specifically with
Irix in mind...
parent 3ce8a1b4
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
* causing nast effects. * 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 char *end;
static int SnprfOverflow; static int SnprfOverflow;
...@@ -126,6 +126,7 @@ dopr (char *buffer, const char *format, ... ) ...@@ -126,6 +126,7 @@ dopr (char *buffer, const char *format, ... )
int ch; int ch;
long value; long value;
int longflag = 0; int longflag = 0;
int longlongflag = 0;
int pointflag = 0; int pointflag = 0;
int maxwidth = 0; int maxwidth = 0;
char *strvalue; char *strvalue;
...@@ -167,7 +168,11 @@ dopr (char *buffer, const char *format, ... ) ...@@ -167,7 +168,11 @@ dopr (char *buffer, const char *format, ... )
len = va_arg( args, int ); len = va_arg( args, int );
goto nextch; goto nextch;
case '.': pointflag = 1; 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': case 'u': case 'U':
/*fmtnum(value,base,dosign,ljust,len,zpad) */ /*fmtnum(value,base,dosign,ljust,len,zpad) */
if( longflag ){ if( longflag ){
...@@ -186,7 +191,11 @@ dopr (char *buffer, const char *format, ... ) ...@@ -186,7 +191,11 @@ dopr (char *buffer, const char *format, ... )
fmtnum( value, 8,0, ljust, len, zpad ); break; fmtnum( value, 8,0, ljust, len, zpad ); break;
case 'd': case 'D': case 'd': case 'D':
if( longflag ){ if( longflag ){
if( longlongflag ) {
value = va_arg( args, long long );
} else {
value = va_arg( args, long ); value = va_arg( args, long );
}
} else { } else {
value = va_arg( args, int ); value = va_arg( args, int );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment