]> granicus.if.org Git - python/commitdiff
Bug #1588217: don't parse "= " as a soft line break in binascii's
authorGeorg Brandl <georg@python.org>
Thu, 16 Nov 2006 17:08:48 +0000 (17:08 +0000)
committerGeorg Brandl <georg@python.org>
Thu, 16 Nov 2006 17:08:48 +0000 (17:08 +0000)
a2b_qp() function, instead leave it in the string as quopri.decode()
does.
 (backport from rev. 52765)

Lib/test/test_binascii.py
Misc/NEWS
Modules/binascii.c

index 8df450456ee37a60e9a067bd898c123dd7e24a42..8272ad91aa818b75c0b3bd00c0545d69417b4e19 100755 (executable)
@@ -134,7 +134,7 @@ class BinASCIITest(unittest.TestCase):
             pass
         else:
             self.fail("binascii.a2b_qp(**{1:1}) didn't raise TypeError")
-        self.assertEqual(binascii.a2b_qp("= "), "")
+        self.assertEqual(binascii.a2b_qp("= "), "")
         self.assertEqual(binascii.a2b_qp("=="), "=")
         self.assertEqual(binascii.a2b_qp("=AX"), "=AX")
         self.assertRaises(TypeError, binascii.b2a_qp, foo="bar")
index d61930800630e3b450bcf6233aeadbc2137a10ef..221acbb0332470ea4afe4c4d08c522ce99cf4475 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -70,6 +70,10 @@ Core and builtins
 Extension Modules
 -----------------
 
+- Bug #1588217: don't parse "= " as a soft line break in binascii's
+  a2b_qp() function, instead leave it in the string as quopri.decode()
+  does.
+
 - Patch #838546: Make terminal become controlling in pty.fork()
 
 - Patch #1560695: Add .note.GNU-stack to ctypes' sysv.S so that
index 3b2c8b254cd3fb17300f83ff8c4d390a9aa881e2..4dee45198ef19c81d73c47e6a8c8d9741b98e6ac 100644 (file)
@@ -1057,8 +1057,7 @@ binascii_a2b_qp(PyObject *self, PyObject *args, PyObject *kwargs)
                        in++;
                        if (in >= datalen) break;
                        /* Soft line breaks */
-                       if ((data[in] == '\n') || (data[in] == '\r') ||
-                           (data[in] == ' ') || (data[in] == '\t')) {
+                       if ((data[in] == '\n') || (data[in] == '\r')) {
                                if (data[in] != '\n') {
                                        while (in < datalen && data[in] != '\n') in++;
                                }