diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-09-16 16:01:55 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-09-16 16:01:55 +0000 |
commit | a6bb47e073377fa203132a3ae20f76103a8049b7 (patch) | |
tree | 6f133200943f818cad1e94da16393eadfe8dd250 /libio/osform.cc | |
parent | db3b49b1fef1f3ba83eeb6537963bd7884e89602 (diff) | |
download | gcc-a6bb47e073377fa203132a3ae20f76103a8049b7.tar.gz |
Uli's libio/libstdc++ patches.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15486 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libio/osform.cc')
-rw-r--r-- | libio/osform.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libio/osform.cc b/libio/osform.cc index 8c0011703da..f08f2efaa39 100644 --- a/libio/osform.cc +++ b/libio/osform.cc @@ -29,26 +29,38 @@ the executable file might be covered by the GNU General Public License. */ ostream& ostream::form(const char *format ...) { if (opfx()) { + _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, + _strbuf); va_list ap; va_start(ap, format); _IO_vfprintf(rdbuf(), format, ap); va_end(ap); + osfx(); + _IO_cleanup_region_end (0); } return *this; } ostream& ostream::vform(const char *format, _IO_va_list args) { - if (opfx()) + if (opfx()) { + _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, + _strbuf); _IO_vfprintf(rdbuf(), format, args); + osfx(); + _IO_cleanup_region_end (0); + } return *this; } ostream& ostream::operator<<(const void *p) { if (opfx()) { + _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, + _strbuf); form("%p", p); osfx(); + _IO_cleanup_region_end (0); } return *this; } |