File tree Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -177,7 +177,7 @@ def surrogateescape_handler(exc):
177177 # exception anyway after this function is called, even though I think
178178 # it's doing what it should. It seems that the strict encoder is called
179179 # to encode the unicode string that this function returns ...
180- decoded = replace_surrogate_encode (mystring )
180+ decoded = replace_surrogate_encode (mystring , exc )
181181 else :
182182 raise exc
183183 except NotASurrogateError :
@@ -189,7 +189,7 @@ class NotASurrogateError(Exception):
189189 pass
190190
191191
192- def replace_surrogate_encode (mystring ):
192+ def replace_surrogate_encode (mystring , exc ):
193193 """
194194 Returns a (unicode) string, not the more logical bytes, because the codecs
195195 register_error functionality expects this.
@@ -204,7 +204,7 @@ def replace_surrogate_encode(mystring):
204204 # The following magic comes from Py3.3's Python/codecs.c file:
205205 if not 0xD800 <= code <= 0xDCFF :
206206 # Not a surrogate. Fail with the original exception.
207- raise NotASurrogateError
207+ raise exc
208208 # mybytes = [0xe0 | (code >> 12),
209209 # 0x80 | ((code >> 6) & 0x3f),
210210 # 0x80 | (code & 0x3f)]
You can’t perform that action at this time.
0 commit comments