[Python-Dev] struct module docs vs reality

Thomas Heller theller at ctypes.org
Wed Jan 23 22:00:07 CET 2008


Gregory P. Smith schrieb:
> The documentation for the struct module says:
> 
>  http://docs.python.org/dev/library/struct.html#module-struct
> 
>  "short is 2 bytes; int and long are 4 bytes; long long (__int64 on Windows)
> is 8 bytes"
> 
> and lists 'l' and 'L' as the pack code for a C long.
> 
> As its implemented today, the documentation is incorrect.  On an LP64 host
> (pretty much any 64-bit linux, bsd or unixish thing) a long is 8 bytes.
> 
> I assume this means there is existing code out there that expects the
> current not-as-documented behavior.  There is also code out there that
> expects the documented behavior but behaves wrong when a 64bit Python is
> used.
> 
> I assume I should just fix the documentation and anything in Lib that uses
> the struct module incorrectly (zipfile for example) rather than change the
> behavior?

+1 (actually +100) from me.

Thomas



More information about the Python-Dev mailing list