home *** CD-ROM | disk | FTP | other *** search
- Tue Jun 29 13:00:52 1993 Per Bothner (bothner@rtl.cygnus.com)
-
- * sbufvscan.C: Add (unsigned char) casts as needed.
-
- Thu Jun 24 12:41:17 1993 Per Bothner (bothner@rtl.cygnus.com)
-
- * Makefile.in (VERSION): Increase to 0.92.
- * filebuf.C (filebuf::sync): Adjust _offset and egptr() after
- seek. Patch from mclaugh@tnt.acsys.com (Mark A. McLaughlin).
-
- Wed Jun 23 17:39:07 1993 Jeffrey Osier (jeffrey@deneb.cygnus.com)
-
- * iostream.texi: reverted change 'cause it broke makeinfo
-
- Wed Jun 23 16:42:43 1993 Per Bothner (bothner@rtl.cygnus.com)
-
- Change to remove warnings when user programs are compiled
- with -Wcast-qual.
- * strstream.h (strstreambuf::init_const): Remove.
- * strstream.{h,C} (strstreambuf::init_static (const char *, int):
- New method.
- * streambuf.h (streambuf::streambuf(const [[un]signed] char *):
- Use above new method.
-
- Wed Jun 16 16:22:23 1993 Jeffrey Osier (jeffrey@cygnus.com)
-
- * iostream.texi: fixed @deftypefn bug that was preventing format
-
- Thu Jun 3 00:54:39 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
-
- * iostream.texi: update INFO-DIR-ENTRY
-
- Tue Jun 1 16:28:04 1993 Per Bothner (bothner@rtl.cygnus.com)
-
- * streambuf.h (ios::dont_close): Redefine to avoid overflow warnings.
- * streambuf.h (ios::setstate): New method (ANSI).
- * streambuf.h (class ios::Init): New nested class (ANSI).
- * streambuf.h (class streambuf): Inherit publicly from
- __streambuf, not privately. (cfront properly complains.)
- * streambuf.h (streambuf::snextc): Restructure
- to avoid stupid cfront inlining warnings.
- * streambuf.h (ios::exception): Split into two (overloaded)
- methods, and rename to ios::exceptions (ANSI).
- * streambuf.h (__file_fields::_offset): Change type to _G_off_t.
- * outfloat.C (__outfloat): Interpret a precision of 999
- (e.g. %.999g) to mean "as many digits as are needed".
- * Makefile.in (add-to-targetlib): New rule.
-
- Fri May 28 15:39:58 1993 Per Bothner (bothner@rtl.cygnus.com)
-
- * procbuf.C: Declare vfork.
- * iostream.h (ios inline methods): Restructure
- to avoid stupid cfront warnings.
- * iostream.h (istream::peek) moved to iostream.C:
- Make non-inline. Never set failbit. Set eofbit on EOF.
- * iostream.C (flush): Just call ostream::flush,
- rather than poorly-defined overflow(EOF).
- * stream.h: Define obsolete functions ::str and ::char
- here, rather than in builtin.h.
- * indstream.h (indirectbuf::lookup_stream): Avoid cfront
- warning about unused parameter name.
-
- Thu May 6 16:52:08 1993 Per Bothner (bothner@cygnus.com)
-
- * parsestream.h (parsebuf::seekoff): Add argument default
- (seems to be needed for cfront).
- * sbufvscan.C (streambuf::vscan): Use a new typedef (strtoulfn
- for strtoul()). This avoids a cfront bug.
- * stdstreams.C: Add support for cfront.
-
- Tue Apr 27 20:31:18 1993 Per Bothner (bothner@cygnus.com)
-
- * iomanip.h (omanip): Fix typo (friend operator>> to <<).
-
- Thu Apr 22 18:42:37 1993 Per Bothner (bothner@cygnus.com)
-
- * editbuf.C, fstream.C, indstream.C: Move #pragma
- implementation to *before* #includes.
-
- Tue Apr 20 19:17:55 1993 Per Bothner (bothner@cygnus.com)
-
- * floatconv.c (dtoa): Fixed memory management bug.
- Also, added some comments and cleaned some things up.
-
- Mon Apr 19 01:11:00 1993 Per Bothner (bothner@cygnus.com)
-
- * Makefile.in, configure.in: Re-vamped configure scheme.
- * streambuf.C (backupbuf::pbackfail): Handle the case
- that _gptr > _eback.
- * iostream.h (istream::isfx): New (empty) method, for ANSI.
- * iostream.{h,C} (ostream::operator<<(void *p)): Change
- parameter to (const void*).
- * iostream.C (istream::get): Set _gcount (as required by ANSI).
- * iostream.C (istream::operator>>(char*)): Always clear
- width, even if ipfx fails.
- * iostream.h (istream::peek): Don't set eofbit on EOF.
- * filebuf.C (filebuf::open): Fix for '+'-suffixed modes.
- * filebuf.C (filebuf::do_write): Even if write fails,
- update the buffer the mark the data as out-of-here.
- * strstream.h (class strstreambuf): A static stream is
- always frozen, and cannot be unfrozen.
- * strstream.C (strstreambuf::seekoff); Remove dubious
- assignments to _allocate_buffer and _free_buffer.
- * stdstrbufs.C (vt_stdiobuf): Fix mis-count.
-
- Fri Apr 16 13:27:05 1993 Per Bothner (bothner@cygnus.com)
-
- * floatconv.C (dtoa): Allocate more space for result.
- Seems to fix occasional memory smash.
- * floatconv.C: If __386__, assume little-endian 8087-format.
- * stdiostream.C (stdiobuf::sys_write): Fix thinko.
- * stdiostream.C (stdiobuf::sync): Don't fseek.
- * sbufvscan.C (streambuf::vscan.C): Format codes 'X',
- 'E' and 'F' should *not* imply long.
- * igetline.C: #include <string.h> for memcpy.
-
- Thu Jan 21 14:45:19 1993 Per Bothner (bothner@cygnus.com)
-
- * iostream.C (istream::operator>>(char*)): Stop at
- width()-1 chars, not width() (to leave room for '\0').
- * iostream.C (write_int, ostream::operator<<(integral types)):
- Slight change in calling convention of write_int, to make
- sure we never print '+' for unsigned values.
-
- Tue Jan 19 11:51:01 1993 Per Bothner (bothner@cygnus.com)
-
- * iomanip.h: Minor syntax changes to enable compiling with
- cfront. From Peter.Schauer@regent.e-technik.tu-muenchen.dbp.de.
-
- Sat Jan 16 17:27:05 1993 Per Bothner (bothner@cygnus.com)
-
- * iostream.C (istream::operator>>(char*)): Don't set
- failbit is file ends in middle of non-empty string.
- * iostream.C (ostream::operator<<(char)): Follow AT&T
- implementation (re use of width(), rather than their docs.
- * iostream (ostream::operator<<(double)): Fix use of
- precision: If it is 0 and not ios::fixed, use default (6).
-
- Fri Jan 15 04:49:22 1993 Mike Stump (mrs@cygnus.com)
-
- * iostream.C (ends): Give 0 a char type, so as to be unambiguous.
-
- Tue Dec 29 08:59:29 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * Makefile.in: pass $(FLAGS_TO_PASS) to all calls to make.
-
- Tue Dec 22 14:12:52 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * streambuf.h: Don't define fpos_t (vulnerable to name clashes,
- as well as being non-standard); just use _G_pos_t.
- * streambuf.h, filebuf.C, parsestream.h, stdiostream.[hC]:
- Replace fpos_t -> _G_fpos_t.
- * Makefile.in (AR_FLAGS): Use rc instead of non-standard qc.
- * Makefile.in (iostream.dvi): New rule.
- * filebuf.C (filebuf::underflow): Call switch_to_get_mode().
- * stdstrbufs.C: Change type of _std_filebuf_[123] from
- _fake_filebuf[1] to plain _fake_filebuf, for compatibility
- with stdio/stdio.h.
-
- Sun Dec 20 14:05:37 1992 Per Bothner (bothner@cygnus.com)
-
- * outfloat.C (__outfloat): Handle cases like 10.0 correctly.
- (Fix from H.J. Lu.)
-
- Wed Dec 9 14:48:38 1992 Per Bothner (bothner@cygnus.com)
-
- * streambuf.h: #undef open and close, in case some header
- file defines these as macros.
-
- Thu Dec 3 19:40:07 1992 Per Bothner (bothner@cygnus.com)
-
- * Makefile.in (distclean, realclean): Don't delete
- Makefile until *after* recursing.
-
- Mon Nov 23 14:05:47 1992 Per Bothner (bothner at cygnus.com)
-
- * filebuf.C (filebuf::open): Fix typo ios::app -> ios::out.
-
- Tue Nov 17 21:52:55 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * filebuf.C (filebuf::open): ios::app implies ios::out.
- * igetline.C (istream::getline, istream::get): Slightly more
- complicated to handle empty lines without setting error state.
-
- Thu Nov 5 18:08:48 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * streambuf.h: Add _S_IS_APPENDING flag.
- * filebuf.C: Handle append mode better. (Seek to end when
- opening. File position is unpredictable before and after a write.)
- * streambuf.h: Fix semi-typo for value of ios:fixed.
-
- Mon Nov 2 22:25:53 1992 Per Bothner (bothner@cygnus.com)
-
- * strstream.h (strstream): Fix broken default constructor.
- * stdstrbufs.C: Don't include unneeded <stdiostream.h>
- (which caused mips assembler to complain about a conflict).
- * stdiostream.C (stdiobuf::sync): Don't call fflush()
- on read-only files.
-
- Sun Nov 1 14:54:26 1992 Per Bothner (bothner@cygnus.com)
-
- * floatconv.C: Renamed from dtoa.C, to avoid conflicts
- with ../src/dtoa.cc.
- * Makefile.in: Update as appropriate.
-
- * filebuf.C, indstream.{h,C}, stdiostream.{h,C}, streambuf.{h,C}:
- Rename sputn/sgetn virtual methods to xsputn/xsgetn.
- Add sputn/sgetn inlined non-virtual that just call xsputn/xsgetn.
- This change is to be compatible with ANSI and AT&T.
- * stdstrbufs.C: Make sure all standard stdiobufs are unbuffered.
-
- Wed Oct 21 17:48:03 1992 Per Bothner (bothner at PersSony)
-
- * outfloat.C (__outfloat): If no error, return value is
- number of characters printed.
- * sbufvform.C (streambuf::vform): Fix a number of buglets.
-
- Tue Oct 20 15:20:17 1992 Per Bothner (bothner@cygnus.com)
-
- * streambuf.h, sbufvscan.C, sbufvform.C : Add streambuf::scan
- and streambuf::form.
- * sbufvform.C: Fix handling of precision for integer formats.
- * iostream.texi: Document the various form & scan methods.
-
- Fri Oct 16 15:42:15 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- Many changes here and there, many to bring closer to ANSI draft.
-
- * streambuf.h: Fill character is now wchar_t.
- Add some (unused) hooks for raising exceptions.
- * sbufvscan.C (streambuf::vscan): Set error state using an
- to (ios*) parameter instead of an (ios::iostate*).
- * iostream.C: Change usages of streambuf::vscan().
- * iostream.C: Slightly changed interpretations of basefield.
- * iostream.h: Add some missing methods (signed and
- unsigned char versions of put(), get(), and getline()).
- * streambuf.{ch], indstream.[Ch]: Removed ungetfail virtual,
- following latest ANSI draft: Use pbackfail virtual instead.
- * filebuf.C: Moved streambuf::_un_link and streambuf::_link_in
- to streambuf.C.
- * filebuf.C (filebuf::attach): Do *not* set _S_DELETE_DONT_CLOSE
- flag, for compatibily with AT&T.
- * filebuf.C (filebuf::seekoff): Don't move any pointers
- if mode is 0.
- * fstream.h: Add fstreambase::setbuf() and fstreambase::is_open().
- * fstream.[Ch] (fstreambase::close): Set failbit if close fails.
- * fstream.C (fstreambase constructors), strstream.C (various
- constructors): Use new ios::init() method.
- * fstream.C (fstreambase::open): Do a clear() first.
-
- * strstream.[hC]: Add strsteambuf constructors with (const char*)
- buffer. These call new method init_const(), which sets the
- _NO_WRITE flag. New strstreambuf::pbackfail() method fails
- if _NO_WRITE flag is set. Needed for ANSI.
- * strstream.[hC]: Add support for user-supplied allocation
- and free routines (from ANSI). (New methods init_static
- and init_dynamic now used by constructors.)
- * strstream.C (strstreambuf::init_static): Try new mechanism
- for when the buffer is "assumed to continue indefinitely."
-
- * iostream.C, stdstrbufs.C: Remove not_open_filebuf.
- * stdstrbufs.C: Rename _{cin,cout,cerr}_sbuf to
- __std_filebuf_{0,1,2}. Also define __std{in,out,err}_stdiobuf
- as standard stdiobufs. Chain all 6 standard streambufs together.
- * stdstreams.C: Use the __std{in,out,err}_stdiobuf rather
- than __std_filebuf_{0,1,2} by default for {cin,cout,cerr}
- - unless _STDIO_USES_IOSTREAM or USE_FILEBUF are defined.
- * streambuf.h, stdstreams.C: New function ios::sync_with_stdio
- to switch between using __std_filebuf_{0,1,2} and
- __std{in,out,err}_stdiobuf for standard streams. This is
- normally not needed, but is provided for AT&T compatibility.
-
- * iomanip.h: Rename template classes to be lower-case (following
- ANSI). Don't declare anything if _G_NO_TEMPLATES is defined in
- <_G_config.h>. Rename DEFINE_IOMANIP_FN1 -> __DEFINE_IOMANIP_FN1.
-
- * stdiostream.[hC]: Re-implement: Make stdiobuf sub-class
- of filebuf, and use the virtual sys_ functions (e.g. sys_read)
- to call stdio function (e.g. fread). This simpifies stdiobuf,
- and gives us filebuf features automatically.
-
- Sun Oct 11 19:12:20 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
-
- * Makefile.in: make info files at 'info' time, not install-info
-
- Thu Sep 3 16:23:00 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * filebuf.C: Remove #include of <sys/file.h>. It is not
- standard (not in Posix), and doesn't seem to be needed.
-
- Tue Sep 1 13:10:20 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * filebuf.C (filebuf::sys_write): Set error flag appropriately.
- * procbuf.C (procbuf::sys_close): Add Posix support.
- * stdstrbufs.C: Make cerr be unbuffered.
- * iostream.h (ostream::opfx), streambuf.h (streambuf::sputc):
- Cosmetic changes; may help cfront to inline.
- * iostream.C (istream::ignore), streambuf.C (streambuf::seekmark),
- strstream.C (strstreambuf::overflow, strstreambuf::seekoff),
- parsestream.C (string_parsebuf::string_parsebuf), editbuf.C
- (edit_streambuf::seekoff), indstream.C (indirectbuf::overflow):
- Comment out default argument specifications that duplicate
- earlier definitions (to placate cfront).
- * streambuf.h, filebuf.C: New static member filebuf::openprot
- (Non-ANSI AT&T-ism).
- * streambuf.h: Add ios::bin enum flag, for binary I/O
- on non-Unix systems. Unused so far.
-
- Wed Aug 12 11:43:55 1992 Per Bothner (bothner@cygnus.com)
-
- * Makefile.in: 'install-info' should install iostream.info*.
-
- Tue Aug 11 23:46:38 1992 Per Bothner (bothner@cygnus.com)
-
- * Makefile.in: Bump to VERSION 0.85.
-
- * iostream.[hC], fstream.[hC], strstream.[hC]: Convert to using
- multiple inheritance, with ios as a virtual base class. I think
- this is slightly more cumbersome and inefficient, but it improves
- compatibility with other implementation (such as AT&T), and
- will probably be required by ANSI. (It also allows removing some
- duplicate methods.) Also (for compatibilty), convert operator<<
- and operator>> binary functions to unary methods.
- * stdstreams.C: Chaneg initialization using fake_?stream
- classes to match new use of virtual base classes.
- * streambuf.h: Make ios::~ios be virtual.
-
- * iostream.C (ostream::operator<<(const char* S): Allow S
- to be NULL (in which case print "(null)").
- * igetline.C: Set eofbit when appropriate.
- * sbufvscan .C: Remove silly optimzation that depends on
- size_t being unsigned.
- * streambuf.h (ios::ios): Set ios::dec initially.
- * streambuf.h, filebuf.C: Add filebuf::setbuf(), to make sure
- that get and put areas are set up (as empty start of reserve).
- * streambuf.C (streambuf::set_column): Don't call overflow(EOF).
- * filebuf.C (filebuf::sputn): Fix/optimizatian for
- line-buffered files.
- * Makefile.in: Add stdiostream.?.
- Make sure 'check' makes libio.a (since 'make all' in .. does
- not), since some tests in ./test assume libio.a.
- * iostream.texi: Add some notes on indirectbufs and
- the new stdiobufs.
- * stdiostream.[hC]: New files. Defines new class stdiobuf:
- A streambuf that forwards all requests to a stdio (FILE*)
- Concept follows AT&T man pages.
- * iomanip.[hC]: Minor improvements.
-
- Mon Jul 27 18:24:29 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * dtoa.C: Rename strtod() -> _Xstrtod(), to avoid conflicts
- with strtod() versions in shared libraries.
- * ioprivate.h: #define strtod() as _Xstrtod() (for sbufvscan.C).
-
- Wed Jul 15 21:21:38 1992 Heinrich G. Seidl (hgs@rtl.cygnus.com)
-
- * iomanip.h: added parametrized manipulators.
- iomanip.C: contains the functions, which are called by
- the manipulators.
-
- Fri Jul 10 15:49:03 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * filebuf.C (filebuf::sys_write): Don't use gcc-specific
- extension: increment of a (void*) pointer.
- * igetline.C (_sb_readline): Don't drop the last character
- of non-terminal chunks.
- * strstream.[hC]: Remove _size, _buffer, and _frozen fields
- of a strstreambuf. Instead, use the plethora of flags and
- fields already available in streambuf (blen(), base(), and
- _S_USER_BUF). This makes things more consistent and simpler.
- * streambuf.h: Add streambuf::blen() method.
- * outfloat.C (__outfloat): Various fixes, including calculation
- of trailing_zeroes and whether to print decimal point.
- * iostream.C: Various stylistic improvements to Mike's
- long long support: Avoid code duplication by always using
- long long if __GNUG__ (only needed in a few places); remove
- global variable 'uppercase'; use loop to extract digits,
- rather than recursion; other optimization tweaks.
-
- Thu Jul 2 13:59:55 1992 Mike Stump (mrs at cygnus.com)
-
- * iostream.[Ch]: Implement << and >> for long long and
- unsigned long long.
-
- Fri Jun 26 12:10:45 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * Makefile.in: Increase to version 0.81. Add a .NOEXPORT.
- * dtoa.C: Remove some grunge.
- * iostream.h: Add appropriate const-ness to various casts.
- * sbufvform.C, sbufvscan.C: More const-ness fixes.
- * outfloat.C: Different algorithm for formatting exponent.
- * parsestream.C: Kludge to avoid warning.
- * streambuf.h: Fix ios::operator void * to avoid
- const-ness-removing cast.
- * streambuf.C: Kludge for Linux.
-
- Mon Jun 22 14:45:58 1992 Per Bothner (bothner@cygnus.com)
-
- * sbufvform.C: If prec is -1, use DEFPREC.
-
- Sun Jun 21 00:33:10 1992 Per Bothner (bothner@cygnus.com)
-
- * streambuf.h (ios::ios): Fix thinko.
-
- Fri Jun 19 23:27:27 1992 Per Bothner (bothner@cygnus.com)
-
- * streambuf.h, iostream.[Ch]: Remove istream/ostream/iostream
- destructors, and do the cleanup in (new) ios::~ios instead.
- Make default constructor and destructors be inline.
- * iostream.C, fstream.C: No longer set ios::dont_close flag
- on default constructors. In addition to being more efficient,
- this also fixes an embarassing memory leak ...
- * procbuf.C: Remove (union wait) kludge (for NeXT).
-
- Wed Jun 17 17:05:37 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * dtoa.C: New file, derived from dtoa.h by David M. Gay
- of AT&T. This does guaranteed accurate conversion between
- floating-pointer numbers and their string representations.
- It exports strtod() (string->double) and dtoa (double->string).
- * outfloat.C: New file. Exports __outfloat(), a higher-level
- interface to dtoa().
- * ioprivate.h: Declare these new functions.
- * sbufvscan.C: Use new strtod() to convert floats.
- * iostream.C, sbufvform.C: Use new __outfloat function.
- * editbuf.h: Removed spurious "inline".
- * procbuf.C (procbuf::sys_close):: Handle systems where
- the wait() argument is (union wait*).
- * streambuf.h: Clean up confusion vbetween ios::iostate
- and ios::fmtflags types.
- * iostream.C: Use ios::fmtflags type and new streambuf::padn
- method as appropriate.
- * streambuf.[hC]: Add streambuf::padn() whcih emits many
- copies of the same character.
- * streambuf.h, sbufvscan.C(streambuf::vscan): Extra optional
- (ios::iostate*) parameter, so errors/EOF can be reported back.
- * iostream.C: Use 3rd parameter of streambuf::vform() to
- have it set the error state on syntax errors or EOF.
- * streambuf.h, filebuf.C: New method filebuf::do_write
- with the common functionality of do_flush and sputn.
- * streambuf.C (streambuf::sputn), filebuf.C (filebuf::sputn):
- Return immediately if count is not positive.
- * filebuf.C: For simplicity, always set _S_TIED_PUT_GET
- for a filebuf, not just when it is read+write.
- * filebuf.C (filebuf::sys_read, filebuf::sys_write):
- Restart on an EINTR.
- * filebuf.C: Various fixes to handle uncommon combinations
- of read, writes, and seeks.
- * Makefile.in: Add dtoa.?, outfloat.?. Fix *clean rules.
- Increase version to 0;80.
- * iostream.texi: Add some information about stdio.
-
- Fri Jun 5 13:10:59 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * iostream.h: Made istream::_gcount and istream::gcount(),
- signed (_G_ssize_t), following AT&T and ANSI.
- * iostream.C: Make istream::read() set _gcount.
-
- Thu Jun 4 12:03:15 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * streambuf: ios::set() is a standard ANSI method (though
- it is not in the AT&T libraries).
-
- Wed Jun 3 17:08:53 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * streambuf.h: Moved ios::set to _STREAM_COMPAT section.
- Added streambuf::stossc(), for AT&T compatibility.
- Changed global fmtflags type to ios::fmttype.
- * TODO: Remove some things that have been done!
- * README: Re-write the notes on stdio (which were written
- assuming that installing stdio was the default; that
- is not the case).
-
- Sun May 31 14:06:16 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * Makefile.in: Increase to version 0.76.
- Use CFLAGS, not MINUS_G. Add FLAGS_TO_PASS macro to be more
- consistent about passing flags to sub-makes.
- * filebuf.C (filebuf::open - two methods: Set _S_TIED_PUT_GET
- flag properly.
- * filebuf.C: Always switch to read mode, if tied and reading,
- even if c==EOF.
- * procbuf.C: Cosmetic change.
-
- Thu May 28 13:57:19 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * iostream.C: Don't cast to _G_va_list, since that may
- not be possible.
- * iostream.h (ostream::put): Move inline definition
- inside class body (avoids order-of-definition problems).
- * procbuf.C (procbuf::open): Re-set read/write flags.
- * sbufvform.C (streambuf::vform), sbufvscan.C (streambuf::vscan):
- Don't try to cast _G_va_list to va_list (not possible if
- these are structs); just use the _G_va_list parameter as if
- it were a va_list. (This should work, according to _G_config.h).
- * streambuf.h: Define new fmtflags type (from ANSI), and use it.
- * streambuf.h: #include <stdarg.h> of needed.
-
- Thu May 14 13:13:18 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * Makefile.in: Fix handling of SUBDIRS, including passing
- of working values of CC.
- * makebuf.C, filebuf.C: Use Posix macros S_ISCHR, S_ISREG.
- * streambuf.h, streambuf.C: Replace _FRIEND_BUG #ifdefby
- _G_FRIEND_BUG, set in _G_config.h.
- * iostream.C (write_int): Fix thinko: && -> &.
- * iostream.h, iostream.C: Clean up handling of skipping of
- initial white space by ipfx(0) (e.g. setting flags correctly).
-
-
- Sat May 9 13:51:12 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * Makefile.in: Bump version to 0.75.
-
- * iostream.C (ws manipulator): Set failbit on EOF.
- Also, use skip_ws function.
-
- Wed May 6 15:48:51 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * streambuf.C (streambuf::setb): Reverse test for
- when to delete _base (oops).
- * streambuf.C (__adjust_colummn): Add missing const.
-
- * filebuf.C: Clean up a number of minor bugs and
- messy code. This should be more consistent now.
- * iostream.C (istream::ignore): Optimize to use new
- streambuf::ignore when delim==EOF. Also, set _gcount.
- * streambuf.h, streambuf.C: New methods streambuf::ignore,
- streambuf::free_backup_area, streambuf::switch_to_get_mode,
- and streambuf::unsave_markers. and __adjust_column function.
- Also, various tweaks and optimizations.
-
- Sat May 2 16:37:27 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * streambuf.h, streambuf.C, filebuf.C: Get working initial
- rough support for keep track of current column in output.
- * streambuf.C: New function __adjust_column() used for
- the above-mentioned column support.
-
- Fri May 1 16:57:14 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * filebuf.C (filebuf::do_flush): Set get area pointers
- to base() (new pptr()), not old value of pptr().
- * filebuf.C: Consistently set _flags to _S_NO_READS+_S_NO_WRITES
- when closing, and re-set old values when opening.
- * streambuf.h (streambuf): New 2-op xsetflags method with mask.
- * streambuf.h (ios::is_open): New definition: Assume open
- unless both _S_NO_READS and _S_NO_WRITES are set.
- * stdstrbufs.C: Set _S_NO_READS+_S_NO_WRITES for not_open_filebuf.
-
- Thu Apr 30 16:50:47 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * Makefile.in: Bump to version 0.72.
- * streambuf.h: Change streamoff and streampos to be _G_off_t,
- which seems to make more sense.
-
- * strtoul.C: Removed. Not needed, now that we use libiberty.
- * filebuf.C: Fix (and turn on) filebuf::sputn.
- * procbuf.C: New streambuf sub-class, provides popen/pclose
- functionality for streambufs.
- * Makefile.in: Update appropriately.
- * streambuf.h: Add cast to avoid warning.
- * streambuf.h, various: Replace _S_CAN_READ _S_CAN_WRITE by
- the inverses _S_NO_READS _S_NO_WRITES: Because these flags
- are not part of the standard streambuf protocol, we should
- infer anything if they are not set.
- * filebuf.C: filebuf::sys_write() does multiple writes if
- needed, and updates _fb._offset (that might be a mistake).
- * filebuf.C: Work-in-progress, to clean up various things.
- * streambuf.[hC], filebuf.C, makebuf.C: Move shortbuf from filebuf
- class to streambuf. New methods streambuf::doallocbuf and
- allocbuf set base() to shortbuf if unbuffered(). This
- simplifies things, since it always sets up a buffer.
- * iostream.texi: Various improvements.
- * streambuf.[Ch]: New virtual methods streambuf::get_column()
- and streambuf::set_column for keeping track of column in output.
-
- Thu Apr 30 09:09:06 1992 K. Richard Pixley (rich@cygnus.com)
-
- * Makefile.in: make CFLAGS work when passed from the command line
- to make.
-
- Fri Apr 17 09:18:40 1992 Per Bothner (bothner at PersSony)
-
- * dummy.C, statdummy.c: Removed (now inlined in ../util/gen-params).
- * igetsb.C (istream& istream::get(streambuf&b, char)): New function.
- * iostream.texi: The barest beginnings of a manual.
- * streambuf.h, streambuf.C, other places: All standard
- streambuf classes inherit from backupbuf; the classes (will)
- follow a protocol allowing guaranteed backing up, which is
- useful for scanning/parsing (see iostream.texi).
- * filebuf.C: Numerous bug-fixes, many from Hongjiu Lu
- <hlu@eecs.wsu.edu>.
- * filebuf.C: filebuf::pbackfail is no longer needed, since
- the logic is now handled by streambufs (rather: backupbufs).
- * iostream.h: Add proper (signed char) support (if the
- compiler can deal with it).
- * iostream.h: Add istream::vscan and scan methods.
- * iostream.C: No longer need closed_streambuf dummy class
- (for non-abstarct under-/overflow); use backupbuf instead.
- * iostream.C: Add istream& operator>>(istream&, streambuf*).
- * Various places: Use _G_-prefixed form of parameters
- from ../_G_config.h.
- * stream.C (itoa): Make sure minus sign comes first ...
-
- Fri Mar 20 17:45:56 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * makebuf.C: Include ioconfig.h, for the sake of NO_ST_BLKSIZE.
- * iostream.h: Add << and >> operators for manipulator
- functions that take ios arguments.
- * filebuf.C: #include <sys/types> *before* <sys/file>.
- * filebuf.C (filebuf::close): NULL out buffer pointers.
- indstream.C ioconfif.h iostream.C iostream.h
- * streambuf.h, streambuf.C: Make streambuf an abstract class by
- making underflow and overflow pure virtual functions.
- * parsestream.h, sbufvform.C: Define dummy underflow and overflow
- methods, now that streambuf is an abstract class.
- * sbufvscan.C: Fix logic bug introduced when converting from C.
- * streambuf.C (streambuf::sgetn): Fix logic bug.
- * strstream.C (3-argument strstreambuf::strstreambuf):
- Set ititial _len correctly.
- * stdio/fclose.C (fclose): Don't delete stdin/stdout/stderr.
-
- Generate ioconfig.h automatically in the Makefile.
- * ioconfig.h: Deleted, now automatically generated.
- * Makefile.in: New rule to generate ioconfig.h. Add -I. to path.
- * dummy.C, statdummy.c: Small test programs used when
- generating ioconfig.h.
-
- Tue Mar 10 18:12:57 1992 Per Bothner (bothner@cygnus.com)
-
- * Makefile.in: Make version 0.70 for libg++ release.
-
- Fri Mar 6 16:51:35 1992 K. Richard Pixley (rich@cygnus.com)
-
- * Makefile.in: bump version to .69 (good number).
-
- Fri Mar 6 15:01:10 1992 Per Bothner (bothner@cygnus.com)
-
- * filebuf.C: Include <sys/types>.
- * strstream.C: Add casts to avoid compiler warnings.
- * stdio/stdio.h (putc): Fix to evaluate char argument once only.
-
- Thu Mar 5 18:07:47 1992 Per Bothner (bothner@cygnus.com)
-
- * setvform.C: Some minor changes to remove compiler warnings.
-
- Tue Mar 3 16:50:36 1992 Per Bothner (bothner@cygnus.com)
-
- * iostream.C: Include stdio.h.
-
- * __vsbprintf.C renamed to sbufvform.C.
- * __vsbscanf.C renanmed to sbufvscan.C.
- * Makefile.in: Reflect previous changes.
- * TODO: Update.
-
- Sun Mar 1 16:48:08 1992 Per Bothner (bothner@cygnus.com)
-
- * __vsbscanf.C: Add some initializations to avoid compiler
- warnings.
- * iostream.C (read_int): Fix two logic errors.
- * streambuf.h: Add macros to avoid duplicating magic numbers.
- * streambuf.C: Move definitions of standard streambufs
- and streams to new files stdstrbufs.C and stdstreams.C.
- * Makefile.in: Add stdstrbufs.o and stdstreams.o.
- * stdio/stdio.h: Add define of size_t, and fix that of fpos_t.
- * stdio/vfprintf.C: Fix use of __STDIO_VA to _G_va_list.
-
- Thu Feb 27 06:14:33 1992 K. Richard Pixley (rich@rtl.cygnus.com)
-
- * Makefile.in: removed a stray rm -f
-
- Wed Feb 26 12:05:17 1992 Per Bothner (bothner at cygnus.com)
-
- * filebuf.C: On close(), don't zero *all* the flags.
- * ioconfig.h, streambuf.C: Configuration tweeaks.
- * streambuf.h: Use _G_config.h to get configuration
- parameters.
- * streambuf.h: Change _width and width() to
- take/return ints, not longs.
- * makebuf.C: Replace test for VMS by generic NO_ST_BLKSIZE.
- * igetline.C: istream::get and istream::getline
- should set the failbit it no characters are extracted.
- * sgetline.C, __vsbscanf.C: Add some casts.
- * iostream.h: Complicate istream::get() and istream::peek()
- to set and test state flags.
- * iostream.h: Add hex(), dec(), and oct() manipulators.
- * iostream.h: Add 'extern' or 'inline', as appropriate.
- * streambuf.h, iostream.h, iostream.C, strstream.C, strstream.h,
- __vsbprintf.C, __vsbscanf.C: Use _G_size_t and _G_va_list
- macros from _G_config.h.
- * strstream.C, strstream.h: Add strstreambuf::underflow().
- * strstream.C: Always set get pointers when constructing.
- * Makefile.in: Copy in _G_config.h when making a distribution.
-
- Thu Feb 20 21:22:38 1992 Per Bothner (bothner at cygnus.com)
-
- * stdio/Makefile, test/Makefile: Use new IO_RELPATH and
- IO_SRCDIR macros (useful for standalone distributions of
- iostreams without the rest of libg++).
-
- Add various methods to enable compilation of InterViews.
- * iostream.h, iostream.C: Add istream::ignore method
- and iostream::iostream(streambuf* sb, ostream* tied).
- * iostream.h: Add {i,io}stream::peek methods.
- * streambuf.h: Make filebuf::sync() public.
- * streambuf.h: Add input, output, and append enum
- values in _STREAM_COMPAT mode.
- * strstream.{h,C}: Add strstream class.
-
- Wed Feb 19 16:14:17 1992 Per Bothner (bothner at cygnus.com)
-
- * Makefile.in: Bumped to version 0.62. Hack 'dist' rule.
- * README: Minor updates. (More needed.)
- * ioprivate.h: Replace #include <std.h> by standard includes.
- * parsestream.C, fstream.C: Remove redundant #include <std.h>.
- * streambuf.h, fstream.h: Made a number of methods 'const'.
- * indstream.C: Added missing indirectbuf::seekpos.
- * ioconfig.h, makebuf.C: Some fixes for rs6000 and VMS.
- * strstream.[hC]: Removed unneeded indirection
- for various fields of strstreambuf.
- * strstreambuf.C (strstreambuf constructor): Re-wrote
- and commented kludge for handling negative size argument.
- * strstream.[hC]: Added strstreambuf::seekoff method.
- * streambuf.C: Allow _vt.filebuf as well as _vt$filebuf
- as assembler label of filebuf's virtual table.
- * __vsbprint.C: Handle write errors.
-
- Sat Feb 15 12:50:09 1992 Per Bothner (bothner at cygnus.com)
-
- * fstream.h: Remove #pragma once.
-
- * Makefile.in: Bump to version 0.61.
- * stream.[Ch]: Change format arg from (char*) to (const char*).
-
- * fstream.h: Fix typo __GNU_G__ -> __GNUG__.
-
- Sat Feb 8 13:39:04 1992 Per Bothner (bothner at cygnus.com)
-
- * iostream.C (ws): This time it should work!
-
- Fri Feb 7 11:27:13 1992 Per Bothner (bothner at cygnus.com)
-
- * Makefile.in: Bumped version number to 0.60.
- Re-write 'dist' rule to work better within libg++ source tree
- (e.g. use $(srcdir); add configure).
- * iostream.h (istream::ipfx()): Set ios::failbit if !good().
- * iostream.C (ws): Re-write to use ipfx1().
-
- Tue Feb 4 16:42:15 1992 Per Bothner (bothner at cygnus.com)
-
- * iostream.C (read_int): If eof and no values,
- set eofbit as well as failbit.
- * iostream.C (ws): On eof, set failbit as well as eofbit.
-
- * editbuf.[Ch]: New method edit_streambuf::set_current().
- * streambuf.h, iostream.[Ch], __vsbscanf.C, __vsbprintf.C:
- Define and use _IO_VA_LIST instead of va_list.
- (Using va_list causes namespace problems.)
- * streambuf.[Ch]: Make streambuf::flush_all() return an int
- (for the benefit of stdio/fflush()).
- * Makefile.in: Also make stdio.
-
- Sat Feb 1 12:44:36 1992 Per Bothner (bothner at cygnus.com)
-
- * igetline.C (istream::gets): Set failbit if eof and no data.
-
- * iostream.{h,C}: Add istream::read(void*,int) and
- ostream::write(const void*,int). Flesh out
- istream::read(char*, int) and ostream::write(const char*,int)
- a bit, move them to iostream.C, and make the other
- overloaded variants be inline functions with casts.
-
- Fri Jan 31 17:02:53 1992 Per Bothner (bothner at cygnus.com)
-
- * filebuf.C (filebuf::close()): _un_link() a file
- when closing it.
-
- Thu Jan 30 23:32:02 1992 Per Bothner (bothner at cygnus.com)
-
- * streambuf.C: Move #pragma implementation earlier in the file.
- * Makefile.in (install-include-files): Re-write;
- the previous form broke for some reason under Ultrix..
-
- Wed Jan 29 12:01:58 1992 Per Bothner (bothner at cygnus.com)
-
- * fvwrite.[hC]: Removed.
- * __vsbprintf.C: Removed __sbvwrite, __sbprint, and all
- of the struct __suio junk (from the BSD stdio implementation).
- * ioprivate.h: Use new/delete for buffers, not malloc/free.
- * stream.C: Remove default argument duplication (makes
- cfont happier).
- * streambuf.h: Added protected methods to access the privately
- inherited __streambuf fields. This should remove most of
- visibility violations (reported by a cfront user).
- * filebuf.C, strstream.C: Use these new protected methods.
- * streambuf.[Ch]: Make flush_all a static member of
- streambuf, and added streambuf::flush_all_linebuffered().
- * iostream.h: Add struct Iostream_init for AT&T compatibility.
- * strstream.C (strstreambuf::overflow): Minor tweaking.
- * iostream.[hC], strstream.[Ch], parsestream.[Ch], editbuf.[Ch]:
- Surround #pragmas by #ifdef __GNUG__.
-
- Sun Jan 26 19:20:26 1992 Per Bothner (bothner at cygnus.com)
-
- * iostream.h, igetline.C: Add istream::gets().
-
- Fri Jan 24 23:53:24 1992 Per Bothner (bothner at cygnus.com)
-
- * SFile.C, SFile.h: New files, based on old stream-based versions.
- * Makefile.in, depend, configure.in: Move some make rules to
- ../Make.defs. Use 'make depend.'
- * iostream.[hC]: Define an iostream class. This uses coercions
- (that might not work on all compilers), instead of virtual bases.
- * fstream.[hC]: Derive fstream from iostream.
- * iostream.[hc}, PlotFile.C: Changed all operator<< and operator>>
- unary member functions into binary non-member functions.
- * streambuf.[Ch], editbuf.[Ch], indstream.[Ch]: Correct return
- type of streamuf::seekoff and ::seekpos virtual methods
- to streampos (was streamoff).
- * filebuf.C (filebuf::seekoff): Major changes. Now
- it should work most of the time ...
- * iostream.[Ch]: Add seek[pg] and tell[pg] methods.
- * iostream: Made count value for read() and write() methods
- consistently have type 'int' (until ANSI changes it to size_t)!
- * streambuf.h, iostream.C: Replace {i,o,io}stream::close()
- methods with a single ios::close method (that is only enabled
- if _STREAM_COMPAT).
- * __vsbprintf.C (__cvt_double): Fixed bug in %g format.
- * __vsbscanf.C: Fix casts to use fully prototyped types.
- * fstream.h, iostream.[Ch], streambuf.[Ch]: Add some
- more _STREAM_COMPAT compatibilty functions.
- * strtoul.C: Change type of variable to avoid warnings.
- * streambuf.C (streambuf::sputn, streambuf::sgetn): Made more
- robust (don't assume that _epptr >= _pptr -- which isn't true for
- line-buffered filebufs).
-
- Thu Jan 16 17:07:46 1992 Per Bothner (bothner at cygnus.com)
-
- * __vsbprintf.C, streambuf.h, iostream.C, stream.C: Change
- __vsbprintf to streambuf::vform method.
- * __vsbscanf.C, streambuf.h, iostream.C: Change __vsbscanf to
- streambuf::vscan method.
- * __vsbprintf.C, iostream.C: Added helper class help_streambuf,
- used by new function help_vform. This is used to give a
- temporary buffer to an unbuffered file.
- * instream.h, indstream.C: New indirectbuf subclass of streambuf
- is just a "forwarding pointer" to another streambuf.
- * Makefile.in: Add new indstream.[Ch].
- * iostream.C: Use streambuf::set(XX) instead of
- streambuf::clear(rdstate()|XX) in various places.
- * streambuf.h, streambuf.C, iostream.h, iostream.C, editbuf.C:
- Rename streambuf::xsputn and streambuf::xsgetn back to sputn
- and sgetn. I seem to have been misled by a typo in the ANSI draft.
- * streambuf.h, filebuf.C: Add filebuf::sputn and filebuf::sgetn
- as hooks for future optimization.
- * streambuf.C (streambuf::sputn and streambuf::sgetn):
- Re-write to be more efficient.
- * streambuf.C, iostream.C: Define the _STREAM_COMPAT macro
- before including ioprivate.h to force compilation of out-lined
- functions that might be needed by libg++.
- * strtoul.C: Use 'base' in place of 'radix' variable.
- Fix in various minor ways for ANSI compliance.
- * fstream.C (open methods and constructors): Made sure to
- set(ios::badbit) if open failed.
- * ioprivate.h: Remove declarations of removed functions.
- * filebuf.C (filebuf::~filebuf): Fix '=' for '=='.
-
- Sun Jan 5 01:18:06 1992 Per Bothner (bothner at cygnus.com)
-
- * Makefile.in (install_include_files): Various fixes.
-
- Sat Jan 4 23:44:55 1992 Per Bothner (bothner at cygnus.com)
-
- * Makefile.in: Add install-include-files rule,
- and tweak the *clean rules.
- * fstream.h, fstream.C: Make filename parameter (in constructors
- and open() methods) be const, following ANSI,
- * streambuf.h, streambuf.C, iostream.h, iostream.C, editbuf.C,
- __vsbprintf.C, __vsbscanf.C: Rename streambuf::xsput() -> xsputn()
- and sgetn() to xsgetn(), and make them virtual, following ANSI draft.
- * streambuf.h, streambuf.C: Add streambuf::ungetfail() (from ANSI).
- * PlotFile.h, PlotFile.C: Quickie translations of old
- stream-based version of PlotFile class.
-
- Fri Jan 3 16:14:07 1992 Per Bothner (bothner at cygnus.com)
-
- * Makefile.in: List include files in three categories:
- INTERNAL_INCLUDES (private to the implementation),
- COMPAT_INCLUDES (to improve compatibility with olf stream
- library), and USER_INCLUDES (new public interface files).
- These, and the new put_io_files rule will help to a libg++
- that incorporates the iostream library.
- * stream.h: Add _STREAM_COMPAT flag to request
- maximum compatility with old libg++ stream library.
- Add WS as a synonym for ws.
- * streambuf.h, iostream.h: Add extra junk if _STREAM_COMPAT
- flag is set (presumably by stream.h).
- * istream.h, ostream.h: Added for compatibility with old
- libg++ stream library.
- * streambuf.h, streambuf.C, iostream.h: Add streambuf::sungetc()
- and istream::unget() (recently added to ANSI C+ library draft).
-
- Thu Jan 2 22:51:25 1992 John Gilmore (gnu at cygnus.com)
-
- * Makefile.in: Set .SUFFIXES, and make "clean" recurse. Ordinary
- builds do not recurse yet, FIXME, since I don't know what is
- intended here.
-
- Tue Dec 31 16:48:38 1991 Per Bothner (bothner at cygnus.com)
-
- Accumulated bug-fixes, many sugested by various net-people.
- * streambuf.h, streambuf.C: Push data fields of ios into a new
- super-class _ios_fields. This makes it cleaner to define
- cin/cout/cerr without duplication.
- * streambuf.h, filebuf.C, parsestream.h, parsestream.C,
- editbuf.h, editbuf.C, stdio/fseek.C: Change use of seek_dir
- type to _seek_dir typedef, because while the correct type is
- ios::seek_dir, some compilers (including g++ version 1.xx)
- can't hack that.
- * streambuf.h (ios::setf): Fix semantics to return complete
- old value, not just the masked part.
- * ioprivate.h, streambuf.C, filebuf.C, strstream.C, parsestream.C,
- makebuf.C: Use new USE_MALLOC_BUF/ALLOC_BUF/FREE_BUF macros to
- control if streambuf buffers should use malloc/free or new/delete.
- For now the default is to use malloc/free, but that will change.
- * streambuf.C, filebuf.C, fstream.C, strstream.C, igetline.C,
- parsestream.C; Removed duplicate default parameter values
- (to make cfront happy).
- * iostream.C (ios::basefield, ios::floatfield, ios::adjustfield):
- Remove duplicate (and technically illegal) static prefix.
- * iostream.C (read_int): Fix test for when none of the
- dec/oct/hex flags are set.
- * iosteam.C (write_int): Fix bugs.
- * iosteam.C (ws): Set eofbit on EOF.
- * ioconfig.h, streambuf.C: Provide more portable hook to filebuf
- vtable. (Now handles both cfront and g++.)
- * sgetline.C (streambuf::sgetline), __vsbprintf.C, __vsbscanf.C:
- Add/fix casts.
- * local.h: Remove obsolete file.
- * editbuf.h, editbuf.C: Change edit_mark::new_mark method to
- be edit_mark::edit_mark constructor.
- * __vsbscanf.C: Add missing *p++ = c.
- * makebuf.C: Re-formatted.
- * Makefile.in, configure.in: New files, to fit into
- general libg++ configuration.
-