Commit 42c83afd authored by Tim Peters's avatar Tim Peters

The 2.0b2 change to write .pyc files in exclusive mode (if possible)

unintentionally caused them to get written in text mode under Windows.
As a result, when .pyc files were later read-- in binary mode --the
magic number was always wrong (note that .pyc magic numbers deliberately
include \r and \n characters, so this was "good" breakage, 100% across
all .pyc files, not random corruption in a subset).  Fixed that.
parent 3cc7e4d0
......@@ -646,7 +646,12 @@ open_exclusive(char *filename)
*/
int fd;
(void) unlink(filename);
fd = open(filename, O_EXCL|O_CREAT|O_WRONLY|O_TRUNC, 0666);
fd = open(filename, O_EXCL|O_CREAT|O_WRONLY|O_TRUNC
#ifdef O_BINARY
|O_BINARY /* necessary for Windows */
#endif
, 0666);
if (fd < 0)
return NULL;
return fdopen(fd, "wb");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment