diff src/c-file-ptr-stream.cc @ 3775:13905c3a24af

[project @ 2001-02-06 01:56:59 by jwe]
author jwe
date Tue, 06 Feb 2001 01:57:06 +0000 (2001-02-06)
parents 08fe5f74c7d4
children 6e86256e9c54
line wrap: on
line diff
--- a/src/c-file-ptr-stream.cc
+++ b/src/c-file-ptr-stream.cc
@@ -49,34 +49,50 @@
 
 // XXX FIXME XXX -- I'm sure there is room for improvement here...
 
-int
-c_file_ptr_buf::overflow (int c)
+c_file_ptr_buf::int_type
+c_file_ptr_buf::overflow (int_type c)
 {
+#if defined (CXX_ISO_COMPLIANT_LIBRARY)
+  if (f)
+    return (c != traits_type::eof ()) ? fputc (c, f) : flush ();
+  else
+    return traits_type::not_eof (c);
+#else
   if (f)
     return (c != EOF) ? fputc (c, f) : flush ();
   else
     return EOF;
+#endif
 }
 
-int
+c_file_ptr_buf::int_type
 c_file_ptr_buf::underflow (void)
 {
   if (f)
     return fgetc (f);
   else
+#if defined (CXX_ISO_COMPLIANT_LIBRARY)
+    return traits_type::eof ();
+#else
     return EOF;
+#endif
 }
 
-int
+c_file_ptr_buf::int_type
 c_file_ptr_buf::uflow (void)
 {
   return underflow ();
 }
 
-int
-c_file_ptr_buf::pbackfail (int c)
+c_file_ptr_buf::int_type
+c_file_ptr_buf::pbackfail (int_type c)
 {
+#if defined (CXX_ISO_COMPLIANT_LIBRARY)
+  return (c != traits_type::eof () && f) ? ungetc (c, f) : 
+    traits_type::not_eof (c);
+#else
   return (c != EOF && f) ? ungetc (c, f) : EOF;
+#endif
 }
 
 std::streamsize