summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/_ctypes/_ctypes.c6
-rw-r--r--Modules/_ctypes/callbacks.c4
-rw-r--r--Objects/abstract.c4
-rw-r--r--Objects/complexobject.c13
-rw-r--r--Objects/fileobject.c2
-rw-r--r--Python/compile.c4
6 files changed, 17 insertions, 16 deletions
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index fd043d6..0f88f96 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -1529,9 +1529,9 @@ static PyObject *CreateSwappedType(PyTypeObject *type, PyObject *args, PyObject
if (suffix == NULL)
#ifdef WORDS_BIGENDIAN
- suffix = PyString_FromString("_le");
+ suffix = PyString_InternFromString("_le");
#else
- suffix = PyString_FromString("_be");
+ suffix = PyString_InternFromString("_be");
#endif
Py_INCREF(name);
@@ -4416,7 +4416,7 @@ Simple_repr(CDataObject *self)
}
if (format == NULL) {
- format = PyString_FromString("%s(%r)");
+ format = PyString_InternFromString("%s(%r)");
if (format == NULL)
return NULL;
}
diff --git a/Modules/_ctypes/callbacks.c b/Modules/_ctypes/callbacks.c
index 6d2e133..21637ad 100644
--- a/Modules/_ctypes/callbacks.c
+++ b/Modules/_ctypes/callbacks.c
@@ -368,7 +368,7 @@ long Call_GetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
static PyObject *context;
if (context == NULL)
- context = PyString_FromString("_ctypes.DllGetClassObject");
+ context = PyString_InternFromString("_ctypes.DllGetClassObject");
mod = PyImport_ImportModuleNoBlock("ctypes");
if (!mod) {
@@ -447,7 +447,7 @@ long Call_CanUnloadNow(void)
static PyObject *context;
if (context == NULL)
- context = PyString_FromString("_ctypes.DllCanUnloadNow");
+ context = PyString_InternFromString("_ctypes.DllCanUnloadNow");
mod = PyImport_ImportModuleNoBlock("ctypes");
if (!mod) {
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 4c8ef83..830fe82 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -2142,7 +2142,7 @@ abstract_get_bases(PyObject *cls)
PyObject *bases;
if (__bases__ == NULL) {
- __bases__ = PyString_FromString("__bases__");
+ __bases__ = PyString_InternFromString("__bases__");
if (__bases__ == NULL)
return NULL;
}
@@ -2220,7 +2220,7 @@ recursive_isinstance(PyObject *inst, PyObject *cls, int recursion_depth)
int retval = 0;
if (__class__ == NULL) {
- __class__ = PyString_FromString("__class__");
+ __class__ = PyString_InternFromString("__class__");
if (__class__ == NULL)
return -1;
}
diff --git a/Objects/complexobject.c b/Objects/complexobject.c
index 03b80c8..4777ed1 100644
--- a/Objects/complexobject.c
+++ b/Objects/complexobject.c
@@ -261,14 +261,19 @@ PyComplex_AsCComplex(PyObject *op)
return ((PyComplexObject *)op)->cval;
}
/* If not, use op's __complex__ method, if it exists */
-
+
/* return -1 on failure */
cv.real = -1.;
cv.imag = 0.;
+
+ if (complex_str == NULL) {
+ if (!(complex_str = PyString_InternFromString("__complex__")))
+ return cv;
+ }
if (PyInstance_Check(op)) {
/* this can go away in python 3000 */
- if (PyObject_HasAttrString(op, "__complex__")) {
+ if (PyObject_HasAttr(op, complex_str)) {
newop = PyObject_CallMethod(op, "__complex__", NULL);
if (!newop)
return cv;
@@ -276,10 +281,6 @@ PyComplex_AsCComplex(PyObject *op)
/* else try __float__ */
} else {
PyObject *complexfunc;
- if (!complex_str) {
- if (!(complex_str = PyString_FromString("__complex__")))
- return cv;
- }
complexfunc = _PyType_Lookup(op->ob_type, complex_str);
/* complexfunc is a borrowed reference */
if (complexfunc) {
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index a5a42fc..eb05cda 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -1965,7 +1965,7 @@ file_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
assert(type != NULL && type->tp_alloc != NULL);
if (not_yet_string == NULL) {
- not_yet_string = PyString_FromString("<uninitialized file>");
+ not_yet_string = PyString_InternFromString("<uninitialized file>");
if (not_yet_string == NULL)
return NULL;
}
diff --git a/Python/compile.c b/Python/compile.c
index aee7bda..3501b95 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -1153,7 +1153,7 @@ compiler_mod(struct compiler *c, mod_ty mod)
int addNone = 1;
static PyObject *module;
if (!module) {
- module = PyString_FromString("<module>");
+ module = PyString_InternFromString("<module>");
if (!module)
return NULL;
}
@@ -2001,7 +2001,7 @@ compiler_assert(struct compiler *c, stmt_ty s)
if (Py_OptimizeFlag)
return 1;
if (assertion_error == NULL) {
- assertion_error = PyString_FromString("AssertionError");
+ assertion_error = PyString_InternFromString("AssertionError");
if (assertion_error == NULL)
return 0;
}