cpython: de07f90ef45c (original) (raw)
Mercurial > cpython
changeset 70535:de07f90ef45c 3.2
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. [#12016]
Victor Stinner victor.stinner@haypocalc.com | |
---|---|
date | Mon, 30 May 2011 23:46:00 +0200 |
parents | 85f4b38a61fa |
children | deb6e7859211 d780ca579e6f |
files | Misc/NEWS Parser/myreadline.c |
diffstat | 2 files changed, 5 insertions(+), 0 deletions(-)[+] [-] Misc/NEWS 4 Parser/myreadline.c 1 |
line wrap: on
line diff
--- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,10 @@ What's New in Python 3.2.1 release candi 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.
--- a/Parser/myreadline.c +++ b/Parser/myreadline.c @@ -40,6 +40,7 @@ my_fgets(char *buf, int len, FILE *fp) if (PyOS_InputHook != NULL) (void)(PyOS_InputHook)(); errno = 0;
clearerr(fp);[](#l2.7) p = fgets(buf, len, fp);[](#l2.8) if (p != NULL)[](#l2.9) return 0; /* No error */[](#l2.10)