]> granicus.if.org Git - python/commitdiff
Use unicode and remove support for some uses of str8.
authorNeal Norwitz <nnorwitz@gmail.com>
Sun, 26 Aug 2007 04:51:10 +0000 (04:51 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Sun, 26 Aug 2007 04:51:10 +0000 (04:51 +0000)
Objects/complexobject.c
Objects/exceptions.c
Objects/listobject.c
Objects/longobject.c
Objects/moduleobject.c

index 253f7149259febcf5f82f826103a238fe99e6bd9..fa493d76e88f0ae7883254fe28508a3203f70ff3 100644 (file)
@@ -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;
index 7afaac04f3f28eda3cd1ee55166ac4f54e75c9c5..e900243448fdd8e34c0b337f4cacecae7891df02 100644 (file)
@@ -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);
index 50d9d9b76d2773abf0ce9ed0ee780fc9df96a6be..3de07c9bc60e1e485218324df144125f7775cb47 100644 (file)
@@ -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;
index b724edf3e078740eef200ba25e19e8767e5a212b..cdf8b99cafa519bc92fcb0a9a06e62d8bae52a71 100644 (file)
@@ -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. */
index 19bb149c0e8bf2b64e94b852501aa6992d2414b3..fbb9fba9e9085025322670e168be7b5c5c54e446 100644 (file)
@@ -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 *