diff Objects/stringobject.c @ 44548:05bcb790ef63

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.
author Alexandre Vassalotti <alexandre@peadrop.com>
date Mon, 07 Jan 2008 02:06:10 +0000
parents 86a2679dca46
children e43238760c38
line wrap: on
line diff
--- a/Objects/stringobject.c	Sun Jan 06 21:41:49 2008 +0000
+++ b/Objects/stringobject.c	Mon Jan 07 02:06:10 2008 +0000
@@ -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