parent
f3c9387219
commit
e215484c75
@ -22,6 +22,10 @@ Feature release.
|
|||||||
- MPD: Added Unix domain sockets for binding MPD to.
|
- MPD: Added Unix domain sockets for binding MPD to.
|
||||||
(Fixes: :issue:`1531`, PR: :issue:`1629`)
|
(Fixes: :issue:`1531`, PR: :issue:`1629`)
|
||||||
|
|
||||||
|
- Ensure that decoding of OS errors with unknown encoding never crashes, but
|
||||||
|
instead replaces unknown bytes with a replacement marker. (Fixes:
|
||||||
|
:issue:`1599`)
|
||||||
|
|
||||||
|
|
||||||
v2.1.0 (2017-01-02)
|
v2.1.0 (2017-01-02)
|
||||||
===================
|
===================
|
||||||
|
|||||||
@ -9,4 +9,4 @@ def locale_decode(bytestr):
|
|||||||
try:
|
try:
|
||||||
return compat.text_type(bytestr)
|
return compat.text_type(bytestr)
|
||||||
except UnicodeError:
|
except UnicodeError:
|
||||||
return bytes(bytestr).decode(locale.getpreferredencoding())
|
return bytes(bytestr).decode(locale.getpreferredencoding(), 'replace')
|
||||||
|
|||||||
@ -43,3 +43,10 @@ class LocaleDecodeTest(unittest.TestCase):
|
|||||||
encoding.locale_decode(b'abc')
|
encoding.locale_decode(b'abc')
|
||||||
|
|
||||||
self.assertFalse(mock.called)
|
self.assertFalse(mock.called)
|
||||||
|
|
||||||
|
def test_replaces_unknown_bytes_instead_of_crashing(self, mock):
|
||||||
|
mock.return_value = 'US-ASCII'
|
||||||
|
|
||||||
|
result = encoding.locale_decode(b'abc\xc3def')
|
||||||
|
|
||||||
|
assert result == 'abc\ufffddef'
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user