summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeal Norwitz <nnorwitz@gmail.com>2007-08-26 04:51:10 (GMT)
committerNeal Norwitz <nnorwitz@gmail.com>2007-08-26 04:51:10 (GMT)
commited2b7397a0558414e1ec61c48bc889bb05e261ea (patch)
tree2516676def25ff2857db8fffebbe97fb23c1cb54
parent6ea45d33412d4ecb2862645d57137b7ea1223281 (diff)
downloadcpython-ed2b7397a0558414e1ec61c48bc889bb05e261ea.zip
cpython-ed2b7397a0558414e1ec61c48bc889bb05e261ea.tar.gz
cpython-ed2b7397a0558414e1ec61c48bc889bb05e261ea.tar.bz2
Use unicode and remove support for some uses of str8.
-rw-r--r--Objects/complexobject.c10
-rw-r--r--Objects/exceptions.c5
-rw-r--r--Objects/listobject.c8
-rw-r--r--Objects/longobject.c14
-rw-r--r--Objects/moduleobject.c9
5 files changed, 15 insertions, 31 deletions
diff --git a/Objects/complexobject.c b/Objects/complexobject.c
index 253f714..fa493d7 100644
--- a/Objects/complexobject.c
+++ b/Objects/complexobject.c
@@ -649,11 +649,7 @@ complex_subtype_from_string(PyTypeObject *type, PyObject *v)
char s_buffer[256];
Py_ssize_t len;
- if (PyString_Check(v)) {
- s = PyString_AS_STRING(v);
- len = PyString_GET_SIZE(v);
- }
- else if (PyUnicode_Check(v)) {
+ if (PyUnicode_Check(v)) {
if (PyUnicode_GET_SIZE(v) >= (Py_ssize_t)sizeof(s_buffer)) {
PyErr_SetString(PyExc_ValueError,
"complex() literal too large to convert");
@@ -833,7 +829,7 @@ complex_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
Py_INCREF(r);
return r;
}
- if (PyString_Check(r) || PyUnicode_Check(r)) {
+ if (PyUnicode_Check(r)) {
if (i != NULL) {
PyErr_SetString(PyExc_TypeError,
"complex() can't take second arg"
@@ -842,7 +838,7 @@ complex_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
}
return complex_subtype_from_string(type, r);
}
- if (i != NULL && (PyString_Check(i) || PyUnicode_Check(i))) {
+ if (i != NULL && PyUnicode_Check(i)) {
PyErr_SetString(PyExc_TypeError,
"complex() second arg can't be a string");
return NULL;
diff --git a/Objects/exceptions.c b/Objects/exceptions.c
index 7afaac0..e900243 100644
--- a/Objects/exceptions.c
+++ b/Objects/exceptions.c
@@ -833,10 +833,7 @@ SyntaxError_str(PySyntaxErrorObject *self)
/* XXX -- do all the additional formatting with filename and
lineno here */
- if (self->filename) {
- if (PyString_Check(self->filename))
- filename = PyString_AsString(self->filename);
- else if (PyUnicode_Check(self->filename))
+ if (self->filename && PyUnicode_Check(self->filename)) {
filename = PyUnicode_AsString(self->filename);
}
have_lineno = (self->lineno != NULL) && PyInt_CheckExact(self->lineno);
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 50d9d9b..3de07c9 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -1942,6 +1942,7 @@ static int
is_default_cmp(PyObject *cmpfunc)
{
PyCFunctionObject *f;
+ const char *module;
if (cmpfunc == NULL || cmpfunc == Py_None)
return 1;
if (!PyCFunction_Check(cmpfunc))
@@ -1949,9 +1950,12 @@ is_default_cmp(PyObject *cmpfunc)
f = (PyCFunctionObject *)cmpfunc;
if (f->m_self != NULL)
return 0;
- if (!PyString_Check(f->m_module))
+ if (!PyUnicode_Check(f->m_module))
return 0;
- if (strcmp(PyString_AS_STRING(f->m_module), "__builtin__") != 0)
+ module = PyUnicode_AsString(f->m_module);
+ if (module == NULL)
+ return 0;
+ if (strcmp(module, "__builtin__") != 0)
return 0;
if (strcmp(f->m_ml->ml_name, "cmp") != 0)
return 0;
diff --git a/Objects/longobject.c b/Objects/longobject.c
index b724edf..cdf8b99 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -3517,19 +3517,11 @@ long_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return PyLong_FromLong(0L);
if (base == -909)
return PyNumber_Long(x);
- else if (PyString_Check(x) || PyBytes_Check(x)) {
+ else if (PyBytes_Check(x)) {
/* Since PyLong_FromString doesn't have a length parameter,
* check here for possible NULs in the string. */
- char *string;
- int size;
- if (PyBytes_Check(x)) {
- string = PyBytes_AS_STRING(x);
- size = PyBytes_GET_SIZE(x);
- }
- else {
- string = PyString_AS_STRING(x);
- size = PyString_GET_SIZE(x);
- }
+ char *string = PyBytes_AS_STRING(x);
+ int size = PyBytes_GET_SIZE(x);
if (strlen(string) != size) {
/* We only see this if there's a null byte in x,
x is a str8 or a bytes, *and* a base is given. */
diff --git a/Objects/moduleobject.c b/Objects/moduleobject.c
index 19bb149..fbb9fba 100644
--- a/Objects/moduleobject.c
+++ b/Objects/moduleobject.c
@@ -66,17 +66,12 @@ PyModule_GetName(PyObject *m)
d = ((PyModuleObject *)m)->md_dict;
if (d == NULL ||
(nameobj = PyDict_GetItemString(d, "__name__")) == NULL ||
- !(PyString_Check(nameobj) || PyUnicode_Check(nameobj)))
+ !PyUnicode_Check(nameobj))
{
PyErr_SetString(PyExc_SystemError, "nameless module");
return NULL;
}
- if (PyUnicode_Check(nameobj)) {
- nameobj = _PyUnicode_AsDefaultEncodedString(nameobj, NULL);
- if (nameobj == NULL)
- return NULL;
- }
- return PyString_AsString(nameobj);
+ return PyUnicode_AsString(nameobj);
}
const char *