]> granicus.if.org Git - python/commitdiff
Issue #18084: Use sys.byteorder in wave.py.
authorSerhiy Storchaka <storchaka@gmail.com>
Wed, 29 May 2013 20:38:00 +0000 (23:38 +0300)
committerSerhiy Storchaka <storchaka@gmail.com>
Wed, 29 May 2013 20:38:00 +0000 (23:38 +0300)
Original patch by Hideaki Takahashi.

Lib/wave.py
Misc/ACKS

index e3bf2af53c322e382539a90b1b18c231ea0108ea..ea410c12d783ba2ff083f0819232c2e1f66695fc 100644 (file)
@@ -82,13 +82,8 @@ WAVE_FORMAT_PCM = 0x0001
 
 _array_fmts = None, 'b', 'h', None, 'l'
 
-# Determine endian-ness
 import struct
-if struct.pack("h", 1) == b"\000\001":
-    big_endian = 1
-else:
-    big_endian = 0
-
+import sys
 from chunk import Chunk
 from collections import namedtuple
 
@@ -235,7 +230,7 @@ class Wave_read:
             self._data_seek_needed = 0
         if nframes == 0:
             return b''
-        if self._sampwidth > 1 and big_endian:
+        if self._sampwidth > 1 and sys.byteorder == 'big':
             # unfortunately the fromfile() method does not take
             # something that only looks like a file object, so
             # we have to reach into the innards of the chunk object
@@ -422,7 +417,7 @@ class Wave_write:
         nframes = len(data) // (self._sampwidth * self._nchannels)
         if self._convert:
             data = self._convert(data)
-        if self._sampwidth > 1 and big_endian:
+        if self._sampwidth > 1 and sys.byteorder == 'big':
             import array
             data = array.array(_array_fmts[self._sampwidth], data)
             data.byteswap()
index 9ba99cd7c68f08c1e9873e6b90a0367989acce55..3ce5cd2056173d4ec1aa2f4aeed83c7d444ae708 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1222,6 +1222,7 @@ Thenault Sylvain
 Péter Szabó
 Amir Szekely
 Arfrever Frehtes Taifersar Arahesis
+Hideaki Takahashi
 Neil Tallim
 Geoff Talvola
 Musashi Tamura