comparison 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
comparison
equal deleted inserted replaced
4309:a9560cebae6e 4310:da7226ca8b91
64 return EOF; 64 return EOF;
65 #endif 65 #endif
66 } 66 }
67 67
68 c_file_ptr_buf::int_type 68 c_file_ptr_buf::int_type
69 c_file_ptr_buf::underflow (void) 69 c_file_ptr_buf::underflow_common (bool bump)
70 { 70 {
71 if (f) 71 if (f)
72 return fgetc (f); 72 {
73 int_type c = fgetc (f);
74
75 if (! bump
76 #if defined (CXX_ISO_COMPLIANT_LIBRARY)
77 && c != traits_type::eof ())
78 #else
79 && c != EOF)
80 #endif
81 ungetc (c, f);
82
83 return c;
84 }
73 else 85 else
74 #if defined (CXX_ISO_COMPLIANT_LIBRARY) 86 #if defined (CXX_ISO_COMPLIANT_LIBRARY)
75 return traits_type::eof (); 87 return traits_type::eof ();
76 #else 88 #else
77 return EOF; 89 return EOF;
78 #endif 90 #endif
79 }
80
81 c_file_ptr_buf::int_type
82 c_file_ptr_buf::uflow (void)
83 {
84 return underflow ();
85 } 91 }
86 92
87 c_file_ptr_buf::int_type 93 c_file_ptr_buf::int_type
88 c_file_ptr_buf::pbackfail (int_type c) 94 c_file_ptr_buf::pbackfail (int_type c)
89 { 95 {