From: Martin v. Löwis <martin@v.loewis.de>
Date: Sun, 5 Mar 2006 13:52:20 +0000 (+0000)
Subject: Open dll file in binary.
X-Git-Tag: v2.5a0~358
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d149c21d54c46ff22fa1341c3966fd07e458a4d8;p=python

Open dll file in binary.
---

diff --git a/Tools/msi/msilib.py b/Tools/msi/msilib.py
index 7ff8e9b78a..d7b86ccb0d 100644
--- a/Tools/msi/msilib.py
+++ b/Tools/msi/msilib.py
@@ -644,9 +644,9 @@ class Dialog:
         return self.control(name, "CheckBox", x, y, w, h, attr, prop, text, next, None)
 
 def pe_type(path):
-    header = open(path).read(1000)
-    # offset of PE header is at offset 0x3c; 1-based
-    pe_offset = struct.unpack("<i", header[0x3c:0x40])[0]-1
+    header = open(path, "rb").read(1000)
+    # offset of PE header is at offset 0x3c
+    pe_offset = struct.unpack("<i", header[0x3c:0x40])[0]
     assert header[pe_offset:pe_offset+4] == "PE\0\0"
     machine = struct.unpack("<H", header[pe_offset+4:pe_offset+6])[0]
     return machine