summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-05-16 12:46:20 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-05-16 12:46:20 (GMT)
commit0d4e01ca0747dd3d6484403acb7a1728b0c8652e (patch)
treec48ce7ed38a885b28f645c2d879c3659dbeb6156
parentb96ebd4f9d89198dc6a7d0d446a0b8762ff2568b (diff)
downloadcpython-0d4e01ca0747dd3d6484403acb7a1728b0c8652e.zip
cpython-0d4e01ca0747dd3d6484403acb7a1728b0c8652e.tar.gz
cpython-0d4e01ca0747dd3d6484403acb7a1728b0c8652e.tar.bz2
Issue #13916: Fix surrogatepass error handler on Windows
-rw-r--r--Lib/test/test_codecs.py6
-rw-r--r--Python/codecs.c4
2 files changed, 4 insertions, 6 deletions
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
index e4d7a60..f59c37d 100644
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -2841,12 +2841,6 @@ class CodePageTest(unittest.TestCase):
(b'abc', 'strict', 'abc'),
(b'\xe9\x80', 'strict', '\xe9\u20ac'),
(b'\xff', 'strict', '\xff'),
- # invalid bytes
- (b'[\x98]', 'strict', None),
- (b'[\x98]', 'ignore', '[]'),
- (b'[\x98]', 'replace', '[\ufffd]'),
- (b'[\x98]', 'surrogateescape', '[\udc98]'),
- (b'[\x98]', 'surrogatepass', None),
))
def test_cp_utf7(self):
diff --git a/Python/codecs.c b/Python/codecs.c
index 7003136..4c2ae38 100644
--- a/Python/codecs.c
+++ b/Python/codecs.c
@@ -960,6 +960,10 @@ get_standard_encoding(const char *encoding, int *bytelength)
}
}
}
+ else if (strcmp(encoding, "CP_UTF8") == 0) {
+ *bytelength = 3;
+ return ENC_UTF8;
+ }
return ENC_UNKNOWN;
}