Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 747e19a

Browse files
committed
Add in, I think, support for %lld in snprintf(), specifically with Irix in mind...
1 parent 3ce8a1b commit 747e19a

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/backend/port/snprintf.c

+11-2
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
* causing nast effects.
7171
**************************************************************/
7272

73-
/*static char _id[] = "$Id: snprintf.c,v 1.6 1998/09/18 05:20:22 momjian Exp $";*/
73+
/*static char _id[] = "$Id: snprintf.c,v 1.7 1998/09/23 03:11:24 scrappy Exp $";*/
7474
static char *end;
7575
static int SnprfOverflow;
7676

@@ -126,6 +126,7 @@ dopr (char *buffer, const char *format, ... )
126126
int ch;
127127
long value;
128128
int longflag = 0;
129+
int longlongflag = 0;
129130
int pointflag = 0;
130131
int maxwidth = 0;
131132
char *strvalue;
@@ -167,7 +168,11 @@ dopr (char *buffer, const char *format, ... )
167168
len = va_arg( args, int );
168169
goto nextch;
169170
case '.': pointflag = 1; goto nextch;
170-
case 'l': longflag = 1; goto nextch;
171+
case 'l': if(longflag) {
172+
longlongflag = 1; goto nextch;
173+
} else {
174+
longflag = 1; goto nextch;
175+
}
171176
case 'u': case 'U':
172177
/*fmtnum(value,base,dosign,ljust,len,zpad) */
173178
if( longflag ){
@@ -186,7 +191,11 @@ dopr (char *buffer, const char *format, ... )
186191
fmtnum( value, 8,0, ljust, len, zpad ); break;
187192
case 'd': case 'D':
188193
if( longflag ){
194+
if( longlongflag ) {
195+
value = va_arg( args, long long );
196+
} else {
189197
value = va_arg( args, long );
198+
}
190199
} else {
191200
value = va_arg( args, int );
192201
}

0 commit comments

Comments
 (0)