From: Guido van Rossum Date: Tue, 5 Jan 1999 18:02:24 +0000 (+0000) Subject: Incorporate fix suggested by /Fredrik Lundh in the newsgroup to cope X-Git-Tag: v1.5.2b2~456 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4494101858cdcc489281c1e22c3172b99ae2cb20;p=thirdparty%2FPython%2Fcpython.git Incorporate fix suggested by /Fredrik Lundh in the newsgroup to cope with trailing garbage generated by some broke uuencoders. --- diff --git a/Lib/uu.py b/Lib/uu.py index ecd76a86282a..0ca4ae5f2635 100755 --- a/Lib/uu.py +++ b/Lib/uu.py @@ -121,10 +121,17 @@ def decode(in_file, out_file=None, mode=None): # # Main decoding loop # - str = in_file.readline() - while str and str != 'end\n': - out_file.write(binascii.a2b_uu(str)) - str = in_file.readline() + s = in_file.readline() + while s and s != 'end\n': + try: + data = binascii.a2b_uu(s) + except binascii.Error, v: + # Workaround for broken uuencoders by /Fredrik Lundh + nbytes = (((ord(s[0])-32) & 63) * 4 + 5) / 3 + data = binascii.a2b_uu(s[:nbytes]) + sys.stderr.write("Warning: %s\n" % str(v)) + out_file.write(data) + s = in_file.readline() if not str: raise Error, 'Truncated input file'