diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index 49f55c85d91..c10f627ed75 100644 --- a/Modules/_ctypes/_ctypes.c +++ b/Modules/_ctypes/_ctypes.c @@ -1530,9 +1530,9 @@ static PyObject *CreateSwappedType(PyTypeObject *type, PyObject *args, PyObject if (suffix == NULL) #ifdef WORDS_BIGENDIAN - suffix = PyUnicode_FromString("_le"); + suffix = PyUnicode_InternFromString("_le"); #else - suffix = PyUnicode_FromString("_be"); + suffix = PyUnicode_InternFromString("_be"); #endif newname = PyUnicode_Concat(name, suffix); @@ -4276,7 +4276,7 @@ Simple_repr(CDataObject *self) } if (format == NULL) { - format = PyUnicode_FromString("%s(%r)"); + format = PyUnicode_InternFromString("%s(%r)"); if (format == NULL) return NULL; } diff --git a/Modules/_ctypes/callbacks.c b/Modules/_ctypes/callbacks.c index 6a1d2b798c1..964af1bacc1 100644 --- a/Modules/_ctypes/callbacks.c +++ b/Modules/_ctypes/callbacks.c @@ -365,7 +365,7 @@ long Call_GetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) static PyObject *context; if (context == NULL) - context = PyUnicode_FromString("_ctypes.DllGetClassObject"); + context = PyUnicode_InternFromString("_ctypes.DllGetClassObject"); mod = PyImport_ImportModuleNoBlock("ctypes"); if (!mod) { @@ -444,7 +444,7 @@ long Call_CanUnloadNow(void) static PyObject *context; if (context == NULL) - context = PyUnicode_FromString("_ctypes.DllCanUnloadNow"); + context = PyUnicode_InternFromString("_ctypes.DllCanUnloadNow"); mod = PyImport_ImportModuleNoBlock("ctypes"); if (!mod) { diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c index 873059f4cf9..baef56933b9 100644 --- a/Modules/mathmodule.c +++ b/Modules/mathmodule.c @@ -131,7 +131,7 @@ static PyObject * math_ceil(PyObject *self, PyObject *number) { PyObject *method; if (ceil_str == NULL) { - ceil_str = PyUnicode_FromString("__ceil__"); + ceil_str = PyUnicode_InternFromString("__ceil__"); if (ceil_str == NULL) return NULL; } @@ -171,7 +171,7 @@ static PyObject * math_floor(PyObject *self, PyObject *number) { PyObject *method; if (floor_str == NULL) { - floor_str = PyUnicode_FromString("__floor__"); + floor_str = PyUnicode_InternFromString("__floor__"); if (floor_str == NULL) return NULL; } diff --git a/Objects/abstract.c b/Objects/abstract.c index 3410dd87629..755cb0eabec 100644 --- a/Objects/abstract.c +++ b/Objects/abstract.c @@ -2333,7 +2333,7 @@ abstract_get_bases(PyObject *cls) PyObject *bases; if (__bases__ == NULL) { - __bases__ = PyUnicode_FromString("__bases__"); + __bases__ = PyUnicode_InternFromString("__bases__"); if (__bases__ == NULL) return NULL; } @@ -2413,7 +2413,7 @@ recursive_isinstance(PyObject *inst, PyObject *cls, int recursion_depth) int retval = 0; if (__class__ == NULL) { - __class__ = PyUnicode_FromString("__class__"); + __class__ = PyUnicode_InternFromString("__class__"); if (__class__ == NULL) return -1; } diff --git a/Objects/complexobject.c b/Objects/complexobject.c index a7bf3425ffe..a08253e0dc5 100644 --- a/Objects/complexobject.c +++ b/Objects/complexobject.c @@ -265,13 +265,14 @@ PyComplex_AsCComplex(PyObject *op) /* return -1 on failure */ cv.real = -1.; cv.imag = 0.; - + + if (complex_str == NULL) { + if (!(complex_str = PyUnicode_FromString("__complex__"))) + return cv; + } + { PyObject *complexfunc; - if (!complex_str) { - if (!(complex_str = PyUnicode_FromString("__complex__"))) - return cv; - } complexfunc = _PyType_Lookup(op->ob_type, complex_str); /* complexfunc is a borrowed reference */ if (complexfunc) { diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 2a0376a95d1..05f6a81068a 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -1463,7 +1463,7 @@ builtin_round(PyObject *self, PyObject *args, PyObject *kwds) } if (round_str == NULL) { - round_str = PyUnicode_FromString("__round__"); + round_str = PyUnicode_InternFromString("__round__"); if (round_str == NULL) return NULL; } @@ -1582,7 +1582,7 @@ builtin_trunc(PyObject *self, PyObject *number) } if (trunc_str == NULL) { - trunc_str = PyUnicode_FromString("__trunc__"); + trunc_str = PyUnicode_InternFromString("__trunc__"); if (trunc_str == NULL) return NULL; } diff --git a/Python/compile.c b/Python/compile.c index 347a19281e6..6ce465ccb1f 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -1133,7 +1133,7 @@ compiler_mod(struct compiler *c, mod_ty mod) int addNone = 1; static PyObject *module; if (!module) { - module = PyUnicode_FromString(""); + module = PyUnicode_InternFromString(""); if (!module) return NULL; } @@ -1477,7 +1477,7 @@ compiler_class(struct compiler *c, stmt_ty s) /* initialize statics */ if (locals == NULL) { - locals = PyUnicode_FromString("__locals__"); + locals = PyUnicode_InternFromString("__locals__"); if (locals == NULL) return 0; } @@ -2177,7 +2177,7 @@ compiler_assert(struct compiler *c, stmt_ty s) if (Py_OptimizeFlag) return 1; if (assertion_error == NULL) { - assertion_error = PyUnicode_FromString("AssertionError"); + assertion_error = PyUnicode_InternFromString("AssertionError"); if (assertion_error == NULL) return 0; }