Reverted accidental commit (from r87159)
This commit is contained in:
parent
fc55789cae
commit
532d091d05
|
@ -176,21 +176,31 @@ normalizeUserObj(PyObject *obj)
|
|||
if (fn->m_self == NULL) {
|
||||
/* built-in function: look up the module name */
|
||||
PyObject *mod = fn->m_module;
|
||||
PyObject *modname;
|
||||
if (mod != NULL) {
|
||||
if (PyUnicode_Check(mod)) {
|
||||
modname = mod;
|
||||
Py_INCREF(modname);
|
||||
}
|
||||
else if (PyModule_Check(mod)) {
|
||||
modname = PyModule_GetNameObject(mod);
|
||||
if (modname == NULL)
|
||||
PyErr_Clear();
|
||||
const char *modname;
|
||||
if (mod && PyUnicode_Check(mod)) {
|
||||
/* XXX: The following will truncate module names with embedded
|
||||
* null-characters. It is unlikely that this can happen in
|
||||
* practice and the concequences are not serious enough to
|
||||
* introduce extra checks here.
|
||||
*/
|
||||
modname = _PyUnicode_AsString(mod);
|
||||
if (modname == NULL) {
|
||||
modname = "<encoding error>";
|
||||
PyErr_Clear();
|
||||
}
|
||||
}
|
||||
if (modname != NULL &&
|
||||
PyUnicode_CompareWithASCIIString(modname, "builtins") != 0)
|
||||
return PyUnicode_FromFormat("<%U.%s>",
|
||||
else if (mod && PyModule_Check(mod)) {
|
||||
modname = PyModule_GetName(mod);
|
||||
if (modname == NULL) {
|
||||
PyErr_Clear();
|
||||
modname = "builtins";
|
||||
}
|
||||
}
|
||||
else {
|
||||
modname = "builtins";
|
||||
}
|
||||
if (strcmp(modname, "builtins") != 0)
|
||||
return PyUnicode_FromFormat("<%s.%s>",
|
||||
modname,
|
||||
fn->m_ml->ml_name);
|
||||
else
|
||||
|
|
|
@ -168,8 +168,8 @@ PyModule_GetDict(PyObject *m)
|
|||
return d;
|
||||
}
|
||||
|
||||
PyObject *
|
||||
PyModule_GetNameObject(PyObject *m)
|
||||
const char *
|
||||
PyModule_GetName(PyObject *m)
|
||||
{
|
||||
PyObject *d;
|
||||
PyObject *nameobj;
|
||||
|
@ -185,21 +185,7 @@ PyModule_GetNameObject(PyObject *m)
|
|||
PyErr_SetString(PyExc_SystemError, "nameless module");
|
||||
return NULL;
|
||||
}
|
||||
Py_INCREF(nameobj);
|
||||
return nameobj;
|
||||
}
|
||||
|
||||
const char *
|
||||
PyModule_GetName(PyObject *m)
|
||||
{
|
||||
PyObject *nameobj;
|
||||
char *utf8;
|
||||
nameobj = PyModule_GetNameObject(m);
|
||||
if (nameobj == NULL)
|
||||
return NULL;
|
||||
utf8 = _PyUnicode_AsString(nameobj);
|
||||
Py_DECREF(nameobj);
|
||||
return utf8;
|
||||
return _PyUnicode_AsString(nameobj);
|
||||
}
|
||||
|
||||
PyObject*
|
||||
|
|
Loading…
Reference in New Issue