[Python-checkins] bpo-43499: Silence compiler warnings about using legacy C API on Windows (GH-24873)
serhiy-storchaka
webhook-mailer at python.org
Tue Mar 16 02:03:51 EDT 2021
https://github.com/python/cpython/commit/651fc30af7ac6138764106b87632cabca56a98bb
commit: 651fc30af7ac6138764106b87632cabca56a98bb
branch: 3.9
author: Serhiy Storchaka <storchaka at gmail.com>
committer: serhiy-storchaka <storchaka at gmail.com>
date: 2021-03-16T08:03:37+02:00
summary:
bpo-43499: Silence compiler warnings about using legacy C API on Windows (GH-24873)
files:
M Modules/_ctypes/callproc.c
M Modules/_io/fileio.c
M Modules/posixmodule.c
M Objects/unicodeobject.c
M PC/_msi.c
M PC/winreg.c
M Python/dynload_win.c
M Python/fileutils.c
diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
index f2506de54498e..18984d15abe17 100644
--- a/Modules/_ctypes/callproc.c
+++ b/Modules/_ctypes/callproc.c
@@ -1358,7 +1358,10 @@ static PyObject *load_library(PyObject *self, PyObject *args)
if (!PyArg_ParseTuple(args, "U|i:LoadLibrary", &nameobj, &load_flags))
return NULL;
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
name = _PyUnicode_AsUnicode(nameobj);
+_Py_COMP_DIAG_POP
if (!name)
return NULL;
diff --git a/Modules/_io/fileio.c b/Modules/_io/fileio.c
index caf91dfdb749e..048484bde5461 100644
--- a/Modules/_io/fileio.c
+++ b/Modules/_io/fileio.c
@@ -276,7 +276,10 @@ _io_FileIO___init___impl(fileio *self, PyObject *nameobj, const char *mode,
if (!PyUnicode_FSDecoder(nameobj, &stringobj)) {
return -1;
}
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
widename = PyUnicode_AsUnicode(stringobj);
+_Py_COMP_DIAG_POP
if (widename == NULL)
return -1;
#else
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 5e33502721c19..f83150f1ef343 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -1159,7 +1159,10 @@ path_converter(PyObject *o, void *p)
if (is_unicode) {
#ifdef MS_WINDOWS
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
wide = PyUnicode_AsUnicodeAndSize(o, &length);
+_Py_COMP_DIAG_POP
if (!wide) {
goto error_exit;
}
@@ -1250,7 +1253,10 @@ path_converter(PyObject *o, void *p)
goto error_exit;
}
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
wide = PyUnicode_AsUnicodeAndSize(wo, &length);
+_Py_COMP_DIAG_POP
if (!wide) {
goto error_exit;
}
@@ -13238,7 +13244,10 @@ DirEntry_fetch_stat(PyObject *module, DirEntry *self, int follow_symlinks)
#ifdef MS_WINDOWS
if (!PyUnicode_FSDecoder(self->path, &ub))
return NULL;
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
const wchar_t *path = PyUnicode_AsUnicode(ub);
+_Py_COMP_DIAG_POP
#else /* POSIX */
if (!PyUnicode_FSConverter(self->path, &ub))
return NULL;
@@ -13460,7 +13469,10 @@ os_DirEntry_inode_impl(DirEntry *self)
if (!PyUnicode_FSDecoder(self->path, &unicode))
return NULL;
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
path = PyUnicode_AsUnicode(unicode);
+_Py_COMP_DIAG_POP
result = LSTAT(path, &stat);
Py_DECREF(unicode);
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index ffd13f7dd3892..9cc04eea0597c 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -4321,7 +4321,10 @@ unicode_decode_call_errorhandler_wchar(
goto onError;
}
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
repwstr = PyUnicode_AsUnicodeAndSize(repunicode, &repwlen);
+_Py_COMP_DIAG_POP
if (repwstr == NULL)
goto onError;
/* need more space? (at least enough for what we
@@ -7654,7 +7657,10 @@ encode_code_page_strict(UINT code_page, PyObject **outbytes,
substring = PyUnicode_Substring(unicode, offset, offset+len);
if (substring == NULL)
return -1;
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
p = PyUnicode_AsUnicodeAndSize(substring, &size);
+_Py_COMP_DIAG_POP
if (p == NULL) {
Py_DECREF(substring);
return -1;
diff --git a/PC/_msi.c b/PC/_msi.c
index 58c1cfd997bf8..913d3b85abb5f 100644
--- a/PC/_msi.c
+++ b/PC/_msi.c
@@ -625,7 +625,10 @@ summary_setproperty(msiobj* si, PyObject *args)
return NULL;
if (PyUnicode_Check(data)) {
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
const WCHAR *value = _PyUnicode_AsUnicode(data);
+_Py_COMP_DIAG_POP
if (value == NULL) {
return NULL;
}
diff --git a/PC/winreg.c b/PC/winreg.c
index 1305b7030fada..01e3e9f14ba2f 100644
--- a/PC/winreg.c
+++ b/PC/winreg.c
@@ -646,7 +646,10 @@ Py2Reg(PyObject *value, DWORD typ, BYTE **retDataBuf, DWORD *retDataSize)
t = PyList_GET_ITEM(value, j);
if (!PyUnicode_Check(t))
return FALSE;
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
wstr = PyUnicode_AsUnicodeAndSize(t, &len);
+_Py_COMP_DIAG_POP
if (wstr == NULL)
return FALSE;
size += Py_SAFE_DOWNCAST((len + 1) * sizeof(wchar_t),
@@ -669,7 +672,10 @@ Py2Reg(PyObject *value, DWORD typ, BYTE **retDataBuf, DWORD *retDataSize)
Py_ssize_t len;
t = PyList_GET_ITEM(value, j);
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
wstr = PyUnicode_AsUnicodeAndSize(t, &len);
+_Py_COMP_DIAG_POP
assert(wstr);
wcscpy(P, wstr);
P += (len + 1);
diff --git a/Python/dynload_win.c b/Python/dynload_win.c
index 8431c5b3b2f30..81787e5f22ad0 100644
--- a/Python/dynload_win.c
+++ b/Python/dynload_win.c
@@ -170,7 +170,10 @@ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix,
_Py_CheckPython3();
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
wpathname = _PyUnicode_AsUnicode(pathname);
+_Py_COMP_DIAG_POP
if (wpathname == NULL)
return NULL;
diff --git a/Python/fileutils.c b/Python/fileutils.c
index ddc090988f158..cf11e9297d78f 100644
--- a/Python/fileutils.c
+++ b/Python/fileutils.c
@@ -1010,7 +1010,10 @@ _Py_stat(PyObject *path, struct stat *statbuf)
struct _stat wstatbuf;
const wchar_t *wpath;
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
wpath = _PyUnicode_AsUnicode(path);
+_Py_COMP_DIAG_POP
if (wpath == NULL)
return -2;
@@ -1455,7 +1458,10 @@ _Py_fopen_obj(PyObject *path, const char *mode)
Py_TYPE(path));
return NULL;
}
+_Py_COMP_DIAG_PUSH
+_Py_COMP_DIAG_IGNORE_DEPR_DECLS
wpath = _PyUnicode_AsUnicode(path);
+_Py_COMP_DIAG_POP
if (wpath == NULL)
return NULL;
More information about the Python-checkins
mailing list