]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Initial support for 'q' and 'Q' struct format codes: for now, only in
authorTim Peters <tim.peters@gmail.com>
Sun, 10 Jun 2001 23:40:19 +0000 (23:40 +0000)
committerTim Peters <tim.peters@gmail.com>
Sun, 10 Jun 2001 23:40:19 +0000 (23:40 +0000)
commit7b9542a3f747787aedf056ddaef99e4469777aa9
treebcbb8eb84c0606c27c8890f528f4378eaed25996
parentfcc54cab100108f97c5b5641e3df11b7614993c2
Initial support for 'q' and 'Q' struct format codes:  for now, only in
native mode, and only when config #defines HAVE_LONG_LONG.  Standard mode
will eventually treat them as 8-byte ints across all platforms, but that
likely requires a new set of routines in longobject.c first (while
sizeof(long) >= 4 is guaranteed by C, there's nothing in C we can rely
on x-platform to hold 8 bytes of int, so we'll have to roll our own;
I'm thinking of a simple pair of conversion functions, Python long
to/from sized vector of unsigned bytes; that may be useful for GMP
conversions too; std q/Q would call them with size fixed at 8).

test_struct.py:  In addition to adding some native-mode 'q' and 'Q' tests,
got rid of unused code, and repaired a non-portable assumption about
native sizeof(short) (it isn't 2 on some Cray boxes).

libstruct.tex:  In addition to adding a bit of 'q'/'Q' docs (more needed
later), removed an erroneous footnote about 'I' behavior.
Doc/lib/libstruct.tex
Lib/test/test_struct.py
Misc/NEWS
Modules/structmodule.c