Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1a3abcb

Browse files
committed
This started opening files in text mode by default in the 2.3 release,
which is a disaster on Windows. Restored the binary default of all previous releases. Also minor code cleanups. Bugfix candidate!
1 parent c58a3a1 commit 1a3abcb

2 files changed

Lines changed: 17 additions & 10 deletions

File tree

Misc/NEWS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@ Library
5252
Tools/Demos
5353
-----------
5454

55+
- md5sum.py mistakenly opened input files in text mode by default, a
56+
silent and dangerous change from previous releases. It once again
57+
opens input files in binary mode by default. The -t and -b flags
58+
remain for compatibility with the 2.3 release, but -b is the default
59+
now.
60+
5561
- py-electric-colon now works when pending-delete/delete-selection mode is
5662
in effect
5763

Tools/scripts/md5sum.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66

77
bufsize = 8096
88
fnfilter = None
9-
rmode = 'r'
9+
rmode = 'rb'
1010

1111
usage = """
1212
usage: sum5 [-b] [-t] [-l] [-s bufsize] [file ...]
13-
-b : read files in binary mode
14-
-t : read files in text mode (default)
13+
-b : read files in binary mode (default)
14+
-t : read files in text mode (you almost certainly don't want this!)
1515
-l : print last pathname component only
1616
-s bufsize: read buffer size (default %d)
1717
file ... : files to sum; '-' or no files means stdin
@@ -40,7 +40,7 @@ def sum(*files):
4040
sts = sum(f, out) or sts
4141
return sts
4242

43-
def printsum(filename, out = sys.stdout):
43+
def printsum(filename, out=sys.stdout):
4444
try:
4545
fp = open(filename, rmode)
4646
except IOError, msg:
@@ -52,20 +52,21 @@ def printsum(filename, out = sys.stdout):
5252
fp.close()
5353
return sts
5454

55-
def printsumfp(fp, filename, out = sys.stdout):
55+
def printsumfp(fp, filename, out=sys.stdout):
5656
m = md5.new()
5757
try:
5858
while 1:
5959
data = fp.read(bufsize)
60-
if not data: break
60+
if not data:
61+
break
6162
m.update(data)
6263
except IOError, msg:
6364
sys.stderr.write('%s: I/O error: %s\n' % (filename, msg))
6465
return 1
6566
out.write('%s %s\n' % (m.hexdigest(), filename))
6667
return 0
6768

68-
def main(args = sys.argv[1:], out = sys.stdout):
69+
def main(args = sys.argv[1:], out=sys.stdout):
6970
global fnfilter, rmode, bufsize
7071
try:
7172
opts, args = getopt.getopt(args, 'blts:')
@@ -75,11 +76,11 @@ def main(args = sys.argv[1:], out = sys.stdout):
7576
for o, a in opts:
7677
if o == '-l':
7778
fnfilter = os.path.basename
78-
if o == '-b':
79+
elif o == '-b':
7980
rmode = 'rb'
80-
if o == '-t':
81+
elif o == '-t':
8182
rmode = 'r'
82-
if o == '-s':
83+
elif o == '-s':
8384
bufsize = int(a)
8485
if not args:
8586
args = ['-']

0 commit comments

Comments
 (0)