mescc: Support binutils 2.15a: fread: read ungetc'd chars too.
[mes.git] / lib / linux.c
index f9dbcd9e5f2aa162bafbe00a91528afb15d65f2b..454aa7b2df183fb65e45f9366db81b0aa04209ef 100644 (file)
@@ -18,6 +18,7 @@
  * along with Mes.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <fcntl.h>
 #include <stdarg.h>
 #include <stdio.h>
 #include <libmes.h>
@@ -55,6 +56,13 @@ open (char const *file_name, int flags, ...)
   va_list ap;
   va_start (ap, flags);
   int mask = va_arg (ap, int);
+#if !MES_BOOTSTRAP
+  if (!flags)
+    {
+      _ungetc_pos = -1;
+      _ungetc_fd = -1;
+    }
+#endif
   int r = _sys_call3 (SYS_open, (int)file_name, (int)flags, (int)mask);
   va_end (ap);
   return r;