mirror of
https://github.com/python/cpython.git
synced 2025-08-21 09:21:18 +00:00
Backport fix of #1752175.
This commit is contained in:
parent
7d108b8806
commit
eec47f3556
2 changed files with 7 additions and 1 deletions
|
@ -3115,6 +3115,7 @@ decode_utf8(const char **sPtr, const char *end, char* encoding)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef Py_USING_UNICODE
|
||||||
static PyObject *
|
static PyObject *
|
||||||
decode_unicode(const char *s, size_t len, int rawmode, const char *encoding)
|
decode_unicode(const char *s, size_t len, int rawmode, const char *encoding)
|
||||||
{
|
{
|
||||||
|
@ -3176,6 +3177,7 @@ decode_unicode(const char *s, size_t len, int rawmode, const char *encoding)
|
||||||
Py_XDECREF(u);
|
Py_XDECREF(u);
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* s is a Python string literal, including the bracketing quote characters,
|
/* s is a Python string literal, including the bracketing quote characters,
|
||||||
* and r &/or u prefixes (if any), and embedded escape sequences (if any).
|
* and r &/or u prefixes (if any), and embedded escape sequences (if any).
|
||||||
|
|
|
@ -119,15 +119,19 @@ _PyImport_Init(void)
|
||||||
/* prepare _PyImport_Filetab: copy entries from
|
/* prepare _PyImport_Filetab: copy entries from
|
||||||
_PyImport_DynLoadFiletab and _PyImport_StandardFiletab.
|
_PyImport_DynLoadFiletab and _PyImport_StandardFiletab.
|
||||||
*/
|
*/
|
||||||
|
#ifdef HAVE_DYNAMIC_LOADING
|
||||||
for (scan = _PyImport_DynLoadFiletab; scan->suffix != NULL; ++scan)
|
for (scan = _PyImport_DynLoadFiletab; scan->suffix != NULL; ++scan)
|
||||||
++countD;
|
++countD;
|
||||||
|
#endif
|
||||||
for (scan = _PyImport_StandardFiletab; scan->suffix != NULL; ++scan)
|
for (scan = _PyImport_StandardFiletab; scan->suffix != NULL; ++scan)
|
||||||
++countS;
|
++countS;
|
||||||
filetab = PyMem_NEW(struct filedescr, countD + countS + 1);
|
filetab = PyMem_NEW(struct filedescr, countD + countS + 1);
|
||||||
if (filetab == NULL)
|
if (filetab == NULL)
|
||||||
Py_FatalError("Can't initialize import file table.");
|
Py_FatalError("Can't initialize import file table.");
|
||||||
|
#ifdef HAVE_DYNAMIC_LOADING
|
||||||
memcpy(filetab, _PyImport_DynLoadFiletab,
|
memcpy(filetab, _PyImport_DynLoadFiletab,
|
||||||
countD * sizeof(struct filedescr));
|
countD * sizeof(struct filedescr));
|
||||||
|
#endif
|
||||||
memcpy(filetab + countD, _PyImport_StandardFiletab,
|
memcpy(filetab + countD, _PyImport_StandardFiletab,
|
||||||
countS * sizeof(struct filedescr));
|
countS * sizeof(struct filedescr));
|
||||||
filetab[countD + countS].suffix = NULL;
|
filetab[countD + countS].suffix = NULL;
|
||||||
|
@ -1366,7 +1370,7 @@ find_module(char *fullname, char *subname, PyObject *path, char *buf,
|
||||||
saved_namelen = namelen;
|
saved_namelen = namelen;
|
||||||
#endif /* PYOS_OS2 */
|
#endif /* PYOS_OS2 */
|
||||||
for (fdp = _PyImport_Filetab; fdp->suffix != NULL; fdp++) {
|
for (fdp = _PyImport_Filetab; fdp->suffix != NULL; fdp++) {
|
||||||
#if defined(PYOS_OS2)
|
#if defined(PYOS_OS2) && defined(HAVE_DYNAMIC_LOADING)
|
||||||
/* OS/2 limits DLLs to 8 character names (w/o
|
/* OS/2 limits DLLs to 8 character names (w/o
|
||||||
extension)
|
extension)
|
||||||
* so if the name is longer than that and its a
|
* so if the name is longer than that and its a
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue