diff options
author | R David Murray <rdmurray@bitdance.com> | 2011-03-23 19:27:04 (GMT) |
---|---|---|
committer | R David Murray <rdmurray@bitdance.com> | 2011-03-23 19:27:04 (GMT) |
commit | 523b41c4b3fe79455fc9d1762056ca3e83972aa1 (patch) | |
tree | d232d85273344f7c01bdeb31044ea0e404229cca /Lib/email/quoprimime.py | |
parent | 3d9e973abd3fe409545aca18eabfd91fd1001a65 (diff) | |
parent | cafd79d904d19e90af375dbee43668f7dbf733d0 (diff) | |
download | cpython-523b41c4b3fe79455fc9d1762056ca3e83972aa1.zip cpython-523b41c4b3fe79455fc9d1762056ca3e83972aa1.tar.gz cpython-523b41c4b3fe79455fc9d1762056ca3e83972aa1.tar.bz2 |
Merge #11590: fix quoprimime decode handling of empty strings and line endings.
Diffstat (limited to 'Lib/email/quoprimime.py')
-rw-r--r-- | Lib/email/quoprimime.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Lib/email/quoprimime.py b/Lib/email/quoprimime.py index 168dfff..bffad4e 100644 --- a/Lib/email/quoprimime.py +++ b/Lib/email/quoprimime.py @@ -135,9 +135,9 @@ def header_encode(header_bytes, charset='iso-8859-1'): charset names the character set to use in the RFC 2046 header. It defaults to iso-8859-1. """ - # Return empty headers unchanged + # Return empty headers as an empty string. if not header_bytes: - return str(header_bytes) + return '' # Iterate over every byte, encoding if necessary. encoded = [] for octet in header_bytes: @@ -268,7 +268,7 @@ def decode(encoded, eol=NL): if i == n: decoded += eol # Special case if original string did not end with eol - if not encoded.endswith(eol) and decoded.endswith(eol): + if encoded[-1] not in '\r\n' and decoded.endswith(eol): decoded = decoded[:-1] return decoded |