On Sat, Jun 03, 2000 at 10:56:15AM +0300, Moshe Zadka wrote: > On Fri, 2 Jun 2000, Trent Mick wrote: > > > 3. - change PyMarshal_WriteLongToFile to raise an exception if the long > > overflows a 32-bit range > > +1 on that, finally non-portable integers will cause an exception. > Okay, I have to reiterate and ask again because I have the suspicion that I may be missing the point and you all may not realize that. Stop me when I go astray: - the PyMarshal interface is used for all the .pyc content writing - PyMarshal_WriteLongToFile is only used for writing the magic number and the time stamp - the rest of the .pyc is written via PyMarshal_WriteObjectToFile - PyMarshal_WriteLongToFile will currently silently truncate a 64-bit long to 32-bits - PyMarshal_WriteObjectToFile, when writing a PyInt and hence a C long, will *NOT* truncate the 64-bit integer but will write the whole thing - On reading a .pyc the PyMarshal_ReadObjectFromFile will complain on stderr when a 64-bit integral value is read and the current platform is 32-bit. The question is: Do we want PyMarshal_WriteLongToFile *AND* PyMarshal_WriteObjectToFile to raise an exception when a long value overflows 32-bits? Up til now I was only proposing the former. Trent -- Trent Mick trentm@activestate.com
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4