bpo-36020: Remove snprintf macro in pyerrors.h (GH-20889)
On Windows, GH-include "pyerrors.h" no longer defines "snprintf" and
"vsnprintf" macros.
PyOS_snprintf() and PyOS_vsnprintf() should be used to get portable
behavior.
Replace snprintf() calls with PyOS_snprintf() and replace vsnprintf()
calls with PyOS_vsnprintf().
(cherry picked from commit e822e37946f27c09953bb5733acf3b07c2db690f)
Co-authored-by: Victor Stinner <vstinner@python.org>
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index d461e4e..f3c1d9b 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -1133,7 +1133,7 @@
Py_DECREF(s);
// PyUnicode_FromFormatV() does not support %X
char hex[9];
- snprintf(hex, sizeof(hex), "%04X", ch);
+ (void)PyOS_snprintf(hex, sizeof(hex), "%04X", ch);
if (Py_UNICODE_ISPRINTABLE(ch)) {
syntaxerror(tok, "invalid character '%c' (U+%s)", ch, hex);
}