[Python-Dev] struct module docs vs reality

Gregory P. Smith greg at krypto.org
Wed Jan 23 21:37:37 CET 2008


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?

This is for http://bugs.python.org/issue1789
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-dev/attachments/20080123/e7f95a36/attachment.htm 


More information about the Python-Dev mailing list