summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/cmp.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/Lib/cmp.py b/Lib/cmp.py
index 69e6e27..f21d3a2 100644
--- a/Lib/cmp.py
+++ b/Lib/cmp.py
@@ -12,14 +12,14 @@ import os
cache = {}
-def cmp(f1, f2): # Compare two files, use the cache if possible.
+def cmp(f1, f2, shallow=1): # Compare two files, use the cache if possible.
# Return 1 for identical files, 0 for different.
# Raise exceptions if either file could not be statted, read, etc.
s1, s2 = sig(os.stat(f1)), sig(os.stat(f2))
if s1[0] <> 8 or s2[0] <> 8:
# Either is a not a plain file -- always report as different
return 0
- if s1 == s2:
+ if shallow and s1 == s2:
# type, size & mtime match -- report same
return 1
if s1[:2] <> s2[:2]: # Types or sizes differ, don't bother
@@ -52,8 +52,8 @@ def sig(st): # Return signature (i.e., type, size, mtime) from raw stat data
def do_cmp(f1, f2): # Compare two files, really
bufsize = 8*1024 # Could be tuned
- fp1 = open(f1, 'r')
- fp2 = open(f2, 'r')
+ fp1 = open(f1, 'rb')
+ fp2 = open(f2, 'rb')
while 1:
b1 = fp1.read(bufsize)
b2 = fp2.read(bufsize)