From 920ec4b7763d64b3742d7ddd339ad11cdbec62e9 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 24 Aug 2019 03:22:14 -0700 Subject: [PATCH] bpo-28269: Replace strcasecmp with system function _stricmp. (GH-13095) (cherry picked from commit 05f2d84cae4ba1ff15b7a1d0347305393f4bdcc5) Co-authored-by: Minmin Gong --- .../2019-05-05-05-23-34.bpo-28269.-MOHI7.rst | 1 + Python/dynload_win.c | 20 +------------------ 2 files changed, 2 insertions(+), 19 deletions(-) create mode 100644 Misc/NEWS.d/next/Windows/2019-05-05-05-23-34.bpo-28269.-MOHI7.rst diff --git a/Misc/NEWS.d/next/Windows/2019-05-05-05-23-34.bpo-28269.-MOHI7.rst b/Misc/NEWS.d/next/Windows/2019-05-05-05-23-34.bpo-28269.-MOHI7.rst new file mode 100644 index 00000000000..a531b98118a --- /dev/null +++ b/Misc/NEWS.d/next/Windows/2019-05-05-05-23-34.bpo-28269.-MOHI7.rst @@ -0,0 +1 @@ +Replace use of :c:func:`strcasecmp` for the system function :c:func:`_stricmp`. Patch by Minmin Gong. diff --git a/Python/dynload_win.c b/Python/dynload_win.c index 2f28c3cf924..6deba1134e2 100644 --- a/Python/dynload_win.c +++ b/Python/dynload_win.c @@ -38,24 +38,6 @@ const char *_PyImport_DynLoadFiletab[] = { NULL }; -/* Case insensitive string compare, to avoid any dependencies on particular - C RTL implementations */ - -static int strcasecmp (const char *string1, const char *string2) -{ - int first, second; - - do { - first = tolower(*string1); - second = tolower(*string2); - string1++; - string2++; - } while (first && first == second); - - return (first - second); -} - - /* Function to return the name of the "python" DLL that the supplied module directly imports. Looks through the list of imported modules and returns the first entry that starts with "python" (case sensitive) and @@ -297,7 +279,7 @@ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix, import_python = GetPythonImport(hDLL); if (import_python && - strcasecmp(buffer,import_python)) { + _stricmp(buffer,import_python)) { PyErr_Format(PyExc_ImportError, "Module use of %.150s conflicts " "with this version of Python.",