]> granicus.if.org Git - python/commitdiff
This started opening files in text mode by default in the 2.3 release,
authorTim Peters <tim.peters@gmail.com>
Mon, 18 Aug 2003 23:52:09 +0000 (23:52 +0000)
committerTim Peters <tim.peters@gmail.com>
Mon, 18 Aug 2003 23:52:09 +0000 (23:52 +0000)
which is a disaster on Windows.  Restored the binary default of all
previous releases.  Also minor code cleanups.

Bugfix candidate!

Misc/NEWS
Tools/scripts/md5sum.py

index 8f24d8572092b363e2ab0d40f9e5ac81607b18dd..ebda27debf5c1d9070ee450e7572aa3e0a778e3d 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -52,6 +52,12 @@ Library
 Tools/Demos
 -----------
 
+- md5sum.py mistakenly opened input files in text mode by default, a
+  silent and dangerous change from previous releases.  It once again
+  opens input files in binary mode by default.  The -t and -b flags
+  remain for compatibility with the 2.3 release, but -b is the default
+  now.
+
 - py-electric-colon now works when pending-delete/delete-selection mode is
   in effect
 
index 0711db8dea40c8d843078a8f98e069ff66de6143..e045f1a719dd1f4178466a49a73ea4926f550210 100644 (file)
@@ -6,12 +6,12 @@
 
 bufsize = 8096
 fnfilter = None
-rmode = 'r'
+rmode = 'rb'
 
 usage = """
 usage: sum5 [-b] [-t] [-l] [-s bufsize] [file ...]
--b        : read files in binary mode
--t        : read files in text mode (default)
+-b        : read files in binary mode (default)
+-t        : read files in text mode (you almost certainly don't want this!)
 -l        : print last pathname component only
 -s bufsize: read buffer size (default %d)
 file ...  : files to sum; '-' or no files means stdin
@@ -40,7 +40,7 @@ def sum(*files):
             sts = sum(f, out) or sts
     return sts
 
-def printsum(filename, out = sys.stdout):
+def printsum(filename, out=sys.stdout):
     try:
         fp = open(filename, rmode)
     except IOError, msg:
@@ -52,12 +52,13 @@ def printsum(filename, out = sys.stdout):
     fp.close()
     return sts
 
-def printsumfp(fp, filename, out = sys.stdout):
+def printsumfp(fp, filename, out=sys.stdout):
     m = md5.new()
     try:
         while 1:
             data = fp.read(bufsize)
-            if not data: break
+            if not data:
+                break
             m.update(data)
     except IOError, msg:
         sys.stderr.write('%s: I/O error: %s\n' % (filename, msg))
@@ -65,7 +66,7 @@ def printsumfp(fp, filename, out = sys.stdout):
     out.write('%s %s\n' % (m.hexdigest(), filename))
     return 0
 
-def main(args = sys.argv[1:], out = sys.stdout):
+def main(args = sys.argv[1:], out=sys.stdout):
     global fnfilter, rmode, bufsize
     try:
         opts, args = getopt.getopt(args, 'blts:')
@@ -75,11 +76,11 @@ def main(args = sys.argv[1:], out = sys.stdout):
     for o, a in opts:
         if o == '-l':
             fnfilter = os.path.basename
-        if o == '-b':
+        elif o == '-b':
             rmode = 'rb'
-        if o == '-t':
+        elif o == '-t':
             rmode = 'r'
-        if o == '-s':
+        elif o == '-s':
             bufsize = int(a)
     if not args:
         args = ['-']