]> granicus.if.org Git - python/commitdiff
Patch by Ron Adam to make repr(str8(...)) return something looking like
authorGuido van Rossum <guido@python.org>
Fri, 15 Jun 2007 00:00:12 +0000 (00:00 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 15 Jun 2007 00:00:12 +0000 (00:00 +0000)
s'...' instead of '...', allowing it to be distinguished from unicode
strings.  This doesn't roundtrip -- for now, that's intentional, as the
goal is to rip these out rather than to make it a feature, and making
them stand out (breaking 8 more tests) helps us track them down so we
can rip them out.

Objects/stringobject.c

index 62955b9c7aa93df8acdd4e8b055e070ce4ed826d..dcecd6f60a87b113fe244022a73208daba5bc556 100644 (file)
@@ -835,7 +835,7 @@ PyString_Repr(PyObject *obj, int smartquotes)
        static const char *hexdigits = "0123456789abcdef";
        register PyStringObject* op = (PyStringObject*) obj;
        Py_ssize_t length = PyString_GET_SIZE(op);
-       size_t newsize = 2 + 4 * op->ob_size;
+       size_t newsize = 3 + 4 * op->ob_size;
        PyObject *v;
        if (newsize > PY_SSIZE_T_MAX || newsize / 4 != op->ob_size) {
                PyErr_SetString(PyExc_OverflowError,
@@ -867,7 +867,7 @@ PyString_Repr(PyObject *obj, int smartquotes)
                        ;
                }
 
-               *p++ = quote;
+               *p++ = 's', *p++ = quote;
                for (i = 0; i < op->ob_size; i++) {
                        /* There's at least enough room for a hex escape
                           and a closing quote. */