[Python-3000-checkins] r57497 - python/branches/py3k/Objects/complexobject.c python/branches/py3k/Objects/exceptions.c python/branches/py3k/Objects/listobject.c python/branches/py3k/Objects/longobject.c python/branches/py3k/Objects/moduleobject.c

neal.norwitz python-3000-checkins at python.org
Sun Aug 26 06:51:11 CEST 2007


Author: neal.norwitz
Date: Sun Aug 26 06:51:10 2007
New Revision: 57497

Modified:
   python/branches/py3k/Objects/complexobject.c
   python/branches/py3k/Objects/exceptions.c
   python/branches/py3k/Objects/listobject.c
   python/branches/py3k/Objects/longobject.c
   python/branches/py3k/Objects/moduleobject.c
Log:
Use unicode and remove support for some uses of str8.

Modified: python/branches/py3k/Objects/complexobject.c
==============================================================================
--- python/branches/py3k/Objects/complexobject.c	(original)
+++ python/branches/py3k/Objects/complexobject.c	Sun Aug 26 06:51:10 2007
@@ -649,11 +649,7 @@
 	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 @@
 		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 @@
                 }
 		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;

Modified: python/branches/py3k/Objects/exceptions.c
==============================================================================
--- python/branches/py3k/Objects/exceptions.c	(original)
+++ python/branches/py3k/Objects/exceptions.c	Sun Aug 26 06:51:10 2007
@@ -833,10 +833,7 @@
     /* 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);

Modified: python/branches/py3k/Objects/listobject.c
==============================================================================
--- python/branches/py3k/Objects/listobject.c	(original)
+++ python/branches/py3k/Objects/listobject.c	Sun Aug 26 06:51:10 2007
@@ -1942,6 +1942,7 @@
 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 @@
 	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;

Modified: python/branches/py3k/Objects/longobject.c
==============================================================================
--- python/branches/py3k/Objects/longobject.c	(original)
+++ python/branches/py3k/Objects/longobject.c	Sun Aug 26 06:51:10 2007
@@ -3517,19 +3517,11 @@
 		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. */

Modified: python/branches/py3k/Objects/moduleobject.c
==============================================================================
--- python/branches/py3k/Objects/moduleobject.c	(original)
+++ python/branches/py3k/Objects/moduleobject.c	Sun Aug 26 06:51:10 2007
@@ -66,17 +66,12 @@
 	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 *


More information about the Python-3000-checkins mailing list