[Python-3000-checkins] r59806 - python/branches/py3k/Objects/stringobject.c

alexandre.vassalotti python-3000-checkins at python.org
Mon Jan 7 03:06:10 CET 2008


Author: alexandre.vassalotti
Date: Mon Jan  7 03:06:10 2008
New Revision: 59806

Modified:
   python/branches/py3k/Objects/stringobject.c
Log:
Clean up PyString_Size().

Removed string_getsize(), since it was only useful when
PyString_AsStringAndSize was able to convert an (ascii)
Unicode object to a C string.


Modified: python/branches/py3k/Objects/stringobject.c
==============================================================================
--- python/branches/py3k/Objects/stringobject.c	(original)
+++ python/branches/py3k/Objects/stringobject.c	Mon Jan  7 03:06:10 2008
@@ -494,25 +494,18 @@
 /* -------------------------------------------------------------------- */
 /* object api */
 
-static Py_ssize_t
-string_getsize(register PyObject *op)
-{
-	char *s;
-	Py_ssize_t len;
-	if (PyString_AsStringAndSize(op, &s, &len))
-		return -1;
-	return len;
-}
-
 Py_ssize_t
 PyString_Size(register PyObject *op)
 {
-	if (!PyString_Check(op))
-		return string_getsize(op);
+	if (!PyString_Check(op)) {
+		PyErr_Format(PyExc_TypeError,
+		     "expected bytes, %.200s found", Py_TYPE(op)->tp_name);
+		return -1;
+	}
 	return Py_SIZE(op);
 }
 
-/*const*/ char *
+char *
 PyString_AsString(register PyObject *op)
 {
 	if (!PyString_Check(op)) {
@@ -520,7 +513,7 @@
 		     "expected bytes, %.200s found", Py_TYPE(op)->tp_name);
 		return NULL;
 	}
-	return ((PyStringObject *)op) -> ob_sval;
+	return ((PyStringObject *)op)->ob_sval;
 }
 
 int


More information about the Python-3000-checkins mailing list