Mercurial > hg > octave-lojdl
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