From 08563d904deac3b92418154b6116203adabdc61e Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 30 May 2011 23:44:13 +0200 Subject: 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. --- Misc/NEWS | 16 ++++++++++++++++ Parser/myreadline.c | 1 + 2 files changed, 17 insertions(+) diff --git a/Misc/NEWS b/Misc/NEWS index 265d91e..a8a1baf 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -1,6 +1,22 @@ Python News +++++++++++ +What's New in Python 2.7.3? +=========================== + +*Release date: XXXX-XX-XX* + +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. + +Library +------- + + What's New in Python 2.7.2? =========================== diff --git a/Parser/myreadline.c b/Parser/myreadline.c index 34fb45c..07c1d44 100644 --- a/Parser/myreadline.c +++ b/Parser/myreadline.c @@ -44,6 +44,7 @@ my_fgets(char *buf, int len, FILE *fp) if (PyOS_InputHook != NULL) (void)(PyOS_InputHook)(); errno = 0; + clearerr(fp); p = fgets(buf, len, fp); if (p != NULL) return 0; /* No error */ -- cgit v0.12