RFR: 8296812: sprintf is deprecated in Xcode 14 [v6]

Lutz Schmidt lucy at openjdk.org
Wed Nov 16 09:05:51 UTC 2022


On Wed, 16 Nov 2022 06:43:29 GMT, Xue-Lei Andrew Fan <xuelei at openjdk.org> wrote:

>> src/hotspot/share/utilities/utf8.cpp line 521:
>> 
>>> 519:     } else {
>>> 520:       if (p + 6 >= end) break;      // string is truncated
>>> 521:       os::snprintf(p, 7, "\\u%04x", c);
>> 
>> This should be 6, or? We have 6 characters left before end, assuming end is exclusive.
>> 
>> Also, maybe use a named constant?
>
> If 6 is used, there is a output truncated warning and only 5 characters are filed actually.  The terminating null/zero is counted in, I think.  To make it easier to read, I added a comment.

For snprintf, all bytes written to the buffer (including the terminating \0) are counted. You have 6 bytes for character encoding ("\uxxxx") and one byte for \0. Code is correct.

-------------

PR: https://git.openjdk.org/jdk/pull/11115


More information about the hotspot-dev mailing list