The documentation for the struct module says:<br><br>&nbsp;<a href="http://docs.python.org/dev/library/struct.html#module-struct">http://docs.python.org/dev/library/struct.html#module-struct</a><br><br>&nbsp;&quot;<tt class="xref docutils literal">
<span class="pre">short</span></tt> is 2 bytes; <tt class="xref docutils literal"><span class="pre">int</span></tt> and
<tt class="xref docutils literal"><span class="pre">long</span></tt> are 4 bytes; <tt class="xref docutils literal"><span class="pre">long</span> <span class="pre">long</span></tt> (<tt class="xref docutils literal"><span class="pre">
__int64</span></tt> on Windows) is 8
bytes&quot;<br><br>and lists &#39;l&#39; and &#39;L&#39; as the pack code for a C long.<br><br>As its implemented today, the documentation is incorrect.&nbsp; On an LP64 host (pretty much any 64-bit linux, bsd or unixish thing) a long is 8 bytes.
<br><br>I assume this means there is existing code out there that expects the current not-as-documented behavior.&nbsp; There is also code out there that expects the documented behavior but behaves wrong when a 64bit Python is used.
<br><br>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?<br><br>This is for <a href="http://bugs.python.org/issue1789">
http://bugs.python.org/issue1789</a><br><br>