RFR: 8295017: Remove Windows specific workaround in JLI_Snprintf [v3]
Julian Waters
jwaters at openjdk.org
Tue Jul 25 23:30:56 UTC 2023
On Tue, 25 Jul 2023 21:00:17 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:
>> @dholmes-ora could I trouble you for a sponsor? Thanks!
>
> @TheShermanTanker Working on a similar cleanup, and wonder if is it correct to assume that the "snprintf" adds "nul" even in case of error.
> For example, this code was removed by this patch:
>
>
> if (rc < 0) {
> /* apply ansi semantics */
> buffer[size - 1] = '\0';
> return (int)size;
> } else if (rc == size) {
> /* force a null terminator */
> buffer[size - 1] = '\0';
> }
>
>
> If the result of "snprintf" was negative we always set the '\0'. But what about default "snprintf"?
@mrserb snprintf in the UCRT does indeed null terminate the buffer, conforming to C99. The relevant behaviour can be found documented under https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/snprintf-snprintf-snprintf-l-snwprintf-snwprintf-l?view=msvc-170#behavior-summary
-------------
PR Comment: https://git.openjdk.org/jdk/pull/10625#issuecomment-1650700451
More information about the core-libs-dev
mailing list