diff options
author | Barry Warsaw <barry@python.org> | 2003-03-06 20:33:04 (GMT) |
---|---|---|
committer | Barry Warsaw <barry@python.org> | 2003-03-06 20:33:04 (GMT) |
commit | bd836dfba3fd0d86807196c4049e998a4b9b9b92 (patch) | |
tree | 193934581ff3fc33e65440b1a45e23af72f21d2a | |
parent | f0d35856691bcee72f64e028959ee8f602fbff08 (diff) | |
download | cpython-bd836dfba3fd0d86807196c4049e998a4b9b9b92.zip cpython-bd836dfba3fd0d86807196c4049e998a4b9b9b92.tar.gz cpython-bd836dfba3fd0d86807196c4049e998a4b9b9b92.tar.bz2 |
_split_ascii(): In the clause where curlen + partlen > maxlen, if the
part itself is longer than maxlen, and we aren't already splitting on
whitespace, then we recursively split the part on whitespace and
append that to the this list.
-rw-r--r-- | Lib/email/Header.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Lib/email/Header.py b/Lib/email/Header.py index 47a5508..83fe0d5 100644 --- a/Lib/email/Header.py +++ b/Lib/email/Header.py @@ -456,7 +456,14 @@ def _split_ascii(s, firstlen, restlen, continuation_ws, splitchars): elif curlen + partlen > maxlen: if this: lines.append(joiner.join(this) + eol) - this = [part] + # If this part is longer than maxlen and we aren't already + # splitting on whitespace, try to recursively split this line + # on whitespace. + if partlen > maxlen and ch <> ' ': + this = [_split_ascii(part, maxlen, restlen, + continuation_ws, ' ')] + else: + this = [part] linelen = wslen + partlen maxlen = restlen else: |