Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit9042e9d

Browse files
committed
Cleanup for snprintf for long long's.
1 parentad567f0 commit9042e9d

File tree

1 file changed

+44
-4
lines changed

1 file changed

+44
-4
lines changed

‎src/backend/port/snprintf.c

Lines changed: 44 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ typedef long long long_long;
7575
* causing nast effects.
7676
**************************************************************/
7777

78-
/*static char _id[] = "$Id: snprintf.c,v 1.9 1998/10/07 17:12:52 momjian Exp $";*/
78+
/*static char _id[] = "$Id: snprintf.c,v 1.10 1998/10/08 00:34:47 momjian Exp $";*/
7979
staticchar*end;
8080
staticintSnprfOverflow;
8181

@@ -130,7 +130,11 @@ static void
130130
dopr(char*buffer,constchar*format,...)
131131
{
132132
intch;
133+
#ifdefHAVE_LONG_INT_64
134+
long_longvalue;
135+
#else
133136
longvalue;
137+
#endif
134138
intlongflag=0;
135139
intlonglongflag=0;
136140
intpointflag=0;
@@ -204,7 +208,14 @@ dopr(char *buffer, const char *format,...)
204208
case'U':
205209
/* fmtnum(value,base,dosign,ljust,len,zpad) */
206210
if (longflag)
207-
value=va_arg(args,long);
211+
{
212+
#ifdefHAVE_LONG_INT_64
213+
if (longlongflag)
214+
value=va_arg(args,long_long);
215+
else
216+
#endif
217+
value=va_arg(args,long);
218+
}
208219
else
209220
value=va_arg(args,int);
210221
fmtnum(value,10,0,ljust,len,zpad);
@@ -213,7 +224,14 @@ dopr(char *buffer, const char *format,...)
213224
case'O':
214225
/* fmtnum(value,base,dosign,ljust,len,zpad) */
215226
if (longflag)
227+
{
228+
#ifdefHAVE_LONG_INT_64
229+
if (longlongflag)
230+
value=va_arg(args,long_long);
231+
else
232+
#endif
216233
value=va_arg(args,long);
234+
}
217235
else
218236
value=va_arg(args,int);
219237
fmtnum(value,8,0,ljust,len,zpad);
@@ -235,14 +253,28 @@ dopr(char *buffer, const char *format,...)
235253
break;
236254
case'x':
237255
if (longflag)
256+
{
257+
#ifdefHAVE_LONG_INT_64
258+
if (longlongflag)
259+
value=va_arg(args,long_long);
260+
else
261+
#endif
238262
value=va_arg(args,long);
263+
}
239264
else
240265
value=va_arg(args,int);
241266
fmtnum(value,16,0,ljust,len,zpad);
242267
break;
243268
case'X':
244269
if (longflag)
245-
value=va_arg(args,long);
270+
{
271+
#ifdefHAVE_LONG_INT_64
272+
if (longlongflag)
273+
value=va_arg(args,long_long);
274+
else
275+
#endif
276+
value=va_arg(args,long);
277+
}
246278
else
247279
value=va_arg(args,int);
248280
fmtnum(value,-16,0,ljust,len,zpad);
@@ -312,15 +344,23 @@ intljust,
312344

313345
staticvoid
314346
fmtnum(value,base,dosign,ljust,len,zpad)
315-
longvalue;
347+
#ifdefHAVE_LONG_INT_64
348+
long_longvalue;
349+
#else
350+
longvalue;
351+
#endif
316352
intbase,
317353
dosign,
318354
ljust,
319355
len,
320356
zpad;
321357
{
322358
intsignvalue=0;
359+
#ifdefHAVE_LONG_INT_64
360+
unsigned long longuvalue;
361+
#else
323362
unsigned longuvalue;
363+
#endif
324364
charconvert[20];
325365
intplace=0;
326366
intpadlen=0;/* amount to pad */

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp