Issue #18942: sys._debugmallocstats() output was damaged on Windows.
_PyDebugAllocatorStats() called PyOS_snprintf() with a %zd format
code, but MS doesn't support that code. Interpolated
PY_FORMAT_SIZE_T in place of the "z".
diff --git a/Misc/NEWS b/Misc/NEWS
index 5439b74..8052c6b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,8 @@
Core and Builtins
-----------------
+- Issue #18942: sys._debugmallocstats() output was damaged on Windows.
+
- Issue #18667: Add missing "HAVE_FCHOWNAT" symbol to posix._have_functions.
- Issue #18368: PyOS_StdioReadline() no longer leaks memory when realloc()
diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c
index 50fc7c1..c261b68 100644
--- a/Objects/obmalloc.c
+++ b/Objects/obmalloc.c
@@ -1761,7 +1761,7 @@
char buf1[128];
char buf2[128];
PyOS_snprintf(buf1, sizeof(buf1),
- "%d %ss * %zd bytes each",
+ "%d %ss * %" PY_FORMAT_SIZE_T "d bytes each",
num_blocks, block_name, sizeof_block);
PyOS_snprintf(buf2, sizeof(buf2),
"%48s ", buf1);