Merged revisions 79779 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79779 | philip.jenvey | 2010-04-04 19:51:51 -0700 (Sun, 04 Apr 2010) | 2 lines

  fix escape_encode to return the correct consumed size
........
This commit is contained in:
Philip Jenvey 2010-06-09 17:55:28 +00:00
parent 96ec48b414
commit bc3376f66a
3 changed files with 10 additions and 4 deletions

View File

@ -829,6 +829,9 @@ class UnicodeInternalTest(unittest.TestCase):
"UnicodeInternalTest")
self.assertEquals((u"ab", 12), ignored)
encoder = codecs.getencoder("string-escape")
self.assertEquals(encoder(r'\x00')[1], 4)
# From http://www.gnu.org/software/libidn/draft-josefsson-idn-test-vectors.html
nameprep_tests = [
# 3.1 Map to nothing.

View File

@ -67,6 +67,8 @@ C-API
Library
-------
- Fix codecs.escape_encode to return the correct consumed size.
- Issue #6470: Drop UNC prefix in FixTk.
- Issue #8833: tarfile created hard link entries with a size field != 0 by

View File

@ -179,12 +179,13 @@ escape_encode(PyObject *self,
PyObject *str;
const char *errors = NULL;
char *buf;
Py_ssize_t len;
Py_ssize_t consumed, len;
if (!PyArg_ParseTuple(args, "O!|z:escape_encode",
&PyString_Type, &str, &errors))
if (!PyArg_ParseTuple(args, "S|z:escape_encode",
&str, &errors))
return NULL;
consumed = PyString_GET_SIZE(str);
str = PyString_Repr(str, 0);
if (!str)
return NULL;
@ -196,7 +197,7 @@ escape_encode(PyObject *self,
if (_PyString_Resize(&str, len-2) < 0)
return NULL;
return codec_tuple(str, PyString_Size(str));
return codec_tuple(str, consumed);
}
#ifdef Py_USING_UNICODE