Declare encoding. Use unsigned long constants. Fixes #728277.
diff --git a/Tools/i18n/msgfmt.py b/Tools/i18n/msgfmt.py
index 411e3ae..8a2d4e6 100755
--- a/Tools/i18n/msgfmt.py
+++ b/Tools/i18n/msgfmt.py
@@ -1,5 +1,5 @@
 #! /usr/bin/env python
-
+# -*- coding: iso-8859-1 -*-
 # Written by Martin v. Löwis <loewis@informatik.hu-berlin.de>
 
 """Generate binary message catalog from textual translation description.
@@ -82,8 +82,8 @@
         koffsets += [l1, o1+keystart]
         voffsets += [l2, o2+valuestart]
     offsets = koffsets + voffsets
-    output = struct.pack("iiiiiii",
-                         0x950412de,        # Magic
+    output = struct.pack("Iiiiiii",
+                         0x950412deL,       # Magic
                          0,                 # Version
                          len(keys),         # # of entries
                          7*4,               # start of key index