diff src/c-file-ptr-stream.cc @ 4310:da7226ca8b91

[project @ 2003-01-30 03:26:26 by jwe]
author jwe
date Thu, 30 Jan 2003 03:26:26 +0000
parents 5719210fff4c
children 1cae4472c624
line wrap: on
line diff
--- a/src/c-file-ptr-stream.cc
+++ b/src/c-file-ptr-stream.cc
@@ -66,10 +66,22 @@
 }
 
 c_file_ptr_buf::int_type
-c_file_ptr_buf::underflow (void)
+c_file_ptr_buf::underflow_common (bool bump)
 {
   if (f)
-    return fgetc (f);
+    {
+      int_type c = fgetc (f);
+
+      if (! bump
+#if defined (CXX_ISO_COMPLIANT_LIBRARY)
+	  && c != traits_type::eof ())
+#else
+	  && c != EOF)
+#endif
+	ungetc (c, f);
+
+      return c;
+    }
   else
 #if defined (CXX_ISO_COMPLIANT_LIBRARY)
     return traits_type::eof ();
@@ -79,12 +91,6 @@
 }
 
 c_file_ptr_buf::int_type
-c_file_ptr_buf::uflow (void)
-{
-  return underflow ();
-}
-
-c_file_ptr_buf::int_type
 c_file_ptr_buf::pbackfail (int_type c)
 {
 #if defined (CXX_ISO_COMPLIANT_LIBRARY)