Mercurial > cpython-lru_cache-weakref
diff Objects/stringobject.c @ 43976:8744e41daf54
Just inline a function, and discover that it can only raise an exception.
Next step: should PyString_AsStringAndSize accept buffer objects?
| author | Amaury Forgeot d'Arc <amauryfa@gmail.com> |
|---|---|
| date | Thu, 22 Nov 2007 21:42:04 +0000 |
| parents | d23829a9db21 |
| children | 22e09905e400 |
line wrap: on
line diff
--- a/Objects/stringobject.c Thu Nov 22 21:33:52 2007 +0000 +++ b/Objects/stringobject.c Thu Nov 22 21:42:04 2007 +0000 @@ -504,16 +504,6 @@ return len; } -static /*const*/ char * -string_getbuffer(register PyObject *op) -{ - char *s; - Py_ssize_t len; - if (PyString_AsStringAndSize(op, &s, &len)) - return NULL; - return s; -} - Py_ssize_t PyString_Size(register PyObject *op) { @@ -525,8 +515,11 @@ /*const*/ char * PyString_AsString(register PyObject *op) { - if (!PyString_Check(op)) - return string_getbuffer(op); + if (!PyString_Check(op)) { + PyErr_Format(PyExc_TypeError, + "expected bytes, %.200s found", Py_Type(op)->tp_name); + return NULL; + } return ((PyStringObject *)op) -> ob_sval; } @@ -542,7 +535,7 @@ if (!PyString_Check(obj)) { PyErr_Format(PyExc_TypeError, - "expected string, %.200s found", Py_Type(obj)->tp_name); + "expected bytes, %.200s found", Py_Type(obj)->tp_name); return -1; } @@ -551,7 +544,7 @@ *len = PyString_GET_SIZE(obj); else if (strlen(*s) != (size_t)PyString_GET_SIZE(obj)) { PyErr_SetString(PyExc_TypeError, - "expected string without null bytes"); + "expected bytes with no null"); return -1; } return 0;
