2018-09-10 11:47:49 +00:00
|
|
|
--- a/polib.py
|
|
|
|
|
+++ b/polib.py
|
2018-09-11 09:52:02 +00:00
|
|
|
@@ -592,7 +592,7 @@ class _BaseFile(list):
|
2018-09-10 11:47:49 +00:00
|
|
|
offsets = koffsets + voffsets
|
|
|
|
|
|
|
|
|
|
output = struct.pack(
|
|
|
|
|
- "Iiiiiii",
|
|
|
|
|
+ "<Iiiiiii",
|
|
|
|
|
# Magic number
|
|
|
|
|
MOFile.MAGIC,
|
|
|
|
|
# Version
|
2018-09-11 09:52:02 +00:00
|
|
|
@@ -607,10 +607,15 @@ class _BaseFile(list):
|
|
|
|
|
0, keystart
|
2018-09-10 22:27:34 +00:00
|
|
|
|
|
|
|
|
)
|
2018-09-11 09:52:02 +00:00
|
|
|
+ outarr = array.array("i", offsets)
|
|
|
|
|
+ # since 0.19.8 msgfmt produces little-endian files by default
|
|
|
|
|
+ if sys.byteorder == "big":
|
|
|
|
|
+ outarr.byteswap()
|
|
|
|
|
+
|
2018-09-10 22:27:34 +00:00
|
|
|
if PY3 and sys.version_info.minor > 1: # python 3.2 or superior
|
|
|
|
|
- output += array.array("i", offsets).tobytes()
|
2018-09-11 09:52:02 +00:00
|
|
|
+ output += outarr.tobytes()
|
2018-09-10 22:27:34 +00:00
|
|
|
else:
|
|
|
|
|
- output += array.array("i", offsets).tostring()
|
2018-09-11 09:52:02 +00:00
|
|
|
+ output += outarr.tostring()
|
2018-09-10 22:27:34 +00:00
|
|
|
output += ids
|
|
|
|
|
output += strs
|
|
|
|
|
return output
|