diff options
author | Inada Naoki <songofacandy@gmail.com> | 2019-03-23 12:04:40 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-23 12:04:40 (GMT) |
commit | d3c72a223a5f771f964fc34557c55eb5bfa0f5a0 (patch) | |
tree | c0dec4fc435af520724b012b1d7b7b9bc8a0466a /Python/modsupport.c | |
parent | d60f658fc0278f3fcdadec8ddcab35b8ae03e1d1 (diff) | |
download | cpython-d3c72a223a5f771f964fc34557c55eb5bfa0f5a0.zip cpython-d3c72a223a5f771f964fc34557c55eb5bfa0f5a0.tar.gz cpython-d3c72a223a5f771f964fc34557c55eb5bfa0f5a0.tar.bz2 |
bpo-36381: warn when no PY_SSIZE_T_CLEAN defined (GH-12473)
We will remove int support from 3.10 or 4.0.
Diffstat (limited to 'Python/modsupport.c')
-rw-r--r-- | Python/modsupport.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/Python/modsupport.c b/Python/modsupport.c index 8a77a7b..6255822 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; |