(__freading): Don't return true for write-only streams.
authordrepper <drepper>
Sat, 13 Oct 2007 07:10:21 +0000 (07:10 +0000)
committerdrepper <drepper>
Sat, 13 Oct 2007 07:10:21 +0000 (07:10 +0000)
libio/__freading.c

index 37200bb..7eca27b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2002, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -21,6 +21,7 @@
 int
 __freading (FILE *fp)
 {
 int
 __freading (FILE *fp)
 {
-  return ((fp->_flags & _IO_NO_WRITES)
-         || (fp->_flags & _IO_CURRENTLY_PUTTING) == 0);
+  return (((fp->_flags & _IO_NO_WRITES)
+          || (fp->_flags & _IO_CURRENTLY_PUTTING) == 0)
+         && (fp->_flags & _IO_NO_READS) == 0);
 }
 }