[Python-checkins] cpython: unicode_fromascii() checks that the input is ASCII in debug mode

victor.stinner python-checkins at python.org
Thu Oct 6 01:50:59 CEST 2011


http://hg.python.org/cpython/rev/2bf53a7e253f
changeset:   72711:2bf53a7e253f
user:        Victor Stinner <victor.stinner at haypocalc.com>
date:        Wed Oct 05 23:26:01 2011 +0200
summary:
  unicode_fromascii() checks that the input is ASCII in debug mode

files:
  Objects/unicodeobject.c |  16 ++++++++++++----
  1 files changed, 12 insertions(+), 4 deletions(-)


diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -1537,12 +1537,20 @@
 }
 
 static PyObject*
-unicode_fromascii(const unsigned char* u, Py_ssize_t size)
-{
-    PyObject *res = PyUnicode_New(size, 127);
+unicode_fromascii(const unsigned char* s, Py_ssize_t size)
+{
+    PyObject *res;
+#ifdef Py_DEBUG
+    const unsigned char *p;
+    const unsigned char *end = s + size;
+    for (p=s; p < end; p++) {
+        assert(*p < 128);
+    }
+#endif
+    res = PyUnicode_New(size, 127);
     if (!res)
         return NULL;
-    memcpy(PyUnicode_1BYTE_DATA(res), u, size);
+    memcpy(PyUnicode_1BYTE_DATA(res), s, size);
     return res;
 }
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list