summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2008-03-11 19:08:39 +0000
committerJeff Johnston <jjohnstn@redhat.com>2008-03-11 19:08:39 +0000
commit88348faf5b464209aed4e508547cf9411b1dd98f (patch)
tree2ecd0206234d873dba743a8d512be85985dd4310
parent5b7296f63732d346f1748efe89d8c5d38389edbb (diff)
downloadcygnal-88348faf5b464209aed4e508547cf9411b1dd98f.tar.gz
cygnal-88348faf5b464209aed4e508547cf9411b1dd98f.tar.bz2
cygnal-88348faf5b464209aed4e508547cf9411b1dd98f.zip
2008-03-11 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/rgetc.c (__srget): Invoke CHECK_INIT to ensure stdin gets resolved properly before refilling.
-rw-r--r--newlib/ChangeLog5
-rw-r--r--newlib/libc/stdio/rget.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 0a8a9d0a9..93000d4e3 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-11 Jeff Johnston <jjohnstn@redhat.com>
+
+ * libc/stdio/rgetc.c (__srget): Invoke CHECK_INIT to ensure
+ stdin gets resolved properly before refilling.
+
2008-03-07 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/getopt.h: Hide newlib extensions under
diff --git a/newlib/libc/stdio/rget.c b/newlib/libc/stdio/rget.c
index 0444acee3..0a1cc147f 100644
--- a/newlib/libc/stdio/rget.c
+++ b/newlib/libc/stdio/rget.c
@@ -36,6 +36,10 @@ _DEFUN(__srget_r, (ptr, fp),
struct _reent *ptr _AND
register FILE *fp)
{
+ /* Ensure that any fake std stream is resolved before
+ we call __srefill_r so we may access the true read buffer. */
+ CHECK_INIT(fp);
+
if (__srefill_r (ptr, fp) == 0)
{
fp->_r--;