mirror of
https://github.com/python/cpython.git
synced 2025-08-22 17:55:18 +00:00
bpo-36346: Make using the legacy Unicode C API optional (GH-21437)
Add compile time option USE_UNICODE_WCHAR_CACHE. Setting it to 0 makes the interpreter not using the wchar_t cache and the legacy Unicode C API.
This commit is contained in:
parent
9650fe0197
commit
4c8f09d7ce
17 changed files with 360 additions and 99 deletions
|
@ -166,11 +166,14 @@ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix,
|
|||
{
|
||||
dl_funcptr p;
|
||||
char funcname[258], *import_python;
|
||||
const wchar_t *wpathname;
|
||||
|
||||
_Py_CheckPython3();
|
||||
|
||||
wpathname = _PyUnicode_AsUnicode(pathname);
|
||||
#if USE_UNICODE_WCHAR_CACHE
|
||||
const wchar_t *wpathname = _PyUnicode_AsUnicode(pathname);
|
||||
#else /* USE_UNICODE_WCHAR_CACHE */
|
||||
wchar_t *wpathname = PyUnicode_AsWideCharString(pathname, NULL);
|
||||
#endif /* USE_UNICODE_WCHAR_CACHE */
|
||||
if (wpathname == NULL)
|
||||
return NULL;
|
||||
|
||||
|
@ -192,6 +195,9 @@ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix,
|
|||
LOAD_LIBRARY_SEARCH_DEFAULT_DIRS |
|
||||
LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR);
|
||||
Py_END_ALLOW_THREADS
|
||||
#if !USE_UNICODE_WCHAR_CACHE
|
||||
PyMem_Free(wpathname);
|
||||
#endif /* USE_UNICODE_WCHAR_CACHE */
|
||||
|
||||
/* restore old error mode settings */
|
||||
SetErrorMode(old_mode);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue