[Python-checkins] cpython: Back-out wcstok deprecation suppression and updates calls to use wcstok_s.

steve.dower python-checkins at python.org
Thu Feb 26 05:49:26 CET 2015


https://hg.python.org/cpython/rev/8545624309f5
changeset: 94752:8545624309f5
user: Steve Dower <steve.dower at microsoft.com>
date: Wed Feb 25 20:48:01 2015 -0800
summary:
 Back-out wcstok deprecation suppression and updates calls to use wcstok_s.
files:
 Modules/main.c | 6 +++---
 PC/getpathp.c | 7 ++++---
 PCbuild/pythoncore.vcxproj | 2 +-
 3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/Modules/main.c b/Modules/main.c
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -520,16 +520,16 @@
 #ifdef MS_WINDOWS
 if (!Py_IgnoreEnvironmentFlag && (wp = _wgetenv(L"PYTHONWARNINGS")) &&
 *wp != L'0円') {
- wchar_t *buf, *warning;
+ wchar_t *buf, *warning, *context = NULL;
 
 buf = (wchar_t *)PyMem_RawMalloc((wcslen(wp) + 1) * sizeof(wchar_t));
 if (buf == NULL)
 Py_FatalError(
 "not enough memory to copy PYTHONWARNINGS");
 wcscpy(buf, wp);
- for (warning = wcstok(buf, L",");
+ for (warning = wcstok_s(buf, L",", &context);
 warning != NULL;
- warning = wcstok(NULL, L",")) {
+ warning = wcstok_s(NULL, L",", &context)) {
 PySys_AddWarnOption(warning);
 }
 PyMem_RawFree(buf);
diff --git a/PC/getpathp.c b/PC/getpathp.c
--- a/PC/getpathp.c
+++ b/PC/getpathp.c
@@ -451,11 +451,12 @@
 tmpbuffer, MAXPATHLEN * 2);
 Py_DECREF(decoded);
 if (k >= 0) {
- wchar_t * tok = wcstok(tmpbuffer, L" \t\r\n");
+ wchar_t * context = NULL;
+ wchar_t * tok = wcstok_s(tmpbuffer, L" \t\r\n", &context);
 if ((tok != NULL) && !wcscmp(tok, key)) {
- tok = wcstok(NULL, L" \t");
+ tok = wcstok_s(NULL, L" \t", &context);
 if ((tok != NULL) && !wcscmp(tok, L"=")) {
- tok = wcstok(NULL, L"\r\n");
+ tok = wcstok_s(NULL, L"\r\n", &context);
 if (tok != NULL) {
 wcsncpy(value, tok, MAXPATHLEN);
 result = 1;
diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj
--- a/PCbuild/pythoncore.vcxproj
+++ b/PCbuild/pythoncore.vcxproj
@@ -67,7 +67,7 @@
 <ClCompile>
 <AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
 <AdditionalIncludeDirectories>$(PySourcePath)Python;$(PySourcePath)Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_CRT_NON_CONFORMING_WCSTOK;_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
 </ClCompile>
 <Link>
 <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /