Commit 5dba6f74 authored by Andrew M. Kuchling's avatar Andrew M. Kuchling

Jython compatibility fix: if uu.decode() opened its output file, be sure to

close it.
parent 1e753863
...@@ -114,6 +114,7 @@ def decode(in_file, out_file=None, mode=None, quiet=0): ...@@ -114,6 +114,7 @@ def decode(in_file, out_file=None, mode=None, quiet=0):
# #
# Open the output file # Open the output file
# #
opened = False
if out_file == '-': if out_file == '-':
out_file = sys.stdout out_file = sys.stdout
elif isinstance(out_file, basestring): elif isinstance(out_file, basestring):
...@@ -123,6 +124,7 @@ def decode(in_file, out_file=None, mode=None, quiet=0): ...@@ -123,6 +124,7 @@ def decode(in_file, out_file=None, mode=None, quiet=0):
except AttributeError: except AttributeError:
pass pass
out_file = fp out_file = fp
opened = True
# #
# Main decoding loop # Main decoding loop
# #
...@@ -140,6 +142,8 @@ def decode(in_file, out_file=None, mode=None, quiet=0): ...@@ -140,6 +142,8 @@ def decode(in_file, out_file=None, mode=None, quiet=0):
s = in_file.readline() s = in_file.readline()
if not s: if not s:
raise Error('Truncated input file') raise Error('Truncated input file')
if opened:
out_file.close()
def test(): def test():
"""uuencode/uudecode main program""" """uuencode/uudecode main program"""
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment