MSVCRT predated C99 and invented non-standard placeholders for 64-bit
numbers, and then later used them in standard macros when C99
<inttypes.h> arrived. The macros just use %lld etc when building with
UCRT, so there should be no way for our interposed sprintf.c code to
receive the pre-standard kind these days. Time to drop the code that
parses them.
That code was in fact already dead when commit
962da900 landed, as we'd
disclaimed MSVCRT support a couple of weeks earlier in commit
1758d424,
but patch development overlapped and the history of these macros hadn't
been investigated.
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/
4d8b1a67-aab2-4429-b44b-
f03988095939%40eisentraut.org
fmtpos = accum;
accum = 0;
goto nextch2;
-#ifdef WIN32
- case 'I':
- /* Windows PRI*{32,64,PTR} size */
- if (format[0] == '3' && format[1] == '2')
- format += 2;
- else if (format[0] == '6' && format[1] == '4')
- {
- format += 2;
- longlongflag = 1;
- }
- else
- {
-#if SIZEOF_VOID_P == SIZEOF_LONG
- longflag = 1;
-#elif SIZEOF_VOID_P == SIZEOF_LONG_LONG
- longlongflag = 1;
-#else
-#error "cannot find integer type of the same size as intptr_t"
-#endif
- }
- goto nextch2;
-#endif
case 'l':
if (longflag)
longlongflag = 1;
fmtpos = accum;
accum = 0;
goto nextch1;
-#ifdef WIN32
- case 'I':
- /* Windows PRI*{32,64,PTR} size */
- if (format[0] == '3' && format[1] == '2')
- format += 2;
- else if (format[0] == '6' && format[1] == '4')
- {
- format += 2;
- longlongflag = 1;
- }
- else
- {
-#if SIZEOF_VOID_P == SIZEOF_LONG
- longflag = 1;
-#elif SIZEOF_VOID_P == SIZEOF_LONG_LONG
- longlongflag = 1;
-#else
-#error "cannot find integer type of the same size as intptr_t"
-#endif
- }
- goto nextch1;
-#endif
case 'l':
if (longflag)
longlongflag = 1;