]> granicus.if.org Git - python/commitdiff
Fix problem when exec'ing a string with a coding
authorNeal Norwitz <nnorwitz@gmail.com>
Sat, 11 Aug 2007 21:31:25 +0000 (21:31 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Sat, 11 Aug 2007 21:31:25 +0000 (21:31 +0000)
Lib/test/test_coding.py
Parser/tokenizer.c

index e83015e543128292fc5b35068830a3d216cb45f5..62cf55555b317918831304c97ef8d1617a7a75d9 100644 (file)
@@ -21,6 +21,11 @@ class CodingTest(unittest.TestCase):
         fp.close()
         self.assertRaises(SyntaxError, compile, text, filename, 'exec')
 
+    def test_exec_valid_coding(self):
+        d = {}
+        exec('# coding: cp949\na = 5\n', d)
+        self.assertEqual(d['a'], 5)
+
 def test_main():
     test.test_support.run_unittest(CodingTest)
 
index 00bb38ad195680bb37f596c825b5d1b5f6259d51..284082d475424588c0a67a11acc6c56c32eeb7a7 100644 (file)
@@ -632,7 +632,7 @@ decode_str(const char *str, struct tok_state *tok)
                                "unknown encoding: %s", tok->enc);
                        return error_ret(tok);
                }
-               str = PyString_AsString(utf8);
+               str = PyBytes_AsString(utf8);
        }
        assert(tok->decoding_buffer == NULL);
        tok->decoding_buffer = utf8; /* CAUTION */