msg234682 - (view) |
Author: Matthieu Gautier (mgautierfr) * |
Date: 2015-01-25 18:53 |
I_set_sw function is missing a SWAP_INT. This leads to wrong set of bitfield value. Here is a script to reproduce: ---------- from ctypes import * class HEADER(BigEndianStructure): _fields_ = ( ('pad', c_uint32, 16), ('v1', c_uint32, 4), ('v2', c_uint32, 12) ) b = bytearray(4) header = HEADER.from_buffer(b) header.type = 1 assert b == b'\x00\x00\x10\x00' header.mode = 0x234 assert b == b'\x00\x00\x12\x34' ---------- |
|
|
msg245758 - (view) |
Author: Matthieu Gautier (mgautierfr) * |
Date: 2015-06-24 15:48 |
A little ping. With a new patch integrating the unit test. |
|
|
msg246509 - (view) |
Author: Meador Inge (meador.inge) *  |
Date: 2015-07-09 15:44 |
I will review this today. |
|
|
msg246797 - (view) |
Author: Matthieu Gautier (mgautierfr) * |
Date: 2015-07-16 09:47 |
The bug is also present in Python 2.7. Is it possible to backport this fix ? |
|
|
msg247567 - (view) |
Author: Roundup Robot (python-dev)  |
Date: 2015-07-29 12:36 |
New changeset 935ae7f001e3 by Victor Stinner in branch '3.4': Issue #23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch https://hg.python.org/cpython/rev/935ae7f001e3 |
|
|
msg247568 - (view) |
Author: Roundup Robot (python-dev)  |
Date: 2015-07-29 12:37 |
New changeset 88f2c4f12b56 by Victor Stinner in branch '2.7': Issue #23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch https://hg.python.org/cpython/rev/88f2c4f12b56 |
|
|
msg247569 - (view) |
Author: STINNER Victor (vstinner) *  |
Date: 2015-07-29 12:38 |
Thanks for your report, patch and unit test Matthieu. I rewrote the unit test because your layout was too complex for my little brain :-) I also write a unit test for little endian. I applied your fix to Python 2.7, 3.4, 3.5 and 3.6. |
|
|
msg247570 - (view) |
Author: Roundup Robot (python-dev)  |
Date: 2015-07-29 12:41 |
New changeset 12b353f76447 by Victor Stinner in branch '2.7': Issue #23319: Add Matthieu Gautier to Misc/ACKS https://hg.python.org/cpython/rev/12b353f76447 New changeset 3caa68f55e3e by Victor Stinner in branch '3.4': Issue #23319: Add Matthieu Gautier to Misc/ACKS https://hg.python.org/cpython/rev/3caa68f55e3e |
|
|
msg247572 - (view) |
Author: Meador Inge (meador.inge) *  |
Date: 2015-07-29 13:20 |
Thanks for committing this Victor. The patch looked good to me too. Sorry for not getting around to update the tracker. |
|
|