[Python-checkins] cpython (3.2): Issue #12016: my_fgets() now always clears errors before calling fgets(). Fix
victor.stinner
python-checkins at python.org
Mon May 30 23:47:16 CEST 2011
http://hg.python.org/cpython/rev/de07f90ef45c
changeset: 70535:de07f90ef45c
branch: 3.2
parent: 70506:85f4b38a61fa
user: Victor Stinner <victor.stinner at haypocalc.com>
date: Mon May 30 23:46:00 2011 +0200
summary:
Issue #12016: my_fgets() now always clears errors before calling fgets(). Fix
the following case: sys.stdin.read() stopped with CTRL+d (end of file),
raw_input() interrupted by CTRL+c.
files:
Misc/NEWS | 4 ++++
Parser/myreadline.c | 1 +
2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,10 @@
Core and Builtins
-----------------
+- Issue #12016: my_fgets() now always clears errors before calling fgets(). Fix
+ the following case: sys.stdin.read() stopped with CTRL+d (end of file),
+ raw_input() interrupted by CTRL+c.
+
- Issue #9670: Increase the default stack size for secondary threads on
Mac OS X and FreeBSD to reduce the chances of a crash instead of a
"maximum recursion depth" RuntimeError exception.
diff --git a/Parser/myreadline.c b/Parser/myreadline.c
--- a/Parser/myreadline.c
+++ b/Parser/myreadline.c
@@ -40,6 +40,7 @@
if (PyOS_InputHook != NULL)
(void)(PyOS_InputHook)();
errno = 0;
+ clearerr(fp);
p = fgets(buf, len, fp);
if (p != NULL)
return 0; /* No error */
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list