diff options
author | Christian Heimes <christian@cheimes.de> | 2008-01-28 02:38:20 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2008-01-28 02:38:20 (GMT) |
commit | fe82e774ea203de277968216126e26d0d09b3a15 (patch) | |
tree | fa12e8ce128288a56c0566d76aeaa05b8dd3e6d2 | |
parent | 26855635833fcd3f15786b4a9d4241ded293404c (diff) | |
download | cpython-fe82e774ea203de277968216126e26d0d09b3a15.zip cpython-fe82e774ea203de277968216126e26d0d09b3a15.tar.gz cpython-fe82e774ea203de277968216126e26d0d09b3a15.tar.bz2 |
Merged revisions 60379-60382 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r60381 | christian.heimes | 2008-01-28 03:07:53 +0100 (Mon, 28 Jan 2008) | 1 line
static PyObject* variables should use PyString_InternFromString() instead of PyObject_FromString() to store a python string in a function level static var.
........
-rw-r--r-- | Modules/_ctypes/_ctypes.c | 6 | ||||
-rw-r--r-- | Modules/_ctypes/callbacks.c | 4 | ||||
-rw-r--r-- | Modules/mathmodule.c | 4 | ||||
-rw-r--r-- | Objects/abstract.c | 4 | ||||
-rw-r--r-- | Objects/complexobject.c | 11 | ||||
-rw-r--r-- | Python/bltinmodule.c | 4 | ||||
-rw-r--r-- | Python/compile.c | 6 |
7 files changed, 20 insertions, 19 deletions
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index 49f55c8..c10f627 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 6a1d2b7..964af1b 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 873059f..baef569 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 3410dd8..755cb0e 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 a7bf342..a08253e 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 2a0376a..05f6a81 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 347a192..6ce465c 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>"); + module = PyUnicode_InternFromString("<module>"); 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; } |