summaryrefslogtreecommitdiffstats
path: root/Modules/_codecsmodule.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2007-11-06 21:34:58 (GMT)
committerGuido van Rossum <guido@python.org>2007-11-06 21:34:58 (GMT)
commit98297ee7815939b124156e438b22bd652d67b5db (patch)
treea9d239ebd87c73af2571ab48003984c4e18e27e5 /Modules/_codecsmodule.c
parenta19f80c6df2df5e8a5d0cff37131097835ef971e (diff)
downloadcpython-98297ee7815939b124156e438b22bd652d67b5db.zip
cpython-98297ee7815939b124156e438b22bd652d67b5db.tar.gz
cpython-98297ee7815939b124156e438b22bd652d67b5db.tar.bz2
Merging the py3k-pep3137 branch back into the py3k branch.
No detailed change log; just check out the change log for the py3k-pep3137 branch. The most obvious changes: - str8 renamed to bytes (PyString at the C level); - bytes renamed to buffer (PyBytes at the C level); - PyString and PyUnicode are no longer compatible. I.e. we now have an immutable bytes type and a mutable bytes type. The behavior of PyString was modified quite a bit, to make it more bytes-like. Some changes are still on the to-do list.
Diffstat (limited to 'Modules/_codecsmodule.c')
-rw-r--r--Modules/_codecsmodule.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/Modules/_codecsmodule.c b/Modules/_codecsmodule.c
index e3933e7..caee3fd 100644
--- a/Modules/_codecsmodule.c
+++ b/Modules/_codecsmodule.c
@@ -180,7 +180,7 @@ escape_encode(PyObject *self,
"string is too large to encode");
return NULL;
}
- v = PyBytes_FromStringAndSize(NULL, newsize);
+ v = PyString_FromStringAndSize(NULL, newsize);
if (v == NULL) {
return NULL;
@@ -188,11 +188,11 @@ escape_encode(PyObject *self,
else {
register Py_ssize_t i;
register char c;
- register char *p = PyBytes_AS_STRING(v);
+ register char *p = PyString_AS_STRING(v);
for (i = 0; i < size; i++) {
/* There's at least enough room for a hex escape */
- assert(newsize - (p - PyBytes_AS_STRING(v)) >= 4);
+ assert(newsize - (p - PyString_AS_STRING(v)) >= 4);
c = PyString_AS_STRING(str)[i];
if (c == '\'' || c == '\\')
*p++ = '\\', *p++ = c;
@@ -212,13 +212,12 @@ escape_encode(PyObject *self,
*p++ = c;
}
*p = '\0';
- if (PyBytes_Resize(v, (p - PyBytes_AS_STRING(v)))) {
- Py_DECREF(v);
+ if (_PyString_Resize(&v, (p - PyString_AS_STRING(v)))) {
return NULL;
}
}
- return codec_tuple(v, PyBytes_Size(v));
+ return codec_tuple(v, PyString_Size(v));
}
/* --- Decoder ------------------------------------------------------------ */
@@ -654,7 +653,7 @@ readbuffer_encode(PyObject *self,
&data, &size, &errors))
return NULL;
- return codec_tuple(PyBytes_FromStringAndSize(data, size), size);
+ return codec_tuple(PyString_FromStringAndSize(data, size), size);
}
static PyObject *
@@ -669,7 +668,7 @@ charbuffer_encode(PyObject *self,
&data, &size, &errors))
return NULL;
- return codec_tuple(PyBytes_FromStringAndSize(data, size), size);
+ return codec_tuple(PyString_FromStringAndSize(data, size), size);
}
static PyObject *
@@ -688,12 +687,12 @@ unicode_internal_encode(PyObject *self,
if (PyUnicode_Check(obj)) {
data = PyUnicode_AS_DATA(obj);
size = PyUnicode_GET_DATA_SIZE(obj);
- return codec_tuple(PyBytes_FromStringAndSize(data, size), size);
+ return codec_tuple(PyString_FromStringAndSize(data, size), size);
}
else {
if (PyObject_AsReadBuffer(obj, (const void **)&data, &size))
return NULL;
- return codec_tuple(PyBytes_FromStringAndSize(data, size), size);
+ return codec_tuple(PyString_FromStringAndSize(data, size), size);
}
}