summaryrefslogtreecommitdiffstats
path: root/Objects/unicodeobject.c
diff options
context:
space:
mode:
authorWalter Dörwald <walter@livinglogic.de>2007-05-05 14:43:36 (GMT)
committerWalter Dörwald <walter@livinglogic.de>2007-05-05 14:43:36 (GMT)
commit51ab4146275d9178a871317413f998aede952b7d (patch)
treeac791bdf40db31fb40a4b869307e26c779585392 /Objects/unicodeobject.c
parentce32db3ab5ca95fa6de99bf8f12285b1a736223a (diff)
downloadcpython-51ab4146275d9178a871317413f998aede952b7d.zip
cpython-51ab4146275d9178a871317413f998aede952b7d.tar.gz
cpython-51ab4146275d9178a871317413f998aede952b7d.tar.bz2
Change PyUnicode_EncodeUTF7() to return a bytes object.
Diffstat (limited to 'Objects/unicodeobject.c')
-rw-r--r--Objects/unicodeobject.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index aed07ee..af98a90 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -1149,13 +1149,13 @@ PyObject *PyUnicode_EncodeUTF7(const Py_UNICODE *s,
char * start;
if (size == 0)
- return PyString_FromStringAndSize(NULL, 0);
+ return PyBytes_FromStringAndSize(NULL, 0);
- v = PyString_FromStringAndSize(NULL, cbAllocated);
+ v = PyBytes_FromStringAndSize(NULL, cbAllocated);
if (v == NULL)
return NULL;
- start = out = PyString_AS_STRING(v);
+ start = out = PyBytes_AS_STRING(v);
for (;i < size; ++i) {
Py_UNICODE ch = s[i];
@@ -1221,7 +1221,10 @@ PyObject *PyUnicode_EncodeUTF7(const Py_UNICODE *s,
*out++ = '-';
}
- _PyString_Resize(&v, out - start);
+ if (PyBytes_Resize(v, out - start)) {
+ Py_DECREF(v);
+ return NULL;
+ }
return v;
}