> snprintf has been available for all officially and unofficially supported > compilers for Windows, Visual Studio since version 2015 and gcc since, well, > forever. snprintf is conforming to C99 since the start when compiling using > gcc, and 2015 when using Visual Studio. Since it conforms to C99 and provides > better semantics than _snprintf, and is not compiler specific, we should use > it in most places where we currently use _snprintf. This makes JDK code where > this is used more robust due to the null terminating guarantee of snprintf. > Since most of the changes are extremely simple, I've included all of them > hoping to get this all done in one shot. The only places _snprintf is not > replaced is places where I'm not sure whether the code is ours or not (As in, > imported source code for external libraries). Note that the existing checks > in place for the size of the characters written still work, as the return > value of snprintf works mostly the same as _snprintf. The only difference is > the nul l terminating character at the end and the returning of the number of written characters if the buffer was terminated early, as seen here: https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/snprintf-snprintf-snprintf-l-snwprintf-snwprintf-l?view=msvc-170 > > Reviews Required: 2 for HotSpot, jdk.hotspot.agent, and jdk.jdwp.agent, 1 for > awt and jdk.accessibility, 1 for java.base, 1 for security, 1 for > jdk.management(?)
Julian Waters has updated the pull request incrementally with one additional commit since the last revision: Revert Standard Integer type rewrite ------------- Changes: - all: https://git.openjdk.org/jdk/pull/20153/files - new: https://git.openjdk.org/jdk/pull/20153/files/1bd6bc09..a0477b8b Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=20153&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20153&range=01-02 Stats: 3 lines in 2 files changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.org/jdk/pull/20153.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/20153/head:pull/20153 PR: https://git.openjdk.org/jdk/pull/20153