On 1/23/08, Thomas Heller <[EMAIL PROTECTED]> wrote:
>
> 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


Ok, its a pretty big diff.  Much of the standard library is completely
broken when used on LP64 platforms.  I added it to the bug.  I'm running
unit tests now.  These fixes should go into 2.5.2.

The diff could use some eyes on it, especially the Mac API stuff that I know
nothing about but am assuming relies on 32bit values.

 http://bugs.python.org/issue1789

Greg
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to