Mercurial > cpython-lru_cache-weakref
diff Objects/fileobject.c @ 40626:4aee3f672f77
Merged the int/long unification branch, by very crude means (sorry Thomas!).
I banged on the code (beyond what's in that branch) to make fewer tests fail;
the only tests that fail now are:
test_descr -- can't pickle ints?!
test_pickletools -- ???
test_socket -- See python.org/sf/1619659
test_sqlite -- ???
I'll deal with those later.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Sun, 14 Jan 2007 03:31:43 +0000 |
| parents | cc992d75d5b3 |
| children | 6ebad2a6b990 |
line wrap: on
line diff
--- a/Objects/fileobject.c Sat Jan 13 23:54:39 2007 +0000 +++ b/Objects/fileobject.c Sun Jan 14 03:31:43 2007 +0000 @@ -2136,7 +2136,7 @@ if (v == NULL) PyErr_Clear(); else { - if (PyInt_Check(v)) + if (PyInt_CheckExact(v)) oldflag = PyInt_AsLong(v); assert(oldflag < INT_MAX); Py_DECREF(v); @@ -2301,6 +2301,8 @@ return -1; } + if (fd == -1 && PyErr_Occurred()) + return -1; if (fd < 0) { PyErr_Format(PyExc_ValueError, "file descriptor cannot be a negative integer (%i)",
