diff options
| author | Thomas Munro <tmunro@postgresql.org> | 2025-11-20 10:04:11 +1300 |
|---|---|---|
| committer | Thomas Munro <tmunro@postgresql.org> | 2025-11-20 10:07:27 +1300 |
| commit | 7ab9b34614c2d6f69070a667787e0b091ecb72b1 (patch) | |
| tree | a91b4803b0b11a36045e95bd450400a0c9373634 /src/port/snprintf.c | |
| parent | 057012b205a082ec930cd7bb7f6663516be011e2 (diff) | |
Drop support for MSVCRT's %I64 format strings.
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
Diffstat (limited to 'src/port/snprintf.c')
| -rw-r--r-- | src/port/snprintf.c | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/port/snprintf.c b/src/port/snprintf.c index d7f18b42d19..dded6c3f65b 100644 --- a/src/port/snprintf.c +++ b/src/port/snprintf.c @@ -557,28 +557,6 @@ nextch2: 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; @@ -842,28 +820,6 @@ nextch1: 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; |
