From 1b261dff3e24cbe063bed2e09f2f80061293004f Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 28 Aug 2007 03:35:35 +0000 Subject: [PATCH] Make this work on Mac as well (where Type and Creator are bytes instead of str). --- Lib/binhex.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Lib/binhex.py b/Lib/binhex.py index 0dfa475f449..a56a8c85b1c 100644 --- a/Lib/binhex.py +++ b/Lib/binhex.py @@ -192,7 +192,12 @@ def _writeinfo(self, name, finfo): if nl > 63: raise Error, 'Filename too long' d = bytes([nl]) + name.encode("latin-1") + b'\0' - d2 = bytes(finfo.Type, "ascii") + bytes(finfo.Creator, "ascii") + tp, cr = finfo.Type, finfo.Creator + if isinstance(tp, str): + tp = tp.encode("latin-1") + if isinstance(cr, str): + cr = cr.encode("latin-1") + d2 = tp + cr # Force all structs to be packed with big-endian d3 = struct.pack('>h', finfo.Flags)