summaryrefslogtreecommitdiff
path: root/libio/streambuf.h
diff options
context:
space:
mode:
Diffstat (limited to 'libio/streambuf.h')
-rw-r--r--libio/streambuf.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/libio/streambuf.h b/libio/streambuf.h
index 9ef47243be6..bc734bc75b0 100644
--- a/libio/streambuf.h
+++ b/libio/streambuf.h
@@ -55,8 +55,12 @@ extern "C" {
#endif
#ifndef _IO_wchar_t
+#if _G_IO_IO_FILE_VERSION == 0x20001
+#define _IO_wchar_t _G_wchar_t
+#else
#define _IO_wchar_t short
#endif
+#endif
extern "C++" {
class istream; /* Work-around for a g++ name mangling bug. Fixed in 2.6. */
@@ -176,9 +180,9 @@ class ios : public _ios_fields {
ostream* tie(ostream* val) { ostream* save=_tie; _tie=val; return save; }
// Methods to change the format state.
- _IO_wchar_t fill() const { return (_IO_wchar_t)_fill; }
+ _IO_wchar_t fill() const { return _fill; }
_IO_wchar_t fill(_IO_wchar_t newf)
- {_IO_wchar_t oldf = (_IO_wchar_t)_fill; _fill = (char)newf; return oldf;}
+ {_IO_wchar_t oldf = _fill; _fill = newf; return oldf;}
fmtflags flags() const { return _flags; }
fmtflags flags(fmtflags new_val) {
fmtflags old_val = _flags; _flags = new_val; return old_val; }
@@ -409,6 +413,10 @@ struct streambuf : public _IO_FILE { // protected??
virtual streampos sys_seek(streamoff, _seek_dir);
virtual int sys_close();
virtual int sys_stat(void*); // Actually, a (struct stat*)
+#if _G_IO_IO_FILE_VERSION == 0x20001
+ virtual int showmanyc();
+ virtual void imbue(void *);
+#endif
};
// A backupbuf is a streambuf with full backup and savepoints on reading.