Author: neal.norwitz
Date: Sun Aug 26 07:33:45 2007
New Revision: 57502

Modified:
   python/branches/py3k/Python/ceval.c
Log:
Use unicode

Modified: python/branches/py3k/Python/ceval.c
==============================================================================
--- python/branches/py3k/Python/ceval.c (original)
+++ python/branches/py3k/Python/ceval.c Sun Aug 26 07:33:45 2007
@@ -119,7 +119,7 @@
 static int import_all_from(PyObject *, PyObject *);
 static void set_exc_info(PyThreadState *, PyObject *, PyObject *, PyObject *);
 static void reset_exc_info(PyThreadState *);
-static void format_exc_check_arg(PyObject *, char *, PyObject *);
+static void format_exc_check_arg(PyObject *, const char *, PyObject *);
 static PyObject * string_concatenate(PyObject *, PyObject *,
                                    PyFrameObject *, unsigned char *);
 
@@ -1763,11 +1763,11 @@
 
                case LOAD_GLOBAL:
                        w = GETITEM(names, oparg);
-                       if (PyString_CheckExact(w)) {
+                       if (PyUnicode_CheckExact(w)) {
                                /* Inline the PyDict_GetItem() calls.
                                   WARNING: this is an extreme speed hack.
                                   Do not try this at home. */
-                               long hash = ((PyStringObject *)w)->ob_shash;
+                               long hash = ((PyUnicodeObject *)w)->hash;
                                if (hash != -1) {
                                        PyDictObject *d;
                                        PyDictEntry *e;
@@ -2658,7 +2658,7 @@
                        PyObject *keyword = kws[2*i];
                        PyObject *value = kws[2*i + 1];
                        int j;
-                       if (keyword == NULL || !(PyString_Check(keyword) || 
PyUnicode_Check(keyword))) {
+                       if (keyword == NULL || !PyUnicode_Check(keyword)) {
                                PyErr_Format(PyExc_TypeError,
                                    "%S() keywords must be strings",
                                    co->co_name);
@@ -3675,7 +3675,7 @@
                                      "for keyword argument '%.200s'",
                                     PyEval_GetFuncName(func),
                                     PyEval_GetFuncDesc(func),
-                                    PyString_AsString(key));
+                                    PyUnicode_AsString(key));
                        Py_DECREF(key);
                        Py_DECREF(value);
                        Py_DECREF(kwdict);
@@ -4086,14 +4086,14 @@
 }
 
 static void
-format_exc_check_arg(PyObject *exc, char *format_str, PyObject *obj)
+format_exc_check_arg(PyObject *exc, const char *format_str, PyObject *obj)
 {
-       char *obj_str;
+       const char *obj_str;
 
        if (!obj)
                return;
 
-       obj_str = PyString_AsString(obj);
+       obj_str = PyUnicode_AsString(obj);
        if (!obj_str)
                return;
 
_______________________________________________
Python-3000-checkins mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000-checkins

Reply via email to