summaryrefslogtreecommitdiffstats
path: root/Objects/typeobject.c
diff options
context:
space:
mode:
authorGregory P. Smith <greg@mad-scientist.com>2008-06-09 04:58:54 (GMT)
committerGregory P. Smith <greg@mad-scientist.com>2008-06-09 04:58:54 (GMT)
commitdd96db63f689e2f0d8ae5a1436b3b3395eec7de5 (patch)
treeb2299acac9ce44fc488fc7b2ae2a44548cd5fbb8 /Objects/typeobject.c
parente98839a1f48b2915f1cc747884e64f4d6e4c8e7a (diff)
downloadcpython-dd96db63f689e2f0d8ae5a1436b3b3395eec7de5.zip
cpython-dd96db63f689e2f0d8ae5a1436b3b3395eec7de5.tar.gz
cpython-dd96db63f689e2f0d8ae5a1436b3b3395eec7de5.tar.bz2
This reverts r63675 based on the discussion in this thread:
http://mail.python.org/pipermail/python-dev/2008-June/079988.html Python 2.6 should stick with PyString_* in its codebase. The PyBytes_* names in the spirit of 3.0 are available via a #define only. See the email thread.
Diffstat (limited to 'Objects/typeobject.c')
-rw-r--r--Objects/typeobject.c120
1 files changed, 60 insertions, 60 deletions
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index e88ca05..e0ae55b 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -19,10 +19,10 @@
>> (8*sizeof(unsigned int) - MCACHE_SIZE_EXP))
#define MCACHE_HASH_METHOD(type, name) \
MCACHE_HASH((type)->tp_version_tag, \
- ((PyBytesObject *)(name))->ob_shash)
+ ((PyStringObject *)(name))->ob_shash)
#define MCACHE_CACHEABLE_NAME(name) \
- PyBytes_CheckExact(name) && \
- PyBytes_GET_SIZE(name) <= MCACHE_MAX_ATTR_SIZE
+ PyString_CheckExact(name) && \
+ PyString_GET_SIZE(name) <= MCACHE_MAX_ATTR_SIZE
struct method_cache_entry {
unsigned int version;
@@ -217,7 +217,7 @@ type_name(PyTypeObject *type, void *context)
s = type->tp_name;
else
s++;
- return PyBytes_FromString(s);
+ return PyString_FromString(s);
}
}
@@ -236,14 +236,14 @@ type_set_name(PyTypeObject *type, PyObject *value, void *context)
"can't delete %s.__name__", type->tp_name);
return -1;
}
- if (!PyBytes_Check(value)) {
+ if (!PyString_Check(value)) {
PyErr_Format(PyExc_TypeError,
"can only assign string to %s.__name__, not '%s'",
type->tp_name, Py_TYPE(value)->tp_name);
return -1;
}
- if (strlen(PyBytes_AS_STRING(value))
- != (size_t)PyBytes_GET_SIZE(value)) {
+ if (strlen(PyString_AS_STRING(value))
+ != (size_t)PyString_GET_SIZE(value)) {
PyErr_Format(PyExc_ValueError,
"__name__ must not contain null bytes");
return -1;
@@ -256,7 +256,7 @@ type_set_name(PyTypeObject *type, PyObject *value, void *context)
Py_DECREF(et->ht_name);
et->ht_name = value;
- type->tp_name = PyBytes_AS_STRING(value);
+ type->tp_name = PyString_AS_STRING(value);
return 0;
}
@@ -279,9 +279,9 @@ type_module(PyTypeObject *type, void *context)
else {
s = strrchr(type->tp_name, '.');
if (s != NULL)
- return PyBytes_FromStringAndSize(
+ return PyString_FromStringAndSize(
type->tp_name, (Py_ssize_t)(s - type->tp_name));
- return PyBytes_FromString("__builtin__");
+ return PyString_FromString("__builtin__");
}
}
@@ -555,7 +555,7 @@ type_get_doc(PyTypeObject *type, void *context)
{
PyObject *result;
if (!(type->tp_flags & Py_TPFLAGS_HEAPTYPE) && type->tp_doc != NULL)
- return PyBytes_FromString(type->tp_doc);
+ return PyString_FromString(type->tp_doc);
result = PyDict_GetItemString(type->tp_dict, "__doc__");
if (result == NULL) {
result = Py_None;
@@ -644,7 +644,7 @@ type_repr(PyTypeObject *type)
mod = type_module(type, NULL);
if (mod == NULL)
PyErr_Clear();
- else if (!PyBytes_Check(mod)) {
+ else if (!PyString_Check(mod)) {
Py_DECREF(mod);
mod = NULL;
}
@@ -657,14 +657,14 @@ type_repr(PyTypeObject *type)
else
kind = "type";
- if (mod != NULL && strcmp(PyBytes_AS_STRING(mod), "__builtin__")) {
- rtn = PyBytes_FromFormat("<%s '%s.%s'>",
+ if (mod != NULL && strcmp(PyString_AS_STRING(mod), "__builtin__")) {
+ rtn = PyString_FromFormat("<%s '%s.%s'>",
kind,
- PyBytes_AS_STRING(mod),
- PyBytes_AS_STRING(name));
+ PyString_AS_STRING(mod),
+ PyString_AS_STRING(name));
}
else
- rtn = PyBytes_FromFormat("<%s '%s'>", kind, type->tp_name);
+ rtn = PyString_FromFormat("<%s '%s'>", kind, type->tp_name);
Py_XDECREF(mod);
Py_DECREF(name);
@@ -1136,7 +1136,7 @@ lookup_maybe(PyObject *self, char *attrstr, PyObject **attrobj)
PyObject *res;
if (*attrobj == NULL) {
- *attrobj = PyBytes_InternFromString(attrstr);
+ *attrobj = PyString_InternFromString(attrstr);
if (*attrobj == NULL)
return NULL;
}
@@ -1328,7 +1328,7 @@ class_name(PyObject *cls)
}
if (name == NULL)
return NULL;
- if (!PyBytes_Check(name)) {
+ if (!PyString_Check(name)) {
Py_DECREF(name);
return NULL;
}
@@ -1350,7 +1350,7 @@ check_duplicates(PyObject *list)
o = class_name(o);
PyErr_Format(PyExc_TypeError,
"duplicate base class %s",
- o ? PyBytes_AS_STRING(o) : "?");
+ o ? PyString_AS_STRING(o) : "?");
Py_XDECREF(o);
return -1;
}
@@ -1396,7 +1396,7 @@ consistent method resolution\norder (MRO) for bases");
while (PyDict_Next(set, &i, &k, &v) && (size_t)off < sizeof(buf)) {
PyObject *name = class_name(k);
off += PyOS_snprintf(buf + off, sizeof(buf) - off, " %s",
- name ? PyBytes_AS_STRING(name) : "?");
+ name ? PyString_AS_STRING(name) : "?");
Py_XDECREF(name);
if (--n && (size_t)(off+1) < sizeof(buf)) {
buf[off++] = ',';
@@ -1749,7 +1749,7 @@ get_dict_descriptor(PyTypeObject *type)
PyObject *descr;
if (dict_str == NULL) {
- dict_str = PyBytes_InternFromString("__dict__");
+ dict_str = PyString_InternFromString("__dict__");
if (dict_str == NULL)
return NULL;
}
@@ -1898,14 +1898,14 @@ valid_identifier(PyObject *s)
unsigned char *p;
Py_ssize_t i, n;
- if (!PyBytes_Check(s)) {
+ if (!PyString_Check(s)) {
PyErr_Format(PyExc_TypeError,
"__slots__ items must be strings, not '%.200s'",
Py_TYPE(s)->tp_name);
return 0;
}
- p = (unsigned char *) PyBytes_AS_STRING(s);
- n = PyBytes_GET_SIZE(s);
+ p = (unsigned char *) PyString_AS_STRING(s);
+ n = PyString_GET_SIZE(s);
/* We must reject an empty name. As a hack, we bump the
length to 1 so that the loop will balk on the trailing \0. */
if (n == 0)
@@ -2107,7 +2107,7 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
/* Have slots */
/* Make it into a tuple */
- if (PyBytes_Check(slots) || PyUnicode_Check(slots))
+ if (PyString_Check(slots) || PyUnicode_Check(slots))
slots = PyTuple_Pack(1, slots);
else
slots = PySequence_Tuple(slots);
@@ -2145,8 +2145,8 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
char *s;
if (!valid_identifier(tmp))
goto bad_slots;
- assert(PyBytes_Check(tmp));
- s = PyBytes_AS_STRING(tmp);
+ assert(PyString_Check(tmp));
+ s = PyString_AS_STRING(tmp);
if (strcmp(s, "__dict__") == 0) {
if (!may_add_dict || add_dict) {
PyErr_SetString(PyExc_TypeError,
@@ -2178,7 +2178,7 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
for (i = j = 0; i < nslots; i++) {
char *s;
tmp = PyTuple_GET_ITEM(slots, i);
- s = PyBytes_AS_STRING(tmp);
+ s = PyString_AS_STRING(tmp);
if ((add_dict && strcmp(s, "__dict__") == 0) ||
(add_weak && strcmp(s, "__weakref__") == 0))
continue;
@@ -2271,7 +2271,7 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
type->tp_as_sequence = &et->as_sequence;
type->tp_as_mapping = &et->as_mapping;
type->tp_as_buffer = &et->as_buffer;
- type->tp_name = PyBytes_AS_STRING(name);
+ type->tp_name = PyString_AS_STRING(name);
/* Set tp_base and tp_bases */
type->tp_bases = bases;
@@ -2304,14 +2304,14 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
*/
{
PyObject *doc = PyDict_GetItemString(dict, "__doc__");
- if (doc != NULL && PyBytes_Check(doc)) {
- const size_t n = (size_t)PyBytes_GET_SIZE(doc);
+ if (doc != NULL && PyString_Check(doc)) {
+ const size_t n = (size_t)PyString_GET_SIZE(doc);
char *tp_doc = (char *)PyObject_MALLOC(n+1);
if (tp_doc == NULL) {
Py_DECREF(type);
return NULL;
}
- memcpy(tp_doc, PyBytes_AS_STRING(doc), n+1);
+ memcpy(tp_doc, PyString_AS_STRING(doc), n+1);
type->tp_doc = tp_doc;
}
}
@@ -2334,7 +2334,7 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
slotoffset = base->tp_basicsize;
if (slots != NULL) {
for (i = 0; i < nslots; i++, mp++) {
- mp->name = PyBytes_AS_STRING(
+ mp->name = PyString_AS_STRING(
PyTuple_GET_ITEM(slots, i));
mp->type = T_OBJECT_EX;
mp->offset = slotoffset;
@@ -2535,7 +2535,7 @@ type_getattro(PyTypeObject *type, PyObject *name)
/* Give up */
PyErr_Format(PyExc_AttributeError,
"type object '%.50s' has no attribute '%.400s'",
- type->tp_name, PyBytes_AS_STRING(name));
+ type->tp_name, PyString_AS_STRING(name));
return NULL;
}
@@ -2854,7 +2854,7 @@ object_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
if (sorted_methods == NULL)
goto error;
if (comma == NULL) {
- comma = PyBytes_InternFromString(", ");
+ comma = PyString_InternFromString(", ");
if (comma == NULL)
goto error;
}
@@ -2862,7 +2862,7 @@ object_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
"O", sorted_methods);
if (joined == NULL)
goto error;
- joined_str = PyBytes_AsString(joined);
+ joined_str = PyString_AsString(joined);
if (joined_str == NULL)
goto error;
@@ -2896,20 +2896,20 @@ object_repr(PyObject *self)
mod = type_module(type, NULL);
if (mod == NULL)
PyErr_Clear();
- else if (!PyBytes_Check(mod)) {
+ else if (!PyString_Check(mod)) {
Py_DECREF(mod);
mod = NULL;
}
name = type_name(type, NULL);
if (name == NULL)
return NULL;
- if (mod != NULL && strcmp(PyBytes_AS_STRING(mod), "__builtin__"))
- rtn = PyBytes_FromFormat("<%s.%s object at %p>",
- PyBytes_AS_STRING(mod),
- PyBytes_AS_STRING(name),
+ if (mod != NULL && strcmp(PyString_AS_STRING(mod), "__builtin__"))
+ rtn = PyString_FromFormat("<%s.%s object at %p>",
+ PyString_AS_STRING(mod),
+ PyString_AS_STRING(name),
self);
else
- rtn = PyBytes_FromFormat("<%s object at %p>",
+ rtn = PyString_FromFormat("<%s object at %p>",
type->tp_name, self);
Py_XDECREF(mod);
Py_DECREF(name);
@@ -3069,7 +3069,7 @@ import_copyreg(void)
static PyObject *copyreg_str;
if (!copyreg_str) {
- copyreg_str = PyBytes_InternFromString("copy_reg");
+ copyreg_str = PyString_InternFromString("copy_reg");
if (copyreg_str == NULL)
return NULL;
}
@@ -3375,7 +3375,7 @@ object_format(PyObject *self, PyObject *args)
return NULL;
if (PyUnicode_Check(format_spec)) {
self_as_str = PyObject_Unicode(self);
- } else if (PyBytes_Check(format_spec)) {
+ } else if (PyString_Check(format_spec)) {
self_as_str = PyObject_Str(self);
} else {
PyErr_SetString(PyExc_TypeError, "argument to __format__ must be unicode or str");
@@ -3634,7 +3634,7 @@ inherit_special(PyTypeObject *type, PyTypeObject *base)
type->tp_flags |= Py_TPFLAGS_INT_SUBCLASS;
else if (PyType_IsSubtype(base, &PyLong_Type))
type->tp_flags |= Py_TPFLAGS_LONG_SUBCLASS;
- else if (PyType_IsSubtype(base, &PyBytes_Type))
+ else if (PyType_IsSubtype(base, &PyString_Type))
type->tp_flags |= Py_TPFLAGS_STRING_SUBCLASS;
#ifdef Py_USING_UNICODE
else if (PyType_IsSubtype(base, &PyUnicode_Type))
@@ -3973,7 +3973,7 @@ PyType_Ready(PyTypeObject *type)
*/
if (PyDict_GetItemString(type->tp_dict, "__doc__") == NULL) {
if (type->tp_doc != NULL) {
- PyObject *doc = PyBytes_FromString(type->tp_doc);
+ PyObject *doc = PyString_FromString(type->tp_doc);
if (doc == NULL)
goto error;
PyDict_SetItemString(type->tp_dict, "__doc__", doc);
@@ -4861,7 +4861,7 @@ slot_sq_item(PyObject *self, Py_ssize_t i)
descrgetfunc f;
if (getitem_str == NULL) {
- getitem_str = PyBytes_InternFromString("__getitem__");
+ getitem_str = PyString_InternFromString("__getitem__");
if (getitem_str == NULL)
return NULL;
}
@@ -5229,7 +5229,7 @@ slot_tp_repr(PyObject *self)
return res;
}
PyErr_Clear();
- return PyBytes_FromFormat("<%s object at %p>",
+ return PyString_FromFormat("<%s object at %p>",
Py_TYPE(self)->tp_name, self);
}
@@ -5337,13 +5337,13 @@ slot_tp_getattr_hook(PyObject *self, PyObject *name)
static PyObject *getattr_str = NULL;
if (getattr_str == NULL) {
- getattr_str = PyBytes_InternFromString("__getattr__");
+ getattr_str = PyString_InternFromString("__getattr__");
if (getattr_str == NULL)
return NULL;
}
if (getattribute_str == NULL) {
getattribute_str =
- PyBytes_InternFromString("__getattribute__");
+ PyString_InternFromString("__getattribute__");
if (getattribute_str == NULL)
return NULL;
}
@@ -5484,7 +5484,7 @@ slot_tp_descr_get(PyObject *self, PyObject *obj, PyObject *type)
static PyObject *get_str = NULL;
if (get_str == NULL) {
- get_str = PyBytes_InternFromString("__get__");
+ get_str = PyString_InternFromString("__get__");
if (get_str == NULL)
return NULL;
}
@@ -5554,7 +5554,7 @@ slot_tp_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
Py_ssize_t i, n;
if (new_str == NULL) {
- new_str = PyBytes_InternFromString("__new__");
+ new_str = PyString_InternFromString("__new__");
if (new_str == NULL)
return NULL;
}
@@ -6084,7 +6084,7 @@ init_slotdefs(void)
if (initialized)
return;
for (p = slotdefs; p->name; p++) {
- p->name_strobj = PyBytes_InternFromString(p->name);
+ p->name_strobj = PyString_InternFromString(p->name);
if (!p->name_strobj)
Py_FatalError("Out of memory interning slotdef names");
}
@@ -6299,12 +6299,12 @@ super_repr(PyObject *self)
superobject *su = (superobject *)self;
if (su->obj_type)
- return PyBytes_FromFormat(
+ return PyString_FromFormat(
"<super: <class '%s'>, <%s object>>",
su->type ? su->type->tp_name : "NULL",
su->obj_type->tp_name);
else
- return PyBytes_FromFormat(
+ return PyString_FromFormat(
"<super: <class '%s'>, NULL>",
su->type ? su->type->tp_name : "NULL");
}
@@ -6318,9 +6318,9 @@ super_getattro(PyObject *self, PyObject *name)
if (!skip) {
/* We want __class__ to return the class of the super object
(i.e. super, or a subclass), not the class of su->obj. */
- skip = (PyBytes_Check(name) &&
- PyBytes_GET_SIZE(name) == 9 &&
- strcmp(PyBytes_AS_STRING(name), "__class__") == 0);
+ skip = (PyString_Check(name) &&
+ PyString_GET_SIZE(name) == 9 &&
+ strcmp(PyString_AS_STRING(name), "__class__") == 0);
}
if (!skip) {
@@ -6412,7 +6412,7 @@ supercheck(PyTypeObject *type, PyObject *obj)
PyObject *class_attr;
if (class_str == NULL) {
- class_str = PyBytes_FromString("__class__");
+ class_str = PyString_FromString("__class__");
if (class_str == NULL)
return NULL;
}