From d3c72a223a5f771f964fc34557c55eb5bfa0f5a0 Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Sat, 23 Mar 2019 21:04:40 +0900 Subject: bpo-36381: warn when no PY_SSIZE_T_CLEAN defined (GH-12473) We will remove int support from 3.10 or 4.0. --- Python/modsupport.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'Python/modsupport.c') diff --git a/Python/modsupport.c b/Python/modsupport.c index 8a77a7b06d..6255822107 100644 --- a/Python/modsupport.c +++ b/Python/modsupport.c @@ -342,8 +342,13 @@ do_mkvalue(const char **p_format, va_list *p_va, int flags) ++*p_format; if (flags & FLAG_SIZE_T) n = va_arg(*p_va, Py_ssize_t); - else + else { + if (PyErr_WarnEx(PyExc_DeprecationWarning, + "PY_SSIZE_T_CLEAN will be required for '#' formats", 1)) { + return NULL; + } n = va_arg(*p_va, int); + } } else n = -1; @@ -390,8 +395,13 @@ do_mkvalue(const char **p_format, va_list *p_va, int flags) ++*p_format; if (flags & FLAG_SIZE_T) n = va_arg(*p_va, Py_ssize_t); - else + else { + if (PyErr_WarnEx(PyExc_DeprecationWarning, + "PY_SSIZE_T_CLEAN will be required for '#' formats", 1)) { + return NULL; + } n = va_arg(*p_va, int); + } } else n = -1; @@ -423,8 +433,13 @@ do_mkvalue(const char **p_format, va_list *p_va, int flags) ++*p_format; if (flags & FLAG_SIZE_T) n = va_arg(*p_va, Py_ssize_t); - else + else { + if (PyErr_WarnEx(PyExc_DeprecationWarning, + "PY_SSIZE_T_CLEAN will be required for '#' formats", 1)) { + return NULL; + } n = va_arg(*p_va, int); + } } else n = -1; -- cgit v1.2.1