summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2002-06-18 18:13:14 +0000
committerobrien <obrien@FreeBSD.org>2002-06-18 18:13:14 +0000
commit85a92e54f0b53c90b688f1f877c7c38a4d7e6f86 (patch)
tree73dad42ab84d2e1f7ae89fca2652ee78b01649af /contrib
parent275daea3378736e5c39a04f758055711c12273a2 (diff)
downloadFreeBSD-src-85a92e54f0b53c90b688f1f877c7c38a4d7e6f86.zip
FreeBSD-src-85a92e54f0b53c90b688f1f877c7c38a4d7e6f86.tar.gz
FreeBSD is one of the OS's that does not require the use of libio with Gcc 3.1.
Diffstat (limited to 'contrib')
-rw-r--r--contrib/libio/ChangeLog2807
-rw-r--r--contrib/libio/FREEBSD-upgrade21
-rw-r--r--contrib/libio/Makefile.in137
-rw-r--r--contrib/libio/NEWS57
-rw-r--r--contrib/libio/PlotFile.cc157
-rw-r--r--contrib/libio/PlotFile.h89
-rw-r--r--contrib/libio/README30
-rw-r--r--contrib/libio/SFile.cc82
-rw-r--r--contrib/libio/SFile.h55
-rw-r--r--contrib/libio/builtinbuf.cc78
-rw-r--r--contrib/libio/builtinbuf.h68
-rw-r--r--contrib/libio/cleanup.c17
-rw-r--r--contrib/libio/config.shared499
-rw-r--r--contrib/libio/config/hpux.mt3
-rw-r--r--contrib/libio/config/isc.mt4
-rw-r--r--contrib/libio/config/linux.mt25
-rw-r--r--contrib/libio/config/linuxaxp1-libc-lock.h112
-rw-r--r--contrib/libio/config/linuxaxp1-stdio-lock.h36
-rw-r--r--contrib/libio/config/linuxaxp1.mt10
-rw-r--r--contrib/libio/config/linuxlibc1.mt26
-rw-r--r--contrib/libio/config/mn10200.mt3
-rw-r--r--contrib/libio/config/mtsafe.mt2
-rw-r--r--contrib/libio/config/netware.mt16
-rw-r--r--contrib/libio/configure.in199
-rw-r--r--contrib/libio/dbz/Makefile.in218
-rw-r--r--contrib/libio/dbz/README25
-rw-r--r--contrib/libio/dbz/altbytes7
-rw-r--r--contrib/libio/dbz/byteflip.c38
-rw-r--r--contrib/libio/dbz/case.c129
-rw-r--r--contrib/libio/dbz/case.h12
-rw-r--r--contrib/libio/dbz/configure.in17
-rw-r--r--contrib/libio/dbz/dbz.1221
-rw-r--r--contrib/libio/dbz/dbz.3z547
-rw-r--r--contrib/libio/dbz/dbz.c1768
-rw-r--r--contrib/libio/dbz/dbz.h32
-rw-r--r--contrib/libio/dbz/dbzmain.c519
-rw-r--r--contrib/libio/dbz/fake.c144
-rw-r--r--contrib/libio/dbz/firstlast2550
-rwxr-xr-xcontrib/libio/dbz/getmap6
-rw-r--r--contrib/libio/dbz/random.c31
-rw-r--r--contrib/libio/dbz/revbytes7
-rw-r--r--contrib/libio/dbz/stdio.h1
-rw-r--r--contrib/libio/depend379
-rw-r--r--contrib/libio/editbuf.cc717
-rw-r--r--contrib/libio/editbuf.h185
-rw-r--r--contrib/libio/filebuf.cc223
-rw-r--r--contrib/libio/filedoalloc.c107
-rw-r--r--contrib/libio/fileops.c811
-rw-r--r--contrib/libio/floatconv.c2375
-rw-r--r--contrib/libio/floatio.h51
-rw-r--r--contrib/libio/fstream.cc110
-rw-r--r--contrib/libio/fstream.h92
-rwxr-xr-xcontrib/libio/gen-params739
-rw-r--r--contrib/libio/genops.c946
-rw-r--r--contrib/libio/include/empty.h37
-rw-r--r--contrib/libio/indstream.cc121
-rw-r--r--contrib/libio/indstream.h77
-rw-r--r--contrib/libio/ioassign.cc49
-rw-r--r--contrib/libio/ioextend.cc132
-rw-r--r--contrib/libio/iofclose.c60
-rw-r--r--contrib/libio/iofdopen.c134
-rw-r--r--contrib/libio/iofeof.c45
-rw-r--r--contrib/libio/ioferror.c45
-rw-r--r--contrib/libio/iofflush.c49
-rw-r--r--contrib/libio/iofflush_u.c40
-rw-r--r--contrib/libio/iofgetpos.c55
-rw-r--r--contrib/libio/iofgets.c56
-rw-r--r--contrib/libio/iofopen.c64
-rw-r--r--contrib/libio/iofprintf.c51
-rw-r--r--contrib/libio/iofputs.c49
-rw-r--r--contrib/libio/iofread.c49
-rw-r--r--contrib/libio/iofscanf.c48
-rw-r--r--contrib/libio/iofsetpos.c56
-rw-r--r--contrib/libio/ioftell.c53
-rw-r--r--contrib/libio/iofwrite.c54
-rw-r--r--contrib/libio/iogetc.c50
-rw-r--r--contrib/libio/iogetdelim.c125
-rw-r--r--contrib/libio/iogetline.c112
-rw-r--r--contrib/libio/iogets.c71
-rw-r--r--contrib/libio/ioignore.c47
-rw-r--r--contrib/libio/iolibio.h67
-rw-r--r--contrib/libio/iomanip.cc90
-rw-r--r--contrib/libio/iomanip.h180
-rw-r--r--contrib/libio/iopadn.c70
-rw-r--r--contrib/libio/ioperror.c22
-rw-r--r--contrib/libio/iopopen.c248
-rw-r--r--contrib/libio/ioprims.c80
-rw-r--r--contrib/libio/ioprintf.c47
-rw-r--r--contrib/libio/ioputc.c44
-rw-r--r--contrib/libio/ioputs.c49
-rw-r--r--contrib/libio/ioscanf.c47
-rw-r--r--contrib/libio/ioseekoff.c54
-rw-r--r--contrib/libio/ioseekpos.c48
-rw-r--r--contrib/libio/iosetbuffer.c46
-rw-r--r--contrib/libio/iosetvbuf.c100
-rw-r--r--contrib/libio/iosprintf.c50
-rw-r--r--contrib/libio/iosscanf.c47
-rw-r--r--contrib/libio/iostdio.h114
-rw-r--r--contrib/libio/iostream.cc1049
-rw-r--r--contrib/libio/iostream.h273
-rw-r--r--contrib/libio/iostream.texi1971
-rw-r--r--contrib/libio/iostreamP.h26
-rw-r--r--contrib/libio/iostrerror.c12
-rw-r--r--contrib/libio/ioungetc.c46
-rw-r--r--contrib/libio/iovfprintf.c890
-rw-r--r--contrib/libio/iovfscanf.c790
-rw-r--r--contrib/libio/iovsprintf.c60
-rw-r--r--contrib/libio/iovsscanf.c59
-rw-r--r--contrib/libio/isgetline.cc153
-rw-r--r--contrib/libio/isgetsb.cc63
-rw-r--r--contrib/libio/isscan.cc55
-rw-r--r--contrib/libio/istream.h25
-rw-r--r--contrib/libio/libio.h365
-rw-r--r--contrib/libio/libioP.h648
-rw-r--r--contrib/libio/osform.cc66
-rw-r--r--contrib/libio/ostream.h25
-rw-r--r--contrib/libio/outfloat.c211
-rw-r--r--contrib/libio/parsestream.cc317
-rw-r--r--contrib/libio/parsestream.h156
-rw-r--r--contrib/libio/peekc.c42
-rw-r--r--contrib/libio/pfstream.cc92
-rw-r--r--contrib/libio/pfstream.h59
-rw-r--r--contrib/libio/procbuf.cc54
-rw-r--r--contrib/libio/procbuf.h50
-rw-r--r--contrib/libio/sbform.cc40
-rw-r--r--contrib/libio/sbgetline.cc31
-rw-r--r--contrib/libio/sbscan.cc45
-rw-r--r--contrib/libio/stdfiles.c51
-rw-r--r--contrib/libio/stdio/ChangeLog153
-rw-r--r--contrib/libio/stdio/Makefile.in35
-rw-r--r--contrib/libio/stdio/clearerr.c30
-rw-r--r--contrib/libio/stdio/clearerr_u.c28
-rw-r--r--contrib/libio/stdio/configure.in49
-rw-r--r--contrib/libio/stdio/fdopen.c9
-rw-r--r--contrib/libio/stdio/feof.c43
-rw-r--r--contrib/libio/stdio/feof_u.c37
-rw-r--r--contrib/libio/stdio/ferror.c43
-rw-r--r--contrib/libio/stdio/ferror_u.c37
-rw-r--r--contrib/libio/stdio/fgetc.c40
-rw-r--r--contrib/libio/stdio/fileno.c49
-rw-r--r--contrib/libio/stdio/fputc.c41
-rw-r--r--contrib/libio/stdio/fputc_u.c38
-rw-r--r--contrib/libio/stdio/freopen.c44
-rw-r--r--contrib/libio/stdio/fseek.c42
-rw-r--r--contrib/libio/stdio/getc.c48
-rw-r--r--contrib/libio/stdio/getc_u.c37
-rw-r--r--contrib/libio/stdio/getchar.c40
-rw-r--r--contrib/libio/stdio/getchar_u.c35
-rw-r--r--contrib/libio/stdio/getline.c13
-rw-r--r--contrib/libio/stdio/getw.c13
-rw-r--r--contrib/libio/stdio/obprintf.c168
-rw-r--r--contrib/libio/stdio/popen.c23
-rw-r--r--contrib/libio/stdio/putc.c42
-rw-r--r--contrib/libio/stdio/putc_u.c31
-rw-r--r--contrib/libio/stdio/putchar.c35
-rw-r--r--contrib/libio/stdio/putchar_u.c30
-rw-r--r--contrib/libio/stdio/putw.c15
-rw-r--r--contrib/libio/stdio/rewind.c38
-rw-r--r--contrib/libio/stdio/setbuf.c35
-rw-r--r--contrib/libio/stdio/setfileno.c17
-rw-r--r--contrib/libio/stdio/setlinebuf.c36
-rw-r--r--contrib/libio/stdio/snprintf.c51
-rw-r--r--contrib/libio/stdio/stdio.h219
-rw-r--r--contrib/libio/stdio/vasprintf.c72
-rw-r--r--contrib/libio/stdio/vfprintf.c35
-rw-r--r--contrib/libio/stdio/vfscanf.c36
-rw-r--r--contrib/libio/stdio/vprintf.c33
-rw-r--r--contrib/libio/stdio/vscanf.c41
-rw-r--r--contrib/libio/stdio/vsnprintf.c136
-rw-r--r--contrib/libio/stdiostream.cc159
-rw-r--r--contrib/libio/stdiostream.h79
-rw-r--r--contrib/libio/stdstrbufs.cc126
-rw-r--r--contrib/libio/stdstreams.cc153
-rw-r--r--contrib/libio/stream.cc170
-rw-r--r--contrib/libio/stream.h59
-rw-r--r--contrib/libio/streambuf.cc364
-rw-r--r--contrib/libio/streambuf.h490
-rw-r--r--contrib/libio/strfile.h71
-rw-r--r--contrib/libio/strops.c303
-rw-r--r--contrib/libio/strstream.cc116
-rw-r--r--contrib/libio/strstream.h113
-rw-r--r--contrib/libio/tests/ChangeLog166
-rw-r--r--contrib/libio/tests/Makefile.in196
-rw-r--r--contrib/libio/tests/configure.in36
-rw-r--r--contrib/libio/tests/hounddog.cc85
-rw-r--r--contrib/libio/tests/hounddog.exp7
-rw-r--r--contrib/libio/tests/hounddog.inp7
-rw-r--r--contrib/libio/tests/putbackdog.cc97
-rw-r--r--contrib/libio/tests/tFile.cc558
-rw-r--r--contrib/libio/tests/tFile.exp75
-rw-r--r--contrib/libio/tests/tFile.inp5
-rw-r--r--contrib/libio/tests/tfformat.c4181
-rw-r--r--contrib/libio/tests/tiformat.c5112
-rw-r--r--contrib/libio/tests/tiomanip.cc35
-rw-r--r--contrib/libio/tests/tiomanip.exp4
-rw-r--r--contrib/libio/tests/tiomisc.cc236
-rw-r--r--contrib/libio/tests/tiomisc.exp11
-rw-r--r--contrib/libio/tests/tstdiomisc.c43
-rw-r--r--contrib/libio/tests/tstdiomisc.exp8
-rw-r--r--contrib/libio/testsuite/ChangeLog99
-rw-r--r--contrib/libio/testsuite/Makefile.in90
-rw-r--r--contrib/libio/testsuite/config/default.exp1
-rw-r--r--contrib/libio/testsuite/configure.in22
-rw-r--r--contrib/libio/testsuite/lib/libio.exp167
-rw-r--r--contrib/libio/testsuite/libio.tests/hounddog.exp3
-rw-r--r--contrib/libio/testsuite/libio.tests/putbackdog.exp3
-rw-r--r--contrib/libio/testsuite/libio.tests/tFile.exp3
-rw-r--r--contrib/libio/testsuite/libio.tests/tfformat.exp1
-rw-r--r--contrib/libio/testsuite/libio.tests/tiformat.exp1
-rw-r--r--contrib/libio/testsuite/libio.tests/tiomanip.exp1
-rw-r--r--contrib/libio/testsuite/libio.tests/tiomisc.exp1
-rw-r--r--contrib/libio/testsuite/libio.tests/tstdiomisc.exp1
212 files changed, 0 insertions, 41351 deletions
diff --git a/contrib/libio/ChangeLog b/contrib/libio/ChangeLog
deleted file mode 100644
index b4564de..0000000
--- a/contrib/libio/ChangeLog
+++ /dev/null
@@ -1,2807 +0,0 @@
-Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
-
- * gcc-2.95.3 Released.
-
-2000-12-10 Bernd Schmidt <bernds@redhat.com>
-
- 2000-10-16 Jakub Jelinek <jakub@redhat.com>
- * iostream.cc (ostream::operator<<(double n)) [__GLIBC_MINOR__ >= 2]:
- Initialize new fields wide and i18n of struct printf_info.
- (ostream::operator<<(long double n)) [__GLIBC_MINOR__ >= 2]:
- Likewise.
-
- 2000-09-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
- * stdstreams.cc: Include <libio.h>, not "libio.h".
- * iolibio.h: Likewise.
- (_IO_pos_BAD): Use _IO_off_t instead of _IO_fpos_t.
- * libio.h (_IO_USER_LOCK): Define.
-
- 1999-12-22 Jakub Jelinek <jakub@redhat.com>
- * libio.h (_IO_cookie_io_functions_t): Use _IO_off_t instead of
- _IO_fpos_t.
- (_IO_seekoff, _IO_seekpos): Likewise. Use _IO_off64_t instead of
- _IO_fpos64_t.
- * libioP.h (_IO_seekoff_t, _IO_seekpos_t, _IO_seek_t): Likewise.
- (_IO_seekoff, _IO_seekpos): Likewise.
- (_IO_default_seekoff, _IO_default_seekpos): Likewise.
- (_IO_default_seek): Likewise.
- (_IO_file_seekoff, _IO_file_seek, _IO_str_seekoff): Likewise.
- * streambuf.h (streampos): Typedef to _IO_off_t resp. _IO_off64_t.
- * parsestream.h (class parsebuf::pos_at_line_start): Change type
- to _IO_off_t.
-
-2000-01-28 Martin v. Löwis <loewis@informatik.hu-berlin.de>
-
- * fstream.h (ifstream::ifstream): Add ios::in to mode.
- (ifstream::open): Likewise.
- (ofstream::ofstream): Add ios::out to mode.
- (ofstream::open): Likewise.
-
-1999-12-21 Martin v. Löwis <loewis@informatik.hu-berlin.de>
-
- * filebuf.cc (open): Support ios::ate if _G_HAVE_IO_FILE_OPEN.
- Remove seek for ios::app if not.
-
-1999-12-14 Martin v. Löwis <loewis@informatik.hu-berlin.de>
-
- * strstream.h (strstreambuf::streambuf): Rename parameters to
- avoid shadow warning.
- * stream.h (WS): Likewise.
-
-Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95.2 Released.
-
-Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95.1 Released.
-
-1999-08-08 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * streambuf.h (ios::streamsize): Declare as _IO_ssize_t, as in the
- global scope.
-
-1999-08-07 Andreas Schwab <schwab@suse.de>
-
- * iostream.cc: Add missing calls to isfx and setup a cleanup
- region for the locked stream.
- * iostream.h: Likewise.
- * isgetline.cc: Likewise.
- * isgetsb.cc: Likewise.
- * isscan.cc: Likewise.
-
-Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95 Released.
-
-Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95 Released.
-
-Mon Jun 28 09:25:23 1999 Hans-Peter Nilsson <hp@bitrange.com>
-
- * configure.in (post-target): Use "$(topsrcdir)", not "$(srcdir)/..".
-
-1999-05-20 Angela Marie Thomas <angela@cygnus.com>
-
- * configure.in: Test for ${compiler_name}.exe as well.
-
-1999-05-17 Mark Kettenis <kettenis@gnu.org>
-
- * libioP.h: Only include libc-lock.h if _IO_MTSAFE_IO is defined.
-
-1999-05-12 Jason Merrill <jason@yorick.cygnus.com>
-
- * configure.in (compiler_name): Don't do the skip-this-dir thing
- if we're reconfiguring.
-
-1999-04-29 Nathan Sidwell <nathan@acm.org>
-
- * streambuf.h (ios::~ios): Use operator delete[] to remove _arrays.
-
-Mon Apr 12 19:22:44 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * filedoalloc.c (_POSIX_SOURCE): Remove definition.
- * fileops.c (_POSIX_SOURCE): Likewise.
- * iopopen.c (_POSIX_SOURCE): Likewise.
- * procbuf.cc (_POSIX_SOURCE): Likewise.
- * libioP.h (_POSIX_SOURCE): And define it here.
- * stdiostream.cc: Include libioP.h before others.
-
-Fri Apr 2 15:11:58 1999 H.J. Lu (hjl@gnu.org)
-
- * libio/configure.in (gxx_include_dir): Handle it.
- * libio/Makefile.in: Likewise.
-
-Wed Mar 24 22:36:45 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * configure.in (EXEEXT): Define.
- (compiler_name): Use.
-
-1999-03-24 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * gen-params (CONFIG_NM): `test ... -o ...' is not portable.
-
-Thu Mar 11 01:07:55 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * configure.in: Cleanup and add mh-*pic handling for arm, powerpc
-
-Fri Mar 5 01:15:15 1999 H.J. Lu (hjl@gnu.org)
-
- * config/linuxlibc1.mt (MT_CFLAGS): Add -D_G_STDIO_USES_LIBIO
- -D_G_HAVE_WEAK_SYMBOL.
-
- * genops.c: Add the proper weak alias if _G_STDIO_USES_LIBIO
- and _G_HAVE_WEAK_SYMBOL are defined.
- * iofclose.c: Likewise.
- * iofeof.c: Likewise.
- * ioferror.c: Likewise.
- * iogetc.c: Likewise.
- * ioputc.c: Likewise.
- * iovsprintf.c: Likewise.
- * iovsscanf.c: Likewise.
-
-Sun Feb 28 22:39:17 1999 Geoffrey Noer <noer@cygnus.com>
-
- * configure.in: Check cygwin*, not cygwin32*.
-
-Wed Feb 10 09:25:48 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * gen-params (VTABLE_LABEL_PREFIX): Handle windows32.
-
-Wed Feb 3 22:05:41 1999 H.J. Lu (hjl@gnu.org)
- Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (iostream.list): Remove dependency on
- stamp-picdir.
- ($(LIBIOSTREAM_DEP)): Depend on stamp-picdir.
- ($(LIBIO_FILES)): Similarly.
-
- * config.shared (all): Make $(PICDIR) concurrent.
-
-1998-11-26 Manfred Hollstein <manfred@s-direktnet.de>
-
- * configure.in (compiler_name): Add check to detect if this
- language's compiler has been built.
-
-1998-10-12 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * config.shared (depend.new): Delete libc-lock.h from
- dependencies, and fix _G_config.h -> $(_G_CONFIG_H) rule.
- * depend: Rebuilt.
-
-Sun Oct 11 01:51:42 1998 Jeffrey A Law (law@cygnus.com)
-
- * config.shared (depend.new): Fix typo.
- * depend: Rebuilt.
-
-1998-09-09 Manfred Hollstein <manfred@s-direktnet.de>
-
- * configure.in (INSTALLDIR): Fix comment about changing INSTALLDIR's
- value; don't change its value if --enable-version-specific-runtime-libs
- has been specified.
-
-Wed Sep 2 21:05:39 1998 H.J. Lu (hjl@gnu.org)
-
- * configure.in: Fix INSTALLDIR replacement for cross-compile.
-
-Sun Aug 30 22:27:02 1998 Lutz Wohlrab <lutz.wohlrab@informatik.tu-chemnitz.de>
-
- * dbz/Makefile.in: Avoid assumptions about "tr" behaves when
- LANG is set to something other than English.
-
-Sun Aug 30 22:17:00 1998 H.J. Lu (hjl@gnu.org)
-
- * config.shared: Set libsubdir.
-
-1998-08-25 14:34 Ulrich Drepper <drepper@cygnus.com>
-
- * libio/iogetline.c (_IO_getline_info): Don't read anything for
- N == 0. Patch by HJ Lu.
-
-1998-08-23 Mark Mitchell <mark@markmitchell.com>
-
- * iomanip.h: Use __extension__ for `extern' explicit template
- instantiations.
-
-1998-08-17 Ulrich Drepper <drepper@cygnus.com>
-
- * strfile.h: Define __PMT if not already defined.
-
-1998-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
-
- * libioP.h: Use __PMT in typedefs.
- * strfile.h: Likewise.
-
-1998-06-29 Ulrich Drepper <drepper@cygnus.com>
-
- * libio.h: Rewrite __PMT change so that it works with platforms
- defining __P but not __PMT.
-
- * libio.h (__PMT): New macro. Defined like __P. Use is for
- function pointers.
-
-1998-06-27 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (install): Remove superfluous /include.
-
-1998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
-
- * config.shared (FLAGS_TO_PASS): Add gcc_version_trigger.
- (Makefile): Add dependency upon $(gcc_version_trigger).
-
-1998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
-
- * Makefile.in (install): Install _G_config.h depending on new flag
- --enable-version-specific-runtime-libs.
- * config/linux.mt (gxx_include_dir): Remove definition here as we use
- gcc's default anyway.
-
-1998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
-
- * config.shared (FLAGS_TO_PASS): Add gcc_version.
-
-1998-06-19 Manfred Hollstein <manfred@s-direktnet.de>
-
- * config.shared (FLAGS_TO_PASS): Add libsubdir.
-
-1998-06-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * genops.c (__underflow): Read character from read pointer as unsigned.
- (__uflow): Likewise.
-
-1998-05-22 Ulrich Drepper <drepper@cygnus.com>
-
- * strops.c (_IO_str_underflow): Read newly available character
- from buffer as unsigned.
-
-Sun Apr 19 22:13:36 1998 H.J. Lu (hjl@gnu.org)
-
- * isgetline.cc (istream::get): Fix a typo.
-
-Thu Mar 5 09:23:28 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * configure.in: Make locating frag files failsafe even for the
- special case if configuring and building in srcdir.
-
-1998-02-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- Changes for _G_IO_IO_FILE_VERSION == 0x20001:
- * libioP.h (_IO_showmanyc_t, _IO_SHOWMANYC, _IO_imbue_t,
- _IO_IMBUE): New definitions.
- (struct _IO_jump_t): Add __showmanyc and __imbue fields.
- (_IO_file_fopen): Add new fourth argument.
- * filebuf.cc (filebuf::open): Pass new fourth argument to
- _IO_file_fopen.
- * iolibio.h (_IO_freopen): Likewise.
- * streambuf.cc (streambuf::showmanyc, streambuf::imbue): New
- functions.
- * streambuf.h (_IO_wchar_t): Define to _G_wchar_t.
- (ios::fill): Remove casts.
- (struct streambuf): Add showmanyc and imbue members.
-
- * iostream.cc (ostream::operator<<(double n)) [__GLIBC_MINOR__ >=
- 1]: Initialize new fields is_char of struct printf_info.
- (ostream::operator<<(long double n)) [__GLIBC_MINOR__ >= 1]:
- Likewise.
-
-Sun Feb 22 17:24:53 1998 Jeffrey A Law (law@cygnus.com)
-
- * config.shared: Bring back changes from Ian and Fred that were
- accidentally clobbered. Should eliminate the need for Dave's
- recent change.
-
-Tue Feb 17 21:56:25 1998 H.J. Lu (hjl@gnu.org)
-
- * config/linux.mt (IO_OBJECTS): Add iogetline.o.
- * config/linuxlibc1.mt: Ditto.
-
- * iogetline.c (_IO_getline_info): Renamed from _IO_getline.
- (_IO_getline): Just call _IO_getline_info.
-
- * isgetline.cc (istream::getline, istream::get, _sb_readline):
- Call _IO_getline_info instead of _IO_getline and get the EOF
- information.
- * sbgetline.cc (streambuf::sgetline): Ditto.
-
- * libioP.h (_IO_getline_info): New declaration.
-
- * iogetline.c (_IO_getline): Handle the case when there is no
- buffer.
-
-Fri Feb 13 00:57:20 1998 Krister Walfridsson (cato@df.lth.se)
-
- * fileops.c: #include <unistd.h>.
- * ioprims.c: Likewise.
-
-1998-02-10 Mark Mitchell <mmitchell@usa.net>
-
- * iostream.cc (ostream::operator<<(long double)): Don't use
- labeled initializers.
-
-Fri Feb 6 01:35:56 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * config.shared (FLAGS_TO_PASS): Don't emit PICFLAG.
- (.c.o): Check value of enable_shared, not PICFLAG.
- (.C.o): Dito.
- (.cc.o): Dito.
- (stamp-picdir): Dito.
-
-Thu Feb 5 17:41:26 1998 Dave Brolley <brolley@cygnus.com>
-
- * config.shared (LIBS): Change to -L../../libstdc++ (was -L../libstdc++)
- if ${DOING_GPERF} is true.
-
-1998-01-20 Andreas Schwab (schwab@issan.informatik.uni-dortmund.de)
-
- * iostream.cc (istream::operator>>(long double&))
- [!_G_HAVE_LONG_DOUBLE_IO]: Scan value into separate variable, in
- case long double is bigger than double.
- (ostream::operator<<(double)) [_G_HAVE_PRINTF_FP]: Fix order of
- initializers of struct printf_info to match declaration order,
- to work around g++ bug.
- (ostream::operator<<(long double)) [_G_HAVE_PRINTF_FP]: Likewise.
-
- * gen-params: Add missing quotes. Avoid useless use of command
- substitution.
-
-Sun Feb 1 13:29:47 1998 H.J. Lu (hjl@gnu.org)
-
- * filebuf.cc (filebuf::open): Call _IO_file_open if
- _G_HAVE_IO_FILE_OPEN is 1.
-
- * libio.h (_IO_fpos64_t, _IO_off64_t): Defined if
- _G_IO_IO_FILE_VERSION == 0x20001.
-
- * libioP.h (_IO_file_open): New declaration.
-
- * libio.h (_IO_FILE, _IO_stdin_, _IO_stdout_, _IO_stderr_,
- _IO_seekoff, _IO_seekpos): Add support for libio in glibc 2.1.
- * libioP.h (_IO_seekoff_t, _IO_seekpos_t, _IO_seek_t,
- _IO_seekoff, _IO_seekpos, _IO_default_seekoff,
- _IO_default_seekpos, _IO_default_seek, _IO_file_seekoff,
- _IO_file_seek, _IO_str_seekoff, _IO_pos_BAD, _IO_pos_as_off,
- _IO_pos_0): Ditto.
- * streambuf.h (streamoff, streampos): Ditto.
-
- * gen-params (__extension__): Use only if gcc version >= 2.8.
-
-Sun Feb 1 13:08:18 1998 Krister Walfridsson (cato@df.lth.se)
-
- * dbz/dbz.c (putconf): Handle systems which use "long long" as type
- for "off_t".
- * dbz/dbzmain.c (mkfiles): Likewise.
-
-Wed Jan 28 10:27:11 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * config.shared (FLAGS_TO_PASS): Add gxx_include_dir.
-
- * stdio/configure.in, tests/configure.in: Update with yesterday's
- toplevel configure.in changes.
- * testsuite/configure.in: Likewise.
-
- * config.shared: Fix typo in yesterday's changes.
-
-Tue Jan 27 23:26:07 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * config.shared: Emit everything which needs to be re-definable
- via file descriptor 1; the generic stuff is emitted using redirection
- onto fd 2.
-
- * configure.in (package_makefile_rules_frag): New variable
- which is used in the call to config.shared; redirect file descriptor 2
- to ${package_makefile_rules_frag}.
-
-Tue Jan 27 10:35:22 1998 H.J. Lu (hjl@gnu.org)
-
- * configure.in (topsrcdir): New.
- (CHECK_SUBDIRS, configdirs): Check ${topsrcdir}/gcc instead.
- (config-ml.in): Use ${topsrcdir}/config-ml.in.
-
- * tests/configure.in (topsrcdir): New.
- (CHECK): Check ${topsrcdir}/gcc instead.
-
-Fri Jan 16 00:48:03 1998 Manfred Hollstein <manfred@lts.sel.alcatel.de>
-
- * config.shared (FLAGS_TO_PASS): Add SHELL.
-
-Thu Jan 15 00:21:58 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * configure.in: For *-*-cygwin32*, add a -I for winsup to both
- XCINCLUDES and XCXXINCLUDES.
- * config.shared: Use ${host_includes} when setting CXXINCLUDES in
- the DOING_LIBGXX case.
- * Makefile.in (_G_config.h): Pass $(CINCLUDES) in CC and
- $(CXXINCLUDES) in CXX when running gen-params.
-
-Tue Jan 13 21:32:08 1998 H.J. Lu (hjl@gnu.org)
-
- * configure.in (CHECK_SUBDIRS): Set to testsuite only if
- ${srcdir}/../gcc exists.
- (configdirs): Include testsuite only if ${srcdir}/../gcc exists.
-
- * tests/Makefile.in (check): Depend on $(CHECK).
-
- * tests/configure.in (CHECK): Set to "check-iostream
- check-stdio" if ${srcdir}/../../gcc doesn't exists.
-
-Thu Jan 8 18:09:03 1998 Fred Fish <fnf@cygnus.com>
-
- * config.shared (THIS_FILE): Really found via TOLIBIO instead
- of TOLIBCXX, which is empty when configuring gperf.
- (LIBS): When linking gperf, find libstdc++ relative to TO_TOPDIR
- instead of hardcoded "../".
-
-1997-12-12 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- Don't make gperf depend upon libg++.
- * config.shared (TOLIBGCXX) [DOING_GPERF]: Delete.
- (LIBS) [DOING_GPERF]: Make it just `-L../libstdc++ -lstdc++'.
-
-Thu Dec 11 11:20:59 1997 H.J. Lu (hjl@gnu.org)
-
- * configure.in (target frags): Add *-linux-gnu.
-
-Fri Dec 5 16:22:15 1997 H.J. Lu (hjl@gnu.org)
-
- * streambuf.cc (streambuf::~streambuf): Don't delete _lock
- for _IO_stdin/_IO_stdout/_IO_stderr.
-
-Thu Nov 27 01:32:43 1997 Jeffrey A Law (law@cygnus.com)
-
- * Makefile.in (install): Change gxx_includedir to gcc_include_dir.
- * config.shared (gxx_includedir): Remove default definition.
- * config/linux.mt: Change gxx_includedir to gxx_include_dir.
- * config/linuxaxp1.mt: Likewise.
-
-Wed Nov 26 16:08:50 1997 Richard Henderson (rth@cygnus.com)
-
- * configure.in (target frags): Add powerpc*-linux-gnulibc1.
- (stdio-lock): Similarly.
-
- * configure.in (target frags): Add alpha*-linux-gnulibc1.
- (pic frags): Its alpha*- not alpha-.
- (stdio-lock): Kill everything. Add alpha*-linux-gnulibc1.
- * libio.h: Check __GLIBC_MINOR__ to find stdio-lock.h. If not
- _IO_MTSAFE_IO & GLIBC, make sure the lock pointer is still there.
- * libioP.h: Check __GLIBC_MINOR__ to find libc-lock.h.
-
- * config/linuxaxp1-libc-lock.h: New file.
- * config/linuxaxp1-stdio-lock.h: New file.
- * config/linuxaxp1.mt: New file.
-
- * gen-params (va_list): Check for and use __gnuc_va_list.
- (NULL): Work around some linux kernel headers and redefine NULL.
-
-Mon Nov 24 17:04:18 1997 Michael Meissner <meissner@cygnus.com>
-
- * stdiostream.cc (sys_read): Declare ch with int type, rather than
- without a type.
-
-Tue Nov 18 09:53:58 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * stdstrbufs.cc (DEF_STDFILE): Use STD_VTABLE.
-
-Tue Nov 11 01:40:17 1997 Oleg Krivosheev <kriol@fnal.gov>
-
- * iomanip.h: Fix guiding decls.
-
-1997-11-05 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * libio.h (__P): Name its arg `p' instead of `params'.
- Avoids problems with an unchanged Solaris math.h header.
-
-Wed Oct 29 23:01:47 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * gen-params: Override NULL.
-
-1997-10-27 03:53 Ulrich Drepper <drepper@cygnus.com>
-
- * stdio-lock.h: Removed. Was never needed.
-
-Wed Oct 22 19:19:32 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * libio.h (_IO_LOCK_T): Handle glibc 2 when _IO_MTSAFE_IO is
- not defined.
-
- * iovsscanf.c (vsscanf): Make it weak alias of _IO_vsscanf if
- __linux__ is defined instead of __ELF__
-
- * config/linuxlibc1.mt (USER_INCLUDES): Add libio.h.
-
-1997-10-15 Ulrich Drepper <drepper@cygnus.com>
-
- * configure.in: Create compatibility code in bits/libc-lock.h file.
-
-Thu Oct 9 07:08:41 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * libio.h (_IO_LOCK_T): Handle glibc 2 when _IO_MTSAFE_IO is
- not defined.
-
- * filedoalloc.c (_IO_file_doallocate): Don't call
- _IO_cleanup_registration_needed if __linux__ is defined.
-
- * iofclose.c (fclose): Make it weak alias of _IO_fclose if
- __ELF__ is defined.
-
- * iovsprintf.c (vsprintf): Make it weak alias of _IO_vsprintf
- if __ELF__ is defined.
-
- * iovsscanf.c (vsscanf): Make it weak alias of _IO_vsscanf if
- __ELF__ is defined.
-
- * config/linuxlibc1.mt (MT_CFLAGS): Defined as -D_G_HAVE_MMAP.
- (IO_OBJECTS): Add filedoalloc.o fileops.o genops.o iofclose.o
- iovsprintf.o iovsscanf.o strops.o.
-
-Fri Oct 3 10:13:13 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * iostream.cc, libio.h: Convert other uses of #ifdef
- _G_HAVE_PRINTF_FP to #if.
-
-1997-10-02 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * iostream.cc (operator<<): Use `#if _G_HAVE_PRINTF_FP', not ifdef.
-
-Thu Oct 2 10:36:49 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * gen-params: Fix __printf_fp test.
- * config/linuxlibc1.mt (gxx_includedir): Don't define.
-
-Thu Oct 2 10:36:26 1997 Ulrich Drepper <drepper@rtl.cygnus.com>
-
- * config/linuxlibc1.mt (_G_CONFIG_H): Don't define.
- * gen-params: Add test for __printf_fp.
-
-Sun Sep 28 12:09:04 1997 Mark Mitchell <mmitchell@usa.net>
-
- * iomanip.h: Use new friend <> syntax.
-
-Sun Sep 28 12:04:21 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * libio.h: Don't use _IO_LOCK_T if it's not defined.
-
-Fri Sep 26 20:56:41 1997
-
- Based on a patch by H.J. Lu (hjl@gnu.ai.mit.edu).
-
- * Makefile.in (STDIO_OBJECTS): New. Defined as stdfiles.o.
- (LIBIO_OBJECTS): Add $(STDIO_OBJECTS).
- (PICFLAG): New, empty. moved to here from config.shared.
-
- * config.shared (DISTCLEAN): Add target-mkfrag.
- (PICFLAG): Removed.
-
- * configure.in (*-linux-gnulibc1): Remove warning.
- (*-linux-gnu): Use linux.mt mtsafe.mt.
- (alpha-*-linux*): Use mh-elfalphapic.
-
- * gen-params (_G_ullong): Also check unsigned long long int.
- (_G_llong): Also check long long int.
-
- * libio.h (_IO_lock_t): Add support for the Linux libc 5.
- (_IO_peekc): Defined as _IO_peekc_unlocked if _IO_MTSAFE_IO
- is not defined.
-
- * iostream.cc (__cvt_double): Fix a typo in declaration.
- (info): Use expr != 0 to initialize the bit fields. Don't
- initialize "extra" for the Linux libc 5.
-
- * streambuf.h (_G_NEED_STDARG_H): Changed from _IO_NEED_STDARG_H.
-
- * config/linux.mt (STDIO_OBJECTS): New, empty.
- (MT_CFLAGS): Removed.
-
- * config/linuxlibc1.mt: Rewrite. it's identical to linux.mt but
- IO_OBJECTS mentions files not in early libc5 versions.
-
- * config/mtsafe.mt: New.
-
- * dbz/Makefile.in (check): Support make -j.
-
- * tests/tFile.cc (tempfile): Fix a typo.
-
-1997-09-19 11:52 Jim Wilson <wilson@cygnus.com>
-
- * Makefile.in (LIBIO_OBJECTS): Depend on _G_CONFIG_H.
-
-1997-09-17 04:08 Ulrich Drepper <drepper@cygnus.com>
-
- * iostream.cc: Add forward declaration for __cvt_double.
- * libio.h: Define _IO_USE_DTOA is _G_HAVE_PRINTF_FP is not defined.
- * strops.c (_IO_str_count): Correct last change.
-
-1997-09-17 02:50 Ulrich Drepper <drepper@cygnus.com>
-
- * libioP.h: Define __set_errno if not already defined.
-
-1997-09-15 02:37 Ulrich Drepper <drepper@cygnus.com>
-
- * config/linux.mt: Rewrite for use with glibc 2.
- * config/linuxlibc1.mt: Old content of linux.mt, fir libc4 and
- libc5.
-
- * config.shared (COMPILE.c): Allow new flags in MT_CFLAGS be
- passed.
- (COMPILE.cc): Likewise.
-
- * configure.in (*-linux*): Remove goal. We now have...
- (*-linux-gnulibc1): For libc4 and libc5. Emit warning.
- (*-linux-gnu)): For glibc 2.
- Create links to find headers for multi-threading if necessary.
-
- * fileops.c: Make thread-safe by using _IO_cleanup_region_start
- etc to handle cancelation. Acquire locks in functions which are
- called directly.
- (_IO_file_read, _IO_file_write): Remove dead code.
-
- * include/empty.h: Define stub macros for locking.
-
- * iolibio.h: Add prototypes for obstack printing functions.
-
- * ioseekoff.c (_IO_seekoff): Lock stream before working.
- * ioseekpos.c (_IO_seekpos): Likewise.
-
- * iostream.cc: Add support for long double I/O.
- Use __printf_fp from glibc is available.
- Use _IO_cleanup_region_start to handle cancelation correctly.
- * iostream.h (class ostream): Change opfx and osfx to lock/unlock
- stream
- (class istream): Likewise for ipfx, ipfx0, ipfx1, and isfx.
- Declare new function lock and unlock for ostream and istream.
- * osform.cc: Use _IO_cleanup_region_start to handle cancelation
- correctly.
-
- * libio.h: Update from glibc version. Pretty printing.
- * libioP.h: Likewise.
-
- * outfloat.c: Only compile if _IO_USE_DTOA is defined.
-
- * stdio/feof.c: Make thread safe.
- * stdio/ferror.c: Likewise.
- * stdio/getc.c : Likewise.
- * stdio/putc.c : Likewise.
- * stdio/stdio.h: Declare function of thread-safe API.
-
- * stdio/obprintf.c: New file.
- * stdio/vasprintf.c: New file.
-
- * stdio-lock.h: Removed.
-
- * stdstrbufs.c: Add definitions for thread-safe streams.
-
- * streambuf.cc: Initialize lock.
-
- * strops.c (_IO_str_count): Undo last change.
-
- * tests/tFile.cc: Support parallel builds by avoiding fixed
- name for test file.
-
-Thu Sep 11 18:43:56 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * Makefile.in (iostream.list): Remove STDIO_WRAP_OBJECTS.
-
-Mon Sep 8 01:30:27 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
-
- * libio.h: Fix typo.
-
-Sun Sep 7 23:00:18 1997 Jim Wilson (wilson@cygnus.com)
-
- * linux.mt (LIBIOSTREAM_DEP): Change stdio.list to stmp-stdio.
-
-Fri Sep 5 09:58:43 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * Makefile.in (iostream.list): Instead of adding stdio.list, add
- STDIO_WRAP_OBJECTS.
- (iostream.list): Lose dependency on stmp-stdio, not necessary for
- our stuff. The stdio stuff is present here just for uniformity
- with glibc.
-
-Thu Sep 4 17:26:22 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * parsestream.cc (general_parsebuf): Cast return of malloc to char*.
-
-1997-09-04 16:11 Ulrich Drepper <drepper@cygnus.com>
-
- Change compared to version initially intended to in:
- * strops.c (_IO_str_count): Still use _IO_write_ptr, not
- _IO_write_end, for now.
-
- * iofeof.c, ioferror.c, iofflush_u.c, iogetc.c, ioputc.c, peekc.c,
- stdio-lock.h: New files.
-
- * include: New dir.
- * include/empty.h: New header.
-
- * filedoalloc.c: Update and reformat copyright.
- Don't use DEFUN.
- Use __set_errno throughout the code to support multi-threaded
- programs.
- Correct layout to follow the Coding Standard.
- Add casts to prevent warnings.
- * fileops.c: Likewise.
- * genops.c: Likewise.
- * iofclose.c: Likewise.
- * iofdopen.c: Likewise.
- * iofflush.c: Likewise.
- * iofgetpos.c: Likewise.
- * iofgets.c: Likewise.
- * iofopen.c: Likewise.
- * iofprintf.c: Likewise.
- * iofputs.c: Likewise.
- * iofread.c: Likewise.
- * iofsetpos.c: Likewise.
- * ioftell.c: Likewise.
- * iofwrite.c: Likewise.
- * iogetdelim.c: Likewise.
- * iogetline.c: Likewise.
- * iogets.c: Likewise.
- * iopadn.c: Likewise.
- * iopopen.c: Likewise.
- * ioputs.c: Likewise.
- * ioseekoff.c: Likewise.
- * iosetbuffer.c: Likewise.
- * iosetvbuf.c: Likewise.
- * iosprintf.c: Likewise.
- * ioungetc.c: Likewise.
- * iovsprintf.c: Likewise.
- * iovsscanf.c: Likewise.
- * libio.h: Likewise.
- * libioP.h: Likewise.
- * stdfiles.c: Likewise.
- * strfile.h: Likewise.
- * strops.c: Likewise.
-
- * Makefile.in (IO_OBJECTS): Add peekc.o, iogetc.o, ioputc.o,
- iofeof.o, and ioferror.o.
- (iostream.list): Depend upon stmp-stdio. Add the entries
- from stdio.list to iostream.list.
- (stmp-stdio): New name for what was the stdio/stdio.list rule.
- All it now does is cd down into stdio and build stdio.list.
-
- * configure.in (ALL): Add libiostream.a.
-
- * libio.h [_IO_MTSFE_IO]: Include header declaring locking code.
- Otherwise define opaque _IO_lock_t.
- Define _IO_cookie_file.
- Rename _IO_getc to _IO_getc_unlocked, _IO_peekc to _IO_peekc_unlocked,
- _IO_putc to _IO_putc_unlocked, _IO_feof to _IO_feof_unclocked, and
- _IO_ferror to _IO_ferror_unlocked.
- Add prototypes for _IO_getc, _IO_putc, _IO_feof, _IO_ferror,
- and _IO_peekc_locked.
- Add declarations for _IO_flockfile, _IO_funlockfile, and
- _IO_ftrylockfile. If !_IO_MTSAFE_IO define _IO_flockfile,
- _IO_funlockfile, _IO_ftrylockfile, _IO_cleanup_region_start, and
- _IO_cleanup_region_end as empty macros.
-
- * libioP.h: Change type of finish function to take an additional int
- argument and change declaration of finish functions.
- Add prototypes for _IO_seekoff and _IO_seekpos.
- If _G_HAVE_MMAP is defined use stream buffers allocated with mmap.
- Redefine FREE_BUF and ALLOC_BUF macros to help in both situations.
- (FILEBUF_LITERAL): If we compile for a thread-safe library also
- initialize lock member.
-
- * filedoalloc.c: Take care for systems already defining _POSIX_SOURCE.
- Keep name space clean on systems which require this.
- (_IO_file_doallocate): Adopt ALLOC_BUF call for changed semantic.
-
- * fileops.c: Keep name space clean on systems which require this.
- (_IO_file_attach): Don't fail if seek failed because it's used on a
- pipe.
- (_IO_file_underflow): Update buffer pointers before calling `read'
- since the `read' might not return anymore.
- (_IO_file_overflow): If stream allows no writes set error flag.
- (_IO_seekoff): Make sure that after flushing the file pointer in
- the underlying file is exact.
- (_IO_file_read): Don't restart `read' syscall if it return EINTR.
- This violates POSIX.
- (_IO_file_write): Likewise for `write'.
- (_IO_cleanup): Install as exit handler in glibc.
-
- * genops.c (_IO_setb): Correctly use FREE_BUF.
- (_IO_default_doallocate): Correctly use ALLOC_BUF.
- (_IO_init): Initialize lock in stream structure.
- (_IO_default_finish): Destroy lock.
- (_IO_get_column): Don't compile since it's not needed.
- (_IO_nobackup_default): Likewise.
-
- * iopopen.c: Take care for systems already defining _POSIX_SOURCE.
- Correct _IO_fork and _IO_dup2 prototypes.
-
- * iofclose.c: Acquire lock before starting the work.
- * iofflush.c: Likewise.
- * iofgetpos.c: Likewise.
- * iofgets.c: Likewise.
- * iofputs.c: Likewise.
- * iofread.c: Likewise.
- * iofsetpos.c: Likewise.
- * ioftell.c: Likewise.
- * iofwrite.c: Likewise.
- * iogetdelim.c: Likewise.
- * iogets.c: Likewise.
- * ioputs.c: Likewise.
- * iosetbuffer.c: Likewise.
- * iosetvbuf.c: Likewise.
- * ioungetc.c: Likewise.
-
- * iofdopen.c: Create and initialize lock for new stream.
- * iofopen.c: Likewise.
- * iopopen.c (_IO_popen): Likewise.
- * iovsprintf.c: Likewise.
- * iovsscanf.c: Likewise.
-
- * genops.c: Make weak aliases for various functions.
- * iofclose.c: Likewise.
- * iofdopen.c: Likewise.
- * iofflush.c: Likewise.
- * iofgetpos.c: Likewise.
- * iofgets.c: Likewise.
- * iofopen.c: Likewise.
- * iofputs.c: Likewise.
- * iofread.c: Likewise.
- * iofsetpos.c: Likewise.
- * ioftell.c: Likewise.
- * iofwrite.c: Likewise.
- * iogetdelim.c: Likewise.
- * iogets.c: Likewise.
- * ioputs.c: Likewise.
- * iosetbuffer.c: Likewise.
- * iosetvbuf.c: Likewise.
- * ioungetc.c: Likewise.
- * iovsprintf.c: Likewise.
- * iovsscanf.c: Likewise.
-
- * iofflush_u.c: New file. fflush_unlocked implementation.
-
- * iostream.h [_G_HAVE_LONG_DOUBLE_IO]: Declare real long double
- output operator.
-
- * peekc.c: New file. Implement _IO_peekc_locked function.
-
- * stdfiles.c: If we compile for a thread-safe library also define
- lock variable.
-
-Tue Aug 26 12:24:01 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
-
- * testsuite/Makefile.in (check): Don't depend on site.exp.
- (just-check): Depend on site.exp.
-
-Wed Aug 20 02:01:34 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * iostream.h: Add copy assignment ops for _IO_?stream_withassign.
-
-Tue Jul 22 10:31:41 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * config.shared (CHECK_SUBDIRS): Use install-sh, not install.sh.
-
-Wed Jun 25 12:20:55 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * config.shared (DOING_GPERF): Look for this, defining TOLIBGXX
- and LIBS for it.
-
-Wed Jun 18 11:03:34 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * config.shared (FLAGS_TO_PASS): Don't include RUNTEST.
-
-Tue Jun 17 22:23:48 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * config.shared (FLAGS_TO_PASS): Pass RUNTEST and RUNTESTFLAGS.
-
-Fri May 16 21:08:53 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * iovfprintf.c: Declare __cvt_double before use.
-
- * floatconv.c (d2b): Use _G_int32_t instead of int for the
- e and bits parameters.
- (_IO_strtod): Use _G_int32_t.
-
- * gen-params: Look for NO_USE_DTOA and USE_INT32_FLAGS.
-
- * strops.c (_IO_str_init_static): use _G_int32_t appropriately.
-
- * libio.h: If _G_NO_USE_DTOA is set, then don't define
- _IO_USE_DTOA.
-
- * config/mn10200.mt: Don't use dtoa, it only works
- for "real" doubles.
-
-Thu May 15 17:44:12 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * configure.in: Set CHECK_SUBDIRS to testsuite if we're doing
- a cross compile.
-
- * config.shared(check): Only run make check in the directories
- specified by CHECK_SUBDIRS. Set CHECK_SUBDIRS to SUBDIRS
- if it has no previous value.
-
-Thu May 1 17:35:19 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * Makefile.in (test, tpipe): Add $(CFLAGS).
-
-Wed Apr 30 12:16:29 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * configure.in: Don't turn on multilib here.
-
-Sat Apr 26 13:38:21 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * configure.in (configdirs): Add testsuite directory.
-
- * testsuite/ChangeLog:
- * testsuite/Makefile.in:
- * testsuite/libio.tests/tiomanip.exp:
- * testsuite/libio.tests/tstdiomisc.exp:
- * testsuite/libio.tests/tiomisc.exp:
- * testsuite/libio.tests/tFile.exp:
- * testsuite/libio.tests/tfformat.exp:
- * testsuite/libio.tests/tiformat.exp:
- * testsuite/libio.tests/hounddog.exp:
- * testsuite/libio.tests/putbackdog.exp:
- * testsuite/configure.in:
- * testsuite/lib/libio.exp:
- * testsuite/config/default.exp:
- New files for DejaGnu-style testsuite.
-
-Fri Apr 4 03:16:44 1997 Ulrich Drepper <drepepr@cygnus.com>
-
- * configure.in: Enable multilibing by default.
- Update multilib template to read config-ml.in.
-
- * floatconv.c: Enable use in cross targets which use the
- newlib ieeefp.h header.
-
-Thu Jan 23 09:16:16 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * libioP.h (_IO_file_attach): Delete redundant decl.
-
-Tue Jan 21 22:13:45 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * streambuf.h (class ios): Take out STREAMSIZE member, since we
- only need (and should only have) the global one.
-
-Tue Jan 7 14:02:40 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * iostream.h (long long fns): Use __extension__.
-
- * gen-params: Use _G_llong and _G_ullong instead of long long for
- deduced types.
-
-Fri Dec 6 13:13:30 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dbz/dbz.c: Use off_t.
-
-Sat Nov 23 15:44:37 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * Makefile.in (install): Don't install _G_config.h with other headers.
-
-Mon Nov 18 17:12:41 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * config.shared (SUBDIRS): Use -O instead of -O3 for debugging.
-
-Sun Nov 3 12:43:34 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * iostream.cc (write_int): Treat string literals as const.
-
-Thu Sep 26 10:09:18 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * depend: Regenerate.
-
-Wed Sep 25 22:54:45 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * config.shared (depend.new): Deal with headers that don't end in .h.
-
-Thu Aug 29 17:05:53 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * configure.in (i[345]86-*-*): Recognize i686 for pentium pro.
-
-Mon Aug 5 01:26:32 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * config{ure.in,.shared} (DISTCLEAN): Add multilib.out.
-
-Fri Aug 2 17:39:35 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * libio.h (NULL): Use __null.
- * libioP.h (NULL): Ditto.
- * streambuf.h (NULL): Ditto.
- * ioextend.cc (get_array_element): Use NULL instead of (void*)0.
-
-Fri Jul 5 18:26:41 1996 Jim Wilson <wilson@cygnus.com>
-
- * strfile.h (struct _IO_streambuf): New struct type.
- (struct _IO_strfile): Use it.
-
-Tue Jun 18 18:24:21 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * fstream.h (fstreambase): Make __my_fb mutable.
- From Joe Buck.
-
-Tue Jun 18 11:03:53 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * dbz/fake.c (main): Set return type to int.
- * dbz/dbzmain.c (main): Likewise.
- * dbz/byteflip.c (main): Likewise.
-
-Mon Jun 17 14:05:36 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * gen-params: Check if clog conflicts with system libraries.
- * stdstreams.cc: If it does, use __IO_clog.
- * iostream.h: Likewise.
-
-Tue Jun 11 13:39:31 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * stdiostream.h (istdiostream (FILE*)): Put istream base
- initializer before init for __f.
- (ostdiostream (FILE*)): Likewise for ostream base init.
-
-Tue May 14 11:47:21 1996 Per Bothner <bothner@andros.cygnus.com>
-
- * strfile.h (_IO_str_fields): Removed _len field.
- (_IO_STR_DYNAMIC, _IO_STR_FROZEN): new macros.
- * strstream.h (strstreambuf::is_static): Removed.
- (strstreambuf::frozen): Use _IO_STR_DYNAMIC instead of is_static.
- * strstream.h, strstream.cc: Remove support for !_IO_NEW_STREAMS.
- * strstream.cc (strstreambuf::init_dynamic): Don't set _s._len.
- * strops.c (_IO_str_init_static): Better handling of the
- negative (== unbounded) size case.
- (_IO_str_overflow, _IO_str_underflow, _IO_str_count): Re-write
- to not use _s._len, and otherwise cleanup/fix.
- * strstream.h, strstream.cc (strstreambase::strstreambase()): Call
- ios::init here.
- (other constructors): Simplify - init already called.
-
-Tue May 14 10:55:21 1996 Per Bothner <bothner@deneb.cygnus.com>
-
- Change so that strstreambuf default constructor does no allocation.
- * strstream.h (strstreambuf::init_dynamic): Default initial size = 0.
- * strstream.cc (strstreambuf::init_dynamic): Don't allocate a
- buffer (yet) if initial_size is 0.
- * strops.c (_IO_str_overflow): Add 100 to size of re-allocated
- buffer, to handle case when initial size is 0.
-
- * iostdio.h (remove, rename, tmpfile, tempnam): Comment out.
-
-Mon May 13 23:19:39 1996 Per Bothner <bothner@deneb.cygnus.com>
-
- * fileops.c (_IO_file_close_it): Just call _IO_do_flush rather
- than _IO_file_sync, to avoid useless lseek.
-
-Tue May 14 10:48:48 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * floatconv.c (_IO_strtod): Force rv into the stack.
-
- * config.shared (gxx_includedir): Now $(includedir)/g++.
-
-Sat Apr 27 02:37:49 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * libioP.h (JUMP*): Implement for thunks.
- (_IO_jump_t): Add second dummy field for thunks.
-
-Thu Apr 25 13:20:00 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * config.shared (CXX): Use gcc, not g++.
-
-Wed Apr 24 10:29:50 1996 Doug Evans <dje@blues.cygnus.com>
-
- * config.shared (depend.new): Delete $(srcdir)/ from foo.{c,cc}
- for SunOS VPATH.
- * depend: Regenerated.
-
-Fri Apr 19 17:24:51 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * Version 2.8.0b3.
-
-Wed Apr 10 17:16:01 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * configure.in (ALL): Don't build iostream.a.
-
-Mon Apr 8 14:44:11 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * iosetvbuf.c (_IO_setvbuf): Clear _IO_UNBUFFERED unless _IONBF.
-
-Mon Apr 8 15:08:23 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * configure.in: Permit --enable-shared to specify a list of
- directories.
-
-Fri Apr 5 17:48:56 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * config.shared (MOSTLYCLEAN): Also remove ${EXTRA_MOSTLYCLEAN}.
-
-Fri Mar 22 23:25:00 1996 Ulrich Drepper <drepepr@gnu.ai.mit.edu>
-
- * genops.c (_IO_sputbackc, _IO_sungetc): Clear EOF flag if putsh
- back was successful.
-
-Wed Mar 27 11:54:08 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * Version 2.8.0b2.
-
-Fri Mar 22 15:39:36 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * fileops.c (_IO_do_write): Revert previous fix. (It fails to
- handle the case that fp->_IO_read_end != fp->_IO_write_base.)
- (_IO_file_overflow): Instead, if _IO_read_ptr is at the end of
- the buffer, reset all the read pointers to _IO_buf_base.
-
-Tue Mar 12 12:03:17 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * fileops.c (_IO_do_write): Even if to_do==0, must re-set buffer
- pointers. Bug and solution from Luke Blanshard <luke@cs.wisc.edu>.
-
-Wed Feb 28 10:00:24 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * Version 2.8.0b1.
-
-Tue Feb 27 18:08:16 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * iopopen.c (_IO_proc_open): Use (char*)0 rather than imprecise NULL.
-
- * streambuf.h (ios): Add ios::binary; deprecate ios::bin.
- * filebuf.cc (filebuf::open): Handle ios::binary.
-
-Fri Feb 9 12:40:19 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * cleanup.c (_IO_cleanup_registration_needed) [!_G_HAVE_ATEXIT]: Init
- to NULL.
- * filedoalloc.c (_IO_cleanup_registration_needed): Remove decl.
-
-Thu Feb 8 08:12:50 1996 Brendan Kehoe <brendan@cygnus.com>
-
- * filedoalloc.c (_IO_cleanup_registration_needed): Revert previous
- change, since cleanup.c only defines it if _G_HAVE_ATEXIT.
-
-Wed Feb 7 15:10:17 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * filedoalloc.c (_IO_cleanup_registration_needed): Declare as extern.
-
-Tue Dec 12 17:21:13 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * indstream.h, instream.cc (indirectbuf::uflow): New method.
- * indstream.cc (indirectbuf::underflow): Fix to use sgetc, not sbumpc.
- Fixes bug reported by Kevin Beyer <beyer@cs.wisc.edu>.
-
- * indstream.cc (indirectbuf::seekpos): Add paranoia test.
-
-Fri Dec 8 14:55:34 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * stream.h: Add warning to not use these functions.
- * stream.cc (str, chr): Re-implement here (from libg++).
-
-Tue Nov 28 15:07:01 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * config.shared: Use test instead of [ to avoid DEC Unix lossage.
-
-Thu Nov 23 14:51:43 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * iopopen.c: Move #include <sys/types.h> ahead of #include <signal.h>
- to deal with BSDI's literal implementation of Posix.
-
-Sat Nov 25 11:21:55 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * Makefile.in (install): Set rootme.
- * config.shared (TOPDIR): Set with ${foo-...} rather than ${foo=...}.
- (INSTALL): Handle absolute, dot, relative-not-dot values of srcdir.
- (TEXIDIR): Likewise.
-
-Tue Nov 21 14:12:05 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * configure.in: Check ${with_cross_host} rather than comparing
- ${host} and ${target}.
-
-Mon Nov 20 13:55:29 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * configure.in: Match *-sco3.2v[45]*.
-
-Wed Nov 15 20:19:31 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * config.shared (FLAGS_TO_PASS): Also pass SHLIB and SHCURSES.
-
-Tue Nov 14 01:41:08 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * config.shared (TO_REAL_TOPDIR): Define.
- (MULTITOP): Deleted.
- (MULTISRCTOP, MULTIBUILDTOP): New.
- (TOPDIR): Change MULTITOP to MULTIBUILDTOP, and use TO_REAL_TOPDIR.
- (INSTALL): Add with_multisrctop, TO_REAL_TOPDIR.
- (TEXIDIR): Use TO_REAL_TOPDIR.
- (LIBS): Delete MULTITOP.
- (FLAGS_TO_PASS): Add NM.
- (CXXINCLUDES): Delete MULTITOP.
- (depend.new): Delete adding MULTITOP to ../ build tree references.
- Add MULTISRCTOP to ../ source tree references.
- * configure.in: Delete call to cfg-ml-com.in. Call config-ml.in
- instead of cfg-ml-pos.in.
-
-Sun Nov 12 16:30:48 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * Makefile.in (VERSION): Set to 2.7.1.
- * configure.in: Add warning for Linux.
- * config.shared (DISTCLEAN): Add EXTRA_DISTCLEAN.
-
- * editbuf.h (edit_mark::index_in_buffer): Avoid unused param warning.
-
- * iostream.cc (istream::operator>> (char*)): Improve ANSI compliance.
-
-Fri Nov 10 08:41:37 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * config.shared (check): Add missing semicolon.
-
-Thu Nov 9 17:27:22 1995 Jason Merrill <jason@yorick.cygnus.com>
-
- * configure.in (ALL): Remove $(OSPRIM_OBJECTS).
- * config.shared (check): Set LD_LIBRARY_PATH.
- * NEWS: Fix typo.
- * iogetdelim.c (_IO_getdelim): Index *lineptr, rather than lineptr.
- From alan@spri.levels.unisa.edu.au (Alan Modra).
-
-Mon Nov 6 15:03:33 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * streambuf.cc, editbuf.cc, isgetline.cc, parsestream.cc:
- Fixes to avoid -Wall warnings.
-
-Fri Nov 3 16:41:41 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * gen-params [!__STDC__]: Include varargs.h instead of stdarg.h.
-
-Thu Nov 2 15:04:03 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * config.shared: Re-write if X then Y else true fi to (not X) || Y.
-
-Wed Nov 1 13:26:44 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * iostream.h (istream::ipfx): Add default argument value.
- Reported by Yotam Medini <yotam_medini@tmai.com>.
-
- * libioP.h (_IO_blen): Fix typo.
- Reported by Bryan T. Vold <btv@ldl.healthpartners.com>.
-
-Fri Oct 27 19:26:20 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * Makefile.in (_G_config.h): Set CC to $(CC) rather than to $(CXX),
- now that CXX defaults to g++ and CC default to gcc (when found).
- * config.shared: Simplify CXX and CC, since they get overridden
- by ../configure anyway.
-
-Wed Oct 25 19:45:50 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * iostdio.h: Wrap including the file with #ifndef _IOSTDIO_H.
-
-Wed Oct 25 11:14:25 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * libio.h (_IO_seekoff, _IO_seekpos): New declarations.
- * libioP.h (_IO_seekoff, _IO_seekpos): Remove declarations.
- * libioP.h: Cleanup; remove old !_IO_UNIFIED_JUMPTABLES stuff.
-
- * filebuf.cc (filebuf::~filebuf): Only call SYSYCLOSE if currently
- open. Bug found by Martin Gerbershagen <ger@ezis-ulm.de>.
-
- * streambuf.h (streambuf::pubseekoff, streambuf::pubseekpos):
- Added, from ANSI draft.
- * filebuf.cc (filebuf::open), iostream.cc (variables places), SFile.cc:
- Use pubseekoff/pubseekpos rather than sseekoff/sseekpos.
-
- * Makefile.in (install): Don't install libiostream.a.
-
- * filedoalloc.c: Also #include <unistd.h>.
-
-Mon Oct 9 18:09:54 1995 Jason Molenda <crash@phydeaux.cygnus.com>
-
- * config.shared (SUFFIXES): add .c.
-
-Tue Sep 26 16:08:01 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * procbuf.cc: Move #pragma implementation to beginning.
-
-Wed Sep 20 17:53:33 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * procbuf.h, procbuf.cc: Add #pragma interface/implementation stuff.
-
-Wed Sep 20 18:59:00 1995 John Eaton <jwe@bevo.che.wisc.edu>
-
- * procbuf.h: Protect from being included multiple times.
-
-Wed Sep 20 15:47:14 1995 John Eaton <jwe@bevo.che.wisc.edu>
-
- * procbuf.h (procbuf): Add '_next' pointer field for compatibility
- with _IO_proc_file.
-
-Wed Sep 20 13:54:02 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * config.shared: Add support for maintainer-clean target as a
- synonym for realclean.
- * dbz/Makefile.in: Likewise.
-
-Mon Sep 11 12:11:19 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * iopopen.c: #include <sys/types.h> before <sys/wait.h>.
- This is in accordance with Posix, and needed for ISC.
-
-Fri Sep 8 00:11:55 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * gen-params: Use double quotes in the eval setting $TYPE to
- $VALUE, to preserve any single quotes in $VALUE.
-
-Mon Aug 21 11:39:09 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * gen-params: Test for an appropriate version of gcc before using
- mode attributes.
-
- * config.shared: Add $(PICDIR) to $ALL.
-
-Mon Aug 7 17:51:40 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * gen-params: Generate new macro _G_HAVE_SYS_CDEFS.
- * libio.h: If _G_HAVE_SYS_CDEFS, get __P from <sys/cdefs.h>.
-
-Fri Aug 4 23:21:17 1995 Paul Eggert <eggert@twinsun.com>
-
- * gen-params: When following typedef changes, allow typedefs
- that do not have a space before the defined type name,
- e.g. `typedef void *__gnuc_va_list;' as in Linux. Also,
- not require a space in the definiens, e.g. `typedef void*foo;'.
-
-Thu Aug 3 17:54:15 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * iostream.h, iostream.cc (istream::sync): Added missing method.
-
-Thu Aug 3 17:49:34 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * configure.in: Remove netbsd special case.
- * config/netbsd.mt: Removed; no longer used.
-
-Tue Jun 20 16:07:12 1995 Paul Eggert <eggert@twinsun.com>
-
- * gen-params: Take transitive closure of `typedef' relation.
- This is needed for BSD/OS 2.0, which has
- fpos_t -> off_t -> quad_t -> long long.
-
-Mon Jul 24 18:28:10 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * config.shared (TOPDIR): Delete extra '/', $rootme may be empty.
-
-Sat Jul 22 13:27:45 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * config.shared (depend.new): Fix quoting in DO NOT EDIT line.
-
- * Makefile.in (_G_config.h): Add multilib support.
- (install): Likewise.
- * config.shared: Likewise.
- * configure.in: Likewise.
-
-Wed Jun 28 17:40:25 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * PlotFile.h, SFile.h, builtinbuf.h, editbuf.h, fstream.h,
- indstream.h, iomanip.h, iostream.h, parsestream.h, pfstream.h,
- procbuf.h, stdiostream.h, stream.h, streambuf.h, strstream.h: Wrap
- with extern "C++".
-
-Thu Jun 22 04:34:01 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * gen-params: Surround attributes with __.
-
-Mon Jun 19 00:33:22 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * config.shared (SUBDIRS): Massage broken shells that require
- 'else true'.
-
-Sat Jun 17 11:25:38 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * streambuf.h: Declare inline members inline in class.
-
-Thu Jun 15 20:45:13 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * Makefile.in (VERSION): Update to version 2.7.0.
-
-Wed Jun 14 21:41:11 1995 Jason Merrill <jason@python.cygnus.com>
-
- * Makefile.in (STDIO_WRAP_OBJECTS): Remove stdfiles.o.
- (LIBIO_OBJECTS): Add stdfiles.o.
-
-Wed Jun 7 16:11:36 1995 Jason Merrill <jason@python.cygnus.com>
-
- * config.shared (all): Appease bash.
-
-Wed Jun 7 11:16:38 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * configure.in (MOSTLYCLEAN): Remove stamp-picdir.
-
- * config.shared (MOSTLYCLEAN): Ditto.
- (CLEAN): Don't.
-
-Mon Jun 5 18:29:39 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * config/mh-*pic: Removed.
-
- * configure.in (MOSTLYCLEAN): Remove pic objects.
- (frags): Use toplevel pic fragments.
-
- * config.shared (CXXFLAGS): Use -O3.
- (PICFLAG, PICDIR): New macros.
- (all): Depend on $(PICDIR).
- (FLAGS_TO_PASS): Pass PICFLAG.
- (.x.o): Also build pic object.
- (stamp-picdir): Create directory for pic objects.
- (MOSTLYCLEAN): Remove pic objects.
- (CLEAN): Remove stamp-picdir.
-
- * Makefile.in (iostream.list): Depend on stamp-picdir.
- (c++clean): Don't remove _G_config.h.
-
-Mon Jun 5 15:03:47 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * strstream.h, strstream.cc (strstream::strstream()): Re-implement to
- be like ostrstream::ostrestream(), and not leak memory.
-
- * streambuf.h: Use #if !_IO_UNIFIED_JUMPTABLES instead of #ifndef.
-
- * iolibio.h (_IO_rewind): Add missing flags when calling _IO_seekoff.
-
-Thu May 25 22:30:21 1995 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * config/netbsd.mt (G_CONFIG_ARGS): Add defn for off_t. Another
- layer of typedefs has been added and the gen-params script can
- not handle it.
-
-Wed May 10 03:02:58 1995 Jason Merrill <jason@python.cygnus.com>
-
- * iolibio.h (_IO_rewind): Add new argument to _IO_seekoff.
-
- * config/linux.mt (LIBIOSTREAM_OBJECTS): Include $(STDIO_WRAP_OBJECTS).
- (LIBIOSTREAM_DEP): Include stdio.list.
- (LIBIOSTREAM_USE): Include `cat stdio.list`.
-
- * Makefile.in (LIBIOSTREAM_DEP): New variable.
- (LIBIOSTREAM_USE): Ditto.
- (libiostream.a): Use them.
- (iostream.list): Ditto.
- (stdio.list): New rule.
- (stdio/stdio.list): Ditto.
-
-Tue May 9 18:29:38 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * libioP.h (_IO_jump_t): Change TYPE for __dummy from int to
- _G_size_t.
-
-Sat May 6 13:50:37 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * libio.h (_IO_UNIFIED_JUMPTABLES): #define as true.
- (_IO_FILE): Remove _jumps field (#if _IO_UNIFIED_JUMPTABLES).
-
- * libioP.h (enum _IO_seekflags_): Removed.
-
- * libioP.h (_IO_setbuf_t): Change return value of setpos jumptable
- function to match C++ streambuf::setpos. (Return NULL on failure.)
- * fileops.c (_IO_file_setbuf), genops.c (_IO_default_setbuf),
- filebuf.cc, iosetvbuf.c: Update to use new setbuf conventions.
-
- * streambuf.h (streambuf): Re-order virtual functions more logically.
- * streambuf.cc (streambuf::uflow), streambuf.h: New virtual.
- * libioP.h (struct _IO_jump_t): Define using new JUMP_FIELD macro.
- And re-order in more logical order consistent with streambuf vtable.
- * fileops.c (_IO_file_jumps), iopopen.c (_IO_proc_jumps), iovfprintf.c
- (_IO_helper_jumps), streambuf.cc (_IO_streambuf_jumps), strops.c
- (_IO_str_jumps): Update accordingly, using JUMP_INIT macro.
- * stdfiles.c: Set vtable to point to _IO_file_jumps.
- * filebuf.cc, iopopen.c, iovfprintf.c (helper_vfprintf), iovsprintf.c,
- iovsscanf.c: Use macros and #if to set jumptables.
-
- * streambuf.c: _IO_streambuf_jumps and the _IO_sb_* methods are not
- needed #if _IO_UNIFIED_JUMPTABLES.
- * filebuf.cc (filebuf::__new): Also no longer needed.
- * fstream.cc (fstreambase::__fb_init, fstreambase::fstreambase): Fix.
- * stdstrbufs.c: Use filebuf vtable instead of builtinbuf's.
- * builtinbuf.h, builtinbuf.cc (builtinbuf): Commented out #if
- _IO_UNIFIED_JUMPTABLES - no longer needed.
- * strstream.cc (SET_STR_JUMPS): Does nothing now.
-
- * builtinbuf.cc, fileops.c, genops.c, iofgetpos.c, iofsetpos.c,
- ioftell.c, iopopen.c, ioseekoff.c, ioseekpos.c, iosetvbuf.c,
- iovfprintf.c, iovfscanf.c, strops.c: Use DEFUN and DEFUN_VOID.
- * filebuf.cc, fileops.c, genops.c, iopopen.c, ioseekoff.c, ioseekpos.c,
- iosetvbuf.c, iovfscanf.c: Use new JUMP_* and IO_OVERFLOW/... macros.
-
- * libioP.h (_IO_seekpos_t): Third arg is now an int (using _IOS_INPUT
- and _IOS_OUTPUT), not an enum _IO_seekflags_. Flags values are
- changed, and their sense inverted (to match streambuf::seekpos).
- * libioP.h (_IO_seekoff_t): Similarly match streambuf::seekoff.
- * filebuf.cc, fileops.c (_IO_file_fopen, _IO_file_seekoff), genops.c
- (_IO_default_seekpos, _IO_default_seekpos), iofgetpos.c, iofsetpos.c,
- iolibio.h (_IO_fseek), ioftell.c, ioseekoff.c, ioseekpos.c,
- iostream.cc, streambuf.cc, strops.c (_IO_str_seekoff), strstream.cc:
- New seekpos/seekoff conventions.
- * iostreamP.h (convert_to_seekflags): Removed - no longer needed.
-
- * iolibio.h (_IO_fread): New declaration.
-
- * dbz/Makefile.in: Re-arrange for cleaner dependencies.
-
-Fri May 5 15:55:22 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * libioP.h (_IO_JUMPS. JUMP_FIELD, JUMP0, JUMP1, JUMP2, JUMP3,
- JUMP_INIT, _IO_FINISH, _IO_OVERFLOW, ... _IO_SYSSTAT): New macros
- in preparation for new unified jumptable/vtable implementation.
- * cleanup.c, filedoalloc.c, iofclose.c, iofflush.c, iofiledoalloc.c,
- ioprims.c, iosetbuffer.c, iostrerror.c, ioungetc.c: Use DEFUN.
- * filedoalloc.c, iofclose, iofflush, iosetbuffer.c: Use new macros.
-
- * iofopen.c, iofdopen.c: Use macros and #if for new jumptables.
-
- * gen-params: Do not #include <sys/types.h>.
- Add missing quote in 'eval'.
- Do add #include <sys/types.h> in test for <sys/resource.h>.
- * config/netbsd.mt: New file, defining _G_CONFIG_ARGS (for fpos_t).
- * configure.in: Use netbsd.mt for NetBSD.
-
-Wed May 3 15:03:47 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * libioP.h (DEFUN, DEFUN_VOID, AND): New macros, from ansidecl.h.
- * iofdopen.c, iofgets.c, iofopen.c, iofputs.c, iofread.c, iofwrite.c,
- iogetdelim.c, iogetline.c, iogets.c, ioignore.c, iopadn.c, ioperror.c,
- ioputs.c, iovsprintf.c, iovsscanf.c, outfloat.c: Use DEFUN.
-
-Mon May 1 16:22:30 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * gen-params: #include <sys/types.h>. Don't use __WCHAR_TYPE__ in
- definition of _G_wchar_t. Use __attribute__ ((mode)) to get
- specific-sized ints under gcc, don't worry about int8 or int64
- otherwise. Provide defaults if deduction fails.
-
-Thu Apr 27 18:27:53 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * streambuf.h (ios::~ios): Delete _arrays.
- (_IO_NEW_STREAMS): Turn on.
- * libio.h (__adjust_column): Remove bogus declaration.
- * genops.c (_IO_set_column): Fix typo (in commented-out code).
-
-Tue Apr 25 17:14:29 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * config.shared (CXXINCLUDES): Use a shell variable with a
- different name from the make variable.
- * configure.in: Update accordingly.
-
-Mon Apr 17 17:19:40 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * streambuf.h (__adjust_column): Remove redundant declaration.
-
-Sat Apr 15 11:39:25 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * config.shared (do-clean-dvi): Also remove *.cps.
-
- * gen-params: Use ${SED} instead of sed.
-
- * libio.h: Remove #if'd out stuff (confuses makedepend).
-
- * stdstreams.cc (STD_STR): Standard streams start with ios::dec set.
-
-Fri Apr 14 23:46:31 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * iostream.h, iostream.cc (istream::read, ostream::write):
- Use streamsize for the length parameter.
-
- * streambuf.h: Removed redundant __overflow and __underflow.
-
- * fstream.h, fstream.cc: Add void fstreambase::attach(int).
-
- * iosscanf.c (_IO_sscanf): Fix non-__STDC__ missing declaration.
-
-Mon Apr 3 15:40:55 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * indstream.*: Fix prototypes of xsputn and xsgetn.
-
- * fileops.c: Avoid ??? trigraph.
-
-Mon Mar 27 16:16:38 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * iomanip.h (operator<< (ostream&, const omanip<TP>&): Define
- separately.
- (operator>> (istream&, const imanip<TP>&): Ditto.
-
-Mon Mar 27 08:56:00 1995 Brendan Kehoe (brendan@lisa.cygnus.com)
-
- * builtinbuf.cc (builtinbuf::setbuf): Cast NULL to streambuf*, to
- avoid warning/error about conversion from void*.
- * indstream.cc (indirectbuf::seekoff): Likewise.
- (indirectbuf::seekpos): Likewise.
- * filebuf.cc (filebuf::setbuf): Likewise.
- (filebuf::close): Cast NULL to filebuf*.
-
-Wed Mar 1 14:23:18 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * configure.in (DISTCLEAN): Add, with target-mkfrag.
-
-Fri Feb 24 01:01:08 1995 Jason Merrill <jason@python.cygnus.com>
-
- * configure.in (frags): Don't require so many dashes in the
- canonical target name.
-
-Sat Feb 18 13:18:30 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * streambuf.cc (streambuf::sync): Always return 0, even for
- non-flushed output. This is required by the ANSI/ISO draft.
- * genops.c (_IO_sync): Likewise always return 0.
-
-Fri Feb 17 16:33:28 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * fileops.c (_IO_file_close_it): Call _IO_file_sync, rather
- than _IO_do_flush, because we want to adjust the file pointer
- if reading and not at end (as in SVR4, and as in fflush).
- Also, make sure to return error indication if sync fails.
- (_IO_file_sync): Ignore seek error if it is ESPIPE.
- (_IO_file_seekoff): If not readable, do dumb lseek.
- * iofclose.c (_IO_fclose): If closing a non-filebuf, return -1
- if _IO_ERR_SEEN.
-
-Fri Feb 17 19:31:00 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * gen-params: Check for struct tms in <sys/times.h>, defining
- HAVE_SYS_TIMES accordingly.
-
-Wed Feb 15 21:05:11 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * strops.c (_IO_str_count): Use LEN macro.
- (_IO_str_seekoff): Update _len field.
-
-Mon Feb 6 19:29:00 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * gen-params: Default to short, long and long long for 16, 32 and
- 64 bit types, in case detection fails.
-
-Wed Jan 25 18:07:30 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * gen-params (_G_wint_t): Allow for broken promotions.
-
-Tue Jan 24 16:15:40 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * stdstrbufs.cc (_IO_fake_stdiobufs): Add an extra layer of struct,
- to force correct alignment on i960s.
- (DEF_STDIOBUF, _IO_{stdin,stdout,stderr}_buf): Update accordingly.
-
-Thu Jan 19 18:30:53 1995 Jason Merrill <jason@phydeaux.cygnus.com>
-
- * config.shared (CXXINCLUDES): Add libstdc++ to includes for
- building libg++.
- (LIBS): Also link with libstdc++ when building libg++ toys.
- Don't set EXPORT_ALL_VARIABLES; users will have to set
- LD_LIBRARY_PATH themselves.
-
-Fri Dec 30 16:38:13 1994 Mike Stump <mrs@cygnus.com>
-
- * config/linux.mt: Fix build problem on linux 1.0.8.
-
-Thu Dec 22 11:49:45 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
-
- * config/netware.mt: Use gcc to pre-link iostream.nlm's objects
- instead of using nlmconv, so that references to functions in
- libgcc.a are resolved.
-
- * configure.in: Append .mt to target makefile fragment file names.
-
- * floatconv.c (tens, tinytens, bigtens): Added const qualifier.
-
-Tue Dec 20 09:59:50 1994 Mike Stump <mrs@cygnus.com>
-
- * gen-params (VTABLE_LABEL_PREFIX): Since some systems have GNU nm
- as nm, and they demangle by default, we have to notice this, and
- try --no-cplus (linux) or --no-demangle when running nm.
-
-Wed Dec 14 18:13:58 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * gen-params: To determine vt-name-mangling using dummy.C add
- #include and #prama interface/implementation to avoid problem with
- assemblers that don't emit local symbols. Reported under HPUX 8
- by Thomas Arend <arend@blasius.Chemietechnik.Uni-Dortmund.DE>.
-
- * streambuf.h (ios::ios): Move inline definition after
- that of ios::init (which ios::ios calls).
-
-Sun Dec 4 19:50:32 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * fileops.c (_IO_file_init, _IO_file_close_it, _IO_file_sync):
- Set _offset to _IO_pos_BAD, to support applications that follow
- POSIX.1 rules on mixing file handles.
-
- * fileops.c (_IO_file_overflow): Handle case that buffer was
- allocated (perhaps by setvbuf) but _IO_write_base is still 0.
-
- * iostdio.h (setbuffer): #define as _IO_setbuffer.
- * streambuf.h, filebuf.cc: Removed filebuf::do_write.
-
-Tue Nov 29 23:38:57 1994 Per Bothner (bothner@rtl.cygnus.com)
-
- * floatconv.c (setword0, setword1): Fix typo.
-
-Tue Nov 29 15:37:29 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * config.shared: Move -fno-implicit-template from CXXFLAGS
- to LIBCXXFLAGS. Tests are better run without it.
-
- * floatconv.c (word0, word1): Re-place/re-implement using unions
- instead of casts to avoid optimizer problems.
-
- * dbz/dbzmain.c: Renamed dirname -> dir_name to avoid OSF
- header file braindamage.
-
-Sat Nov 5 19:44:00 1994 Jason Merrill (jason@phydeaux.cygnus.com)
-
- * config.shared (LIBCFLAGS): Define.
- (LIBCXXFLAGS): Define.
- (DOING_LIBGXX): Define TOLIBGXX. Change LIBS to use -lg++. Add
- LD_LIBRARY_PATH and .EXPORT_ALL_VARIABLES:.
- (FLAGS_TO_PASS): Add LIBC{,XX}FLAGS.
- (XC{,XX}FLAGS): Set to LIBCFLAGS or CFLAGS depending on $LIBDIR.
- (COMPILE.c): Define, use in .c.o rule.
- (COMPILE.cc): Define, use in .cc.o rule.
-
-Sat Nov 5 15:12:12 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * Makefile.in (VERSION): Update to 0.67.
-
- * streambuf.h (ios::dont_close): Is now set by default.
- * fstream.h, fstream.cc (__fb_init): New function. Clears
- ios::dont_close. Change fstreambase constructors to call it.
- * strstream.cc: *strstream constructors must clear ios::dont_close.
- * iostream.cc: Simplify - don't need to set ios::dont_close.
- * ioassign.cc: Simplify - assume ios::dont_close is always set.
-
- * fstream.h, fstream.cc: If _IO_NEW_STREAMS, put the
- filebuf as a member __my_fb.
- * strstream.{h,cc}: Likewile use a strstreambuf member __my_sb.
- * streambuf.h, stdstreams.cc, ioextend.cc:
- Fix if _IO_NEW_STREAMS to not use ios::dont_close.
-
- * streambuf.h (class ios): Move rdbuf later, to avoid
- inability of g++ to inline.
- * filebuf.cc (filebuf::~filebuf): Call _IO_do_flush.
-
- * config.shared: Emit rules to make depend.
- * depend: New file.
-
-Fri Nov 4 17:19:11 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * README: Fix typos.
- * libio.h: Add comment. Update Copyright notice.
-
-Fri Nov 4 21:46:30 1994 Paul Eggert <eggert@twinsun.com>
-
- * libio.h (__P): Change argument name spelling from
- `paramlist' to `protos' for compatibility with BSDI 1.1.
-
-Thu Nov 3 00:45:16 1994 Jason Merrill (jason@phydeaux.cygnus.com)
-
- * config.shared (CXXFLAGS): Add -fno-implicit-templates.
-
-Mon Oct 24 15:57:35 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * config.shared: Define NOSTDIC and use it for libio too.
-
-Thu Oct 20 19:45:35 1994 Jason Merrill (jason@phydeaux.cygnus.com)
-
- * iogetdelim.c: #include <stdlib.h>.
-
-Thu Oct 20 17:09:52 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * iostream.h: Add classes _IO_istream_withassign and
- _IO_ostream_withassign. Re-type cin, cout, cerr, clog.
- (class iostream): Don't add extra _gcount field.
- * ioassign.cc: New file. Implement operator= for cin etc.
- * streambuf.h (class ios): Change return type of operator=.
- * Makefile.in (IOSTREAM_OBJECTS): Add ioassign.o.
-
- * Makefile.in: Re-arrange, so linux.mt overrides can work.
-
- * fileops.c (_IO_file_seekoff): Optimize seeks within buffer.
-
-Wed Oct 19 14:25:47 1994 Jason Merrill (jason@phydeaux.cygnus.com)
-
- * gen-params (wint_t): Return to using __WCHAR_TYPE__ for
- compatibility with gcc versions prior to 2.6.1.
-
-Tue Oct 18 17:08:18 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * Makefile.in: Define _G_CONFOG_H as _G_config.h for Linux. Use it.
- (IO_OBJECTS): Add iogetdelim.o.
- * config/linux.mt: New file.
- * configure.in: Select config/linux.mt if Linux.
- * iogetdelim.c: Verious cleanups, many from
- Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>.
- * libioP.h: Add _IO_getdelim. Use (void) for no-parameter functions.
-
-Thu Oct 13 16:30:56 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * libio.h: Rename USE_DTOA to _IO_USE_DTOA for namespace reasons.
- * iostream.cc, iovfscanf.c, iovfprintf, floatconv.c:
- Update USE_DTOA -> _IO_USE_DTOA.
-
- * libio.h (_IO_feof, _IO_ferror): Move to here ...
- * iolibio: ... from here
-
- * iostream.cc (istream::get, istream::ignore, istream::read):
- Set _gcount to 0 if ipfx0 failed.
-
- * iostream.cc (flush): Do virtual function call, rather than
- going through jumptable. (To get correct method in derived class.)
- Bug and fix from John Wiegley <jw@cis.ohio-state.edu>.
-
- * iofdopen.c (O_ACCMODE): Define using O_RDWR, not O_RDWRITE.
-
- * streambuf.h (ios::rdbuf(streambuf*)): New.
- * streambuf.h (ios::operator=): Make private (i.e. dis-allow).
-
-Wed Oct 12 19:09:20 1994 Jason Merrill (jason@phydeaux.cygnus.com)
-
- * gen-params: Define _G_NO_NRV and _G_NO_EXTERN_TEMPLATES if not
- compiling with g++.
-
-Thu Oct 6 16:03:43 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iostream.texi (ostrstream::str): Note that NUL is not written
- automatically.
-
-Wed Oct 5 17:28:29 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iogetdelim.c (_IO_getdelim): New function.
-
-Wed Oct 5 15:40:22 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
-
- * config/netware.mt: New file, first cut at Netware NLM support.
- * configure.in (*-*-netware*): Use config/netware.mt.
-
- * config.shared (NLMCONV, LD): New definition.
-
- * gen-params: check for nm in ${binutils}/nm.new.
- * config.shared: Likewise.
-
-Tue Oct 4 12:20:01 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iomanip.h (omanip::operator<<): Make 2nd arg be const.
- Bug and fix reported by Greg McGary <gkm@magilla.cichlid.com>.
-
- * strstream.cc (strstreambuf::pcount): Simplify, to match
- ANSI/ISO specification.
-
-Mon Sep 26 15:19:52 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * gen-params: Include <wchar.h> and <wctype.h> if they exist.
-
-Thu Sep 8 14:41:41 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * iostream.h (class istream): Declare operator>>(long double&).
- (class ostream): Define operator<<(long double).
-
- * iostream.cc (istream::operator>>(long double&)): Define.
-
-Wed Sep 7 14:42:29 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iostream.texi (Overflow): Fix bugs in example.
-
-Fri Sep 2 17:45:57 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iostream.tex: Document a little on how to write your
- own streambuf-derived class, with an example.
-
-Tue Aug 30 13:03:57 1994 Brendan Kehoe (brendan@lisa.cygnus.com)
-
- * floatconv.c (s2b): Declare X and Y to be _G_int32_t.
- (diff, quorem): Declare BORROW, Y, and Z likewise.
- (ulp): Declare L likewise.
- (_IO_strtod): Declare L and AADJ likewise.
- (_IO_dtoa): Declare L and D likewise. Cast division of D by DS to
- _G_int32_t.
-
-Mon Aug 29 16:01:54 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iosetvbuf.c (_IO_setvbuf): If setting _IOFBF and no
- buffer was specified, call __doallocate.
-
- * fileops.c, floatconv.c: Add a bunch of parentheses to
- shut up gcc warnings. Patch from H.J.Lu.
-
- * stdiostream.cc (stdiobuf::sys_read): Inline call to getc
- for the normal case (size==1).
-
-Sat Aug 20 12:14:52 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (VERSION): Increase to 0.66.
-
-Fri Aug 19 17:28:41 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iolibio.h: Added _IO_printf prototype.
- Added extern "C" { ... } wrappers #ifdef __cplusplus.
- Bugs reported by Neal Becker <neal@ctd.comsat.com>.
-
-Wed Aug 17 18:17:15 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * fileops.c (_IO_file_seekoff): For _IO_seek_cur, adjust for
- read-ahead before jumping to label dumb.
-
-Wed Aug 3 13:15:01 1994 H.J. Lu (hjl@nynexst.com)
-
- * libioP.h (CHECK_FILE(FILE,RET)): new, which checks for
- FILE == NULL and _IO_MAGIC_MASK.
- (COERCE_FILE(FILE)): merged into CHECK_FILE(FILE,RET)
- with typo fixes.
-
- * iofread.c, iofwrite.c: add CHECK_FILE(fp, 0);
- * iofclose.c: add CHECK_FILE(fp, EOF); remove _IO_MAGIC_MASK check.
-
- * iofflush.c, iofgetpos.c, iofputs.c, iofscanf.c,
- iofsetpos.c, iofvbuf.c, ioungetc.c:
- Add CHECK_FILE(fp, EOF) and remove COERCE_FILE(fp).
-
- * iofgets.c: add CHECK_FILE(fp, NULL) and remove COERCE_FILE(fp).
- * iofprintf.c: add CHECK_FILE(fp, -1) and remove COERCE_FILE(fp).
- * ioftell.c: add CHECK_FILE(fp, -1L) and remove COERCE_FILE(fp).
- * iosetbuffer.c: add CHECK_FILE(fp, ) and remove COERCE_FILE(fp).
-
-Fri Aug 12 15:35:39 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iofdopen.c (_IO_fdopen): #define O_ACCMODE if it isn't.
- Still set O_APPEND if "a" is given, but don't unset it
- if it isn't. Added comment.
-
-Mon Aug 8 13:11:00 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * gen-params (VTABLE_LABEL_PREFIX): Changes in the implementation.
- For look for _*vt[$_.]7*filebuf in the nm output, because that
- matches what g++ produces and has produced. Thus it should be
- somewhat more robust.
-
-Sun Aug 7 22:52:49 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * gen-params (CC): Remove no-longer-needed -I options
- passed to xgcc (now they are implied by the -B options).
-
-Wed Jul 20 16:41:13 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (tooldir): Added definition, so we can do
- 'make install' in this directory.
- Bug reported by Klamer Schutte <schutte@tpd.tno.nl>.
-
-Mon Jul 18 18:02:34 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * gen-params (VTABLE_LABEL_PREFIX): Remove filename sppearing
- by itself. Add comment explaining what is going on.
-
-Tue Dec 21 13:02:48 1993 H.J. Lu (hjl@jalod)
-
- * libio.h: define _IO_uid_t and _IO_HAVE_ST_BLKSIZE
- as _G_xxxxxxxx.
-
-Tue Dec 21 13:02:48 1993 H.J. Lu (hjl@jalod)
-
- * iopopen.c: Don't include <errno.h>. It is included in "libioP.h".
-
- * iopopen.c (_IO_proc_close) : check if fp is on the list
- before close it.
-
-Thu Jul 14 16:38:47 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * gen-params (CONFIG_NM): Make sed scripts to find vtable name
- mangling more robost for different forms of nm output.
-
-Tue Dec 21 13:02:48 1993 H.J. Lu (hjl@jalod)
-
- * iofopen.c (_IO_fopen): don't check [redundantly] fp == NULL after
- IO_file_init(&fp->_file).
-
- * iomanip.h (template<class TP> class iapp):
- change ostream to istream.
-
-Tue Jul 12 14:09:02 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (VERSION): Increase to 0.65.
- * libioP.h (builtinbuf_vtable): Only define #ifdef __cplusplus.
-
- * gen-params (_G_int8_t): Only define if defined(__STDC__),
- because K&R C compilers don't have signed char.
- (_G_int64_t, _G_uint64_t): Only define if defined(__GNUC__)
- because other compilers may not have long long.
-
-Sun Mar 06 13:10:21 1994 H.J. Lu (hjl@nynexst.com)
-
- * floatconv.c (_IO_dtoa ()): fix a small memory leak, set the
- "on_stack" field to be 0 if "result" is not NULL.
-
-Sat Mar 05 13:18:20 1994 H.J. Lu (hjl@nynexst.com)
-
- * floatconv.c (_IO_dtoa ()): if the number of digits of the
- floating point number is more than the previous one, free the
- old string and allocate a new one.
- [Minor optimization to avoid Bcopy. -PB]
-
-Mon Jul 11 10:53:41 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * fileops.c (_IO_file_underflow): 'count' should be unsigned,
- since it contains the return value of read. Reported by
- Teemu Torma <tot@trema.fi>.
-
-Tue Dec 21 13:02:48 1993 H.J. Lu (hjl@nynexst.com)
-
- * floatconv.c (_IO_strtod ()): make "+" and "-" as error.
-
-Sat Jul 9 15:09:21 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- Make sure _IO_FILE::_flags is always initialized correctly, for the
- C functions (fopen, fdopen, popen), and not just the C++ functions.
- * fileops.c (_IO_file_init): Set _flags to CLOSED_FILEBUF_FLAGS.
- * fileops.c (_IO_file_fopen): Remove bogus assignment.
- * filebuf.cc (filebuf constructors): Don't pass CLOSED_FILEBUF_FLAGS
- to streambuf constructor - _IO_file_init does it instead.
- * filebuf.cc (CLOSED_FILEBUF_FLAGS): Removed.
- * iopopen.c (_IO_proc_open): Use _IO_mask_flags.
-
-Thu Jun 30 08:49:53 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * dbz/Makefile.in (mostlyclean): Add target.
-
-Wed Jun 29 09:30:12 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * gen-params: Woops, can't run a C program to determine target
- characteristics. Sigh.
-
-Tue Jun 28 03:11:33 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * gen-params: Add _G_{,u}int{8,16,64}_t, use a short C program to
- determine what all these should be rather than trying to compare
- the MAX numbers in the shell.
-
-Sun Jun 26 21:04:24 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * stdiostream.h, stdiostream.cc (stdiobuf::xsgetn): Removed.
- Too hairy. If we want to optimize it, we should do so in
- filebuf::xsgetn (or rather _IO_file_xsgetn).
-
- * stdiostream.h (class stdiobuf), stdiostream.cc: Fix parameter
- and return types of virtual function to matcher base types (Oops!).
- * streamstream.cc (stdiobuf::xsgetn, stdiobuf::xsputn):
- Optimize to call fread.fwrite directly if !buffered.
- * fileops.c: Fix comment.
-
-Fri Jun 24 11:28:18 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * stdiostream.h (istdiostream, ostdiostream): New classes.
-
- More robust final cleanup.
- * cleanup.c (_IO_register_cleanup): Register _IO_cleanup,
- rather than _IO_flush_all.
- * filedoalloc.c: Update comment.
- * genops.c (_IO_unbuffer_all): New. Makes all files unbuffered.
- * genops.c (_IO_cleanup), libioP.h: New function. Call
- _IO_flush_all, and then _IO_unbuffer_all. This is in case C++
- destructors try to do output *after* _IO_cleanup is called.
-
- Construct standard stdiobufs statically (using type punning).
- * stdstrbufs.c; Unless _STDIO_USES_IOSTREAM declare standard
- stdiobufs (for stdin, stdout, and stderr), using type punning
- (struct _IO_fake_stdiobuf). This avoids constructor-time problems.
- * stdstreams.cc: Remove the declarations of the stdiobufs.
- Instead use the new (fake) ones in stdstrbufs.cc. We no longer
- have to call ios::sync_with_stdio at constructor time.
-
- Preliminary support for new ANSI streambuf::uflow virtual.
- * libioP.h (struct _IO_jump_t): Add __uflow field.
- * genops.c (_IO_default_uflow), libioP.h: New function.
- * fileops.c (_IO_file_jumps), iopopen.c (IO_proc_jumps),
- iovfprintf.c (_IO_helper_jumps), strops.c (_IO_str_jumps),
- streambuf.cc (_IO_streambuf_jumps): Add _IO_default_uflow.
- * genops.c (__uflow): New function.
- (save_for_backup): New function. Some code shared by
- __underflow and __uflow, moved out from the former.
- (_IO_default_uflow): New function.
- * libio.h (_IO_getc): Call __uflow, not __underflow.
-
-Wed Jun 22 20:22:49 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- Make sure that the vtable of a streambuf is always valid,
- which makes ios::rdbuf simpler and faster.
- * gen-params: Add code to determine _G_VTABLE_LABEL_HAS_LENGTH,
- _G_VTABLE_LABEL_PREFIX, _G_VTABLE_LABEL_PREFIX_ID, and
- _G_USING_THUNKS, which describe how virtual function tables are named.
- * stdfiles.c (FILEBUF_LITERAL): Moved to libioP.h.
- * libioP.h (builtinbuf_vtable): New (complicated) declaration.
- * filebuf.cc (filebuf::__new), strstream.cc (SET_STR_JUMPS):
- Initialize vtable to builtinbuf_vtable, not NULL.
- * stdstrbufs.cc: New file. Same as stdfiles.c, except that
- vtable is initialized to builtinbuf_vtable, not NULL.
- * streambuf.h (ios::rdbuf): Can now simplify/optimize, due to
- above changes. Always, just return _strbuf.
- * builtinbuf.h, builtinbuf.cc (builtinbuf::vtable,
- builtinbuf::get_builtin_vtable): Removed. No longer needed.
- * streambuf.h, builtinbuf.cc (ios::_IO_fix_vtable): No longer needed.
- Only defined #ifdef _STREAM_COMPAT, for binary compatibility.
- * Makefile.in: Move stdfiles.o from IO_OBJECTS to STDIO_WRAP_OBJECTS.
- (IOSTREAM_OBJECT): Add stdstrbufs.o.
- * Makefile.in (_G_config.h): Pass $(CXXFLAGS) as part of $(CXX).
-
-Fri Feb 11 11:08:01 1994 SBPM Marc GINGOLD (marc@david.saclay.cea.fr)
-
- * iovfprintf.c (helper_vfprintf): add
- hp->_IO_file_flags = _IO_MAGIC|(_IO_IS_FILEBUF+_IO_NO_READS);
- [This is needed because _IO_vfprintf checks for _IO_UNBUFFERED. -PB]
- [Actually: don't set _IO_IS_FILEBUF. -PB]
-
-Wed Jun 22 13:49:22 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * stdiostream.cc, stdiostream.h (stdiobuf::buffered): New methods.
-
- * iofdopen.c (_IO_fdopen): Various minor improvements.
-
- * iovfscanf.c: Don't return EOF on control_failure.
-
-Tue Dec 21 13:02:48 1993 H.J. Lu (hjl@nynexst.com)
-
- * iovfscanf.c: Enforce the sequence of the conversion specifications.
-
-Fri Jun 17 20:57:22 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iofdopen.c: Use fcntl to check that requested access mode is
- compatible with existing access mode, and to change the
- O_APPEND file status flag if need be.
-
-Thu Jun 16 17:33:50 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * streambuf.h (ios::init): Initialize all the fields.
- This may be overkill, but the current ANSI working paper requires it.
- * streambuf.h (ios::ios): Reimplement in terms of ios::init.
- * iostream.cc (Non-default constructors istream::istream,
- ostream::ostream, iostream::iostream): Cannot use a mem-initializer,
- because it is ignored if initializing a derived class. Instead,
- call ios::init.
-
-Wed Jun 15 13:35:37 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * stdstreams.cc (ISTREAM_DEF): Fix typo (it's a _fake_istream, not
- a _fake_ostream). Reported by Jason Shirk <jshirk@gomez.intel.com>.
-
- * stdiostream.h, stdiostream.cc (stdiobuf::~stdiobuf): New.
- Call _IO_do_flush.
- * stdiostream.cc (stdiobuf::sync): Call _IO_do_flush rather
- than filebuf::sync (to avoid bad seeks).
-
- * libioP.h (_IO_do_flush): Add missing parentheses.
-
-Fri Jun 3 19:16:57 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * config.shared (CXXFLAGS): Remove -fno-implicit-templates.
-
- * iomanip.h: Add explicit external instantiations.
-
-Wed Jun 1 14:14:44 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * libio.h (struct _IO_FILE_plus): Move definition from here ...
- * libioP.h (struct _IO_FILE_plus): ... to here. Since this
- file is private to the implementation, we can rename the fields
- from the implementor's to the user's name anme space.
- (This avoids a lossage on SCO, whose stdio.h has a #define _file.)
- * iofdopen.c, iofopen.c, stdfiles.c: Fix field references accordingly.
- * iopopen.c (struct_IO_proc_file): Rename fields from
- implementor's name space to user's, and update usages.
- * streambuf.h (streambuf::_vtable): Re-implement to not need
- struct _IO_FILE_plus.
- * strfile.h (struct _IO_strfile_): Likewise.
-
-Wed Jun 1 13:57:48 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * config.shared (CXXFLAGS): Use -fno-implicit-templates instead of
- -fexternal-templates.
-
-Tue May 31 08:49:28 1994 Mike Stump (mrs@cygnus.com)
-
- * genops.c, iofclose.c, iofdopen.c, iofopen.c, iopopen.c: Be
- consistent about protecting #include <stdlib.h>.
-
- * ioputs.c: Add #include <string.h>, to avoid warning on alpha.
-
- * iofdopen.c: Add #include <stdlib.h>, so that malloc works on
- machines where sizeof(int) != sizeof(void *).
-
-Mon May 30 17:26:49 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * pfstream.cc (ipfstream::ipfstream, opfstream::opfstream):
- Reverse sense of test of return value of procbuf::open.
- (It returns NULL on failure.)
-
- * filedoalloc.c (_IO_file_doallocate): Remove dead code for
- USE_MALLOC_BUF. Add code to return EOF if ALLOC_BUF fails.
-
-Sat May 28 13:47:47 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * iomanip.cc: Explicitly instantiate smanip<int> and
- smanip<ios::fmtflags>.
-
-Wed May 25 16:04:12 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * strfile.h: Use __P instead of _PARAMS.
-
-Fri May 20 11:42:17 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * libio.h: Rename _PARAMS macro to __P for better glibc and BSD
- compatibility. (Also define _PARAMS for backwards compatibility.)
- * cleanup.c, iolibio.h, ioperror.c, iovfprintf.c, iovfscanf.c,
- libioP.h: Use __P instead of _PARAMS.
- * iostdio.h: Use __P instead of _ARGS.
-
- * fileops.c (_IO_file_read): Minor stylistic tweak. (It is
- preferable to test errno *after* the error return.)
-
-Fri May 13 15:25:36 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * iostream.*: Add insertor and extractor for bool (just pretend
- it's an int).
-
-Fri May 13 14:12:03 1994 Mike Stump (mrs@cygnus.com)
-
- * gen-params: Check for builtin bool support.
-
-Wed May 11 00:48:35 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- Make libg++ build with gcc -ansi -pedantic-errors
- * gen-params: #ifdef __STRICT_ANSI__, #define _G_NO_NRV.
- * pfstream.cc (ipfstream::ipfstream): Wrap use of variable-size
- array in #ifndef __STRICT_ANSI__.
-
-Fri May 6 12:42:21 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (VERSION): Increase to 0.64.
-
- * isgetline.cc (istream::getline): The delimiter should *not*
- be included in the gcount().
-
- * filedoalloc.c: #include <stdlib.h> (If __STDC__) to get malloc.
- * iostream.h (ostream::put): Remove overloaded versions, to match
- new working paper. (Actually just put inside _STREAM_COMPAT, for now.)
-
-Tue May 3 14:14:57 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * genops.c (_IO_default_finish): Make robust when called
- multiple times on the same _IO_FILE*. (One way this can
- happen is by the builtinbuf destructor being followed by the
- streambuf destructor.)
-
-Mon May 2 13:55:26 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * gen-params: Actually determine wint_t rather than depending on
- cpp to provide it or defaulting to the underlying type for
- wchar_t.
-
-Sat Apr 30 14:47:30 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * gen-params: Add _G_wint_t, allow __*_TYPE__ to override values
- at compile time, fix definition of _G_ARGS.
-
-Fri Apr 29 16:55:37 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * libio.h: Remove #pragma interface. (There is no implementation.)
-
-Mon Mar 28 14:22:26 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iostream.cc (ostream::operator<<(double)): Add/fix support
- for printing '+' when ios::showpos is set.
- (Fixes bug reported by Doug Moore <dougm@cs.rice.edu>.)
- * iostream.cc (istream::read): Set eofbit as well as failbit on eof.
- * iostream.cc (ostream::operator<<(int)): Fix conversion
- to unsigned (used to lose on INT_MIN).
- * iostream.cc (ostream::operator<<(long)): Use (unsigned long),
- rather than (unsigned) for temporary.
-
- * config.shared, Makefile.in: Remove definitions and uses
- of XTRAFLAGS. It is no longer needed, since it is
- now implied by the -B flag.
-
-Fri Mar 25 00:31:22 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * builtinbuf.h: Add put /**/ around comment on trailing #endif.
-
- * Makefile.in (c++clean): Make clean in tests subdir, too.
-
-Wed Mar 23 16:42:09 1994 Doug Evans (dje@canuck.cygnus.com)
-
- * configure.in: Remove Makefile.tem before creating it.
- Needed when configuring from read-only source trees.
-
-Wed Mar 16 14:06:42 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * stdstreams.cc: Fix so that stdiobuf are used for cin/cout/cerr,
- unless _STDIO_USES_IOSTREAM is defined.
- * filebuf.cc (filebuf::setbuf): Fix confusion about return
- value from _IO_file_setbuf.
-
-Sun Mar 13 00:54:12 1994 Paul Eggert (eggert@twinsun.com)
-
- * config.shared: Ensure that `all' precedes `.PHONY';
- BSDI 1.1 needs this.
-
-Sat Mar 12 03:58:00 1994 Paul Eggert (eggert@twinsun.com)
-
- * config.shared: Output a definition of INSTALL that uses
- $${rootme}, not ${rootme}. Most `make's don't care, but BSDI
- 1.1 `make' does.
-
-Fri Mar 4 17:33:01 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iopopen.c: #define _POSIX_SOURCE.
- * isgetline.c (istream::getline): Various fixes.
-
-Thu Mar 3 17:58:20 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iostream.cc (write_int): Fix test for when to add initial '0'
- when ios::oct and ios::showbase are set.
- For hex, showbase adds initial 0x (or 0X) regardless of val==0.
- Bugs reported by Phil Roth <proth@cs.uiuc.edu>.
-
-Mon Feb 21 13:18:20 1994 H.J. Lu (hjl@nynexst.com)
-
- * libio.h (_IO_PENDING_OUTPUT_COUNT(_fp)): return the
- pending output count in _fp.
-
-Fri Feb 25 09:26:57 1994 Ian Lance Taylor (ian@cygnus.com)
-
- * gen-params: For HAVE_SYS_WAIT, compile dummy.c, not dummy.C.
-
-Tue Feb 22 11:19:09 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * streambuf.h, genops.c, libioP.h: Rename references to
- _IO_FILE fields other_gbase => _IO_save_base,
- _aux_limit => _IO_backup_base, and _other_egptr => _IO_save_end.
- * libio.h: Remove no-longer needed macros _other_gbase,
- _aux_limit, and _other_egptr.
- * genops.c (__underflow, _IO_default_finishh, _IO_unsave_markers):
- Check _IO_save_base for NULL before FREEing it or calling
- _IO_free_backup_area.
-
-Thu Feb 17 15:26:59 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * gen-params: Improve deduction of _G_uint32 and _G_int32.
- Should now work for 16-bit, 32-bit, or 64-bit targets.
- * gen-params: Check for sys/wait.h using ${CC}, since it's
- now used in a C file, not a C++ file.
- * floatconv.c: Typedef _G_uint32_t as unsigned32, and use
- unsigned32 in place of unsigned long. (Needed for Alpha.)
-
-Tue Feb 8 13:40:15 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * fileops.c (_IO_file_close_it): Simplify by using _IO_do_flush.
- * fileops.c (_IO_file_finish): Don't call _IO_file_close_it -
- do it inline. Call _IO_do_flush even if _IO_DELETE_DONT_CLOSE.
- * fileops.c (_IO_file_attach): Set _IO_DELETE_DONT_CLOSE.
- * genops.c (_IO_flush_all): Only call overflow if there is
- something to write.
- * iofclose.c (_IO_fclose): Check that magic number is correct,
- and clear it when done. Avoids crashing some buggy applications.
- * iogetline.c (_IO_getline): Don't gratuitously increment old_len.
- * iogets.c (_IO_gets): Take care to get required ANSi semantics.
-
-Sun Feb 6 19:50:39 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * iomanip.cc: Explicitly instantiate operator<< and >>.
-
-Fri Feb 4 12:28:22 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * config.shared (CXXFLAGS): Use -fexternal-templates.
-
- * iomanip.h: Uncomment #pragma interface.
-
-Thu Jan 20 13:48:40 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- If no characters are read by fgets, ANSI C doesn't allow '\0' to
- be written to the buffer, but it is required by ANSI C++
- for istream::get and istream::getline. Both use _IO_getline ...
- * iogetline.c (_IO_getline): Don't write a '\0' at the end
- of the read data. The input buffer length does not include
- space for a '\0'.
- * iofgets.c, iogets.c: Change appropriately.
- Also check for _IO_ERR_SEEN, as required by ANSI.
- * isgetline.cc: Update accordingly.
-
-Mon Jan 17 13:24:26 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- * Makefile.in (c++clean): Added target for compiler testing
- (i.e. make c++clean all).
-
-Mon Jan 10 11:20:42 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * libio.h (_IO_putc): Add parentheses.
- Patch from Rik Faith <faith@cs.unc.edu>.
-
-Tue Jan 4 01:32:28 1993 Hongjiu Lu (hjl@nynexst.com)
-
- * genops.c (_IO_default_xsputn):
- (_IO_default_xsgetn):
- * ioignore.c: change "_IO_size_t count" to
- "_IO_ssize_t count".
- * iogetline.c: change "_IO_size_t len" to
- "_IO_ssize_t len".
-
-Mon Dec 20 00:31:21 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * config.shared (CXXINCLUDES): Fix quoting of $(NOSTDINC).
-
-Sun Dec 19 21:03:45 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (VERSION): Increase to 0.63.
-
-Fri Dec 17 13:02:44 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iofread.c (_IO_fread): Return 0 if either size or count is 0.
- * iofwrite.c (_IO_fwrite): Return 0 if either size or count is 0.
- (This is consistent with fread, and most implementations, but not
- with a literal reading of the ANSI spec.)
- * iovfscanf.c (_IO_vfscanf): If got EOF while skipping spaces,
- set seen_eof and break (instead of returning).
- * sbscan.cc (streambuf::vscan): Set error state before returning.
- * streambuf.h: Add a forward declarations for class istream
- to work around a g++ vtable name mangling bug. (Patch from
- harry@pdsrc.hilco.com via Jeffrey A Law <law@snake.cs.utah.edu>.)
- * NEWS: New file.
-
-Sat Dec 11 16:21:08 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iovfprintf.c (struct helper_file, _IO_helper_overflow,
- helper_vfprintf, _IO_helper_jumps): New structs and functions.
- (_IO_vfprintf): Use helper_vfprintf to make printing to
- unbuffered files more efficient.
- * genops.c (_IO_default_underflow), libioP.h: New function.
-
- * iovsscanf.c (_IO_vsscanf): The input string's length marks
- its logical end-of-file.
-
-Wed Dec 8 13:20:46 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * indstream.cc (indirectbuf::sync()): Don't crash if get_stream()
- or put_stream() are NULL; sync() both streams even if error.
-
-Sun Dec 5 19:24:29 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
-
- * iostreamP.h (convert_to_seekflags): Use _IO_seek_set instead of
- 0 inside the conditial expressions.
-
- * iofsetpos.c (_IO_fsetpos): Delete unused var `pos'.
-
-Sat Dec 4 15:57:26 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * filedoalloc.c (_IO_file_doallocate): Change type of couldbetty
- to int, and type of size to _IO_size_t, instead of size_t.
- (Change needed for Ultrix, which incorrectly deliberately doesn't
- define size_t in <sys/types.h> if _POSIX_SOURCE is defined.)
-
-Thu Dec 2 22:43:03 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * fileops.c (_IO_file_finish): Remove redundant call to _IO_un_link.
- * iofclose.c (_IO_fclose): Don't call fp->_jumps->__close; it's
- too low-level. Instead call _IO_file_close_it.
- * dbz/Makefile.in (rclean, distclean): Add some missing files.
-
-Wed Dec 1 13:19:14 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * config/hpux.mt (MATH_H_INLINES): No longer define.
- Patch from Jeffrey A Law <law@snake.cs.utah.edu>.
-
-Fri Nov 26 13:28:36 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * config.shared (CINCLUDES): Define default if libg++.
- * iofread.c: Use _IO_sgetn.c.
- * iolibio.h (_IO_clearerr): Fix typo.
- * genops.c (_IO_seekmark): Return 0 on success.
- * floactconv.c (Binit): Change to static.
- * iofclose.c (_IO_fclose): Check if file is _IO_stdin, _IO_stdout,
- or _IO_stderr; if so don't try to free it. Fix from hjl@nynexst.com.
-
- * genops.c (_IO_default_sync), libioP.h: New function.
- * libioP.h (_IO_default_close): Use _IO_default_sync -same interface.
-
- * Makefile.in: Increase version to 0.62.
- * iopopen.c (_IO_proc_close): Use waitpid (available in libibarty,
- if needed), rather than wait. Don't block/ignore SIGINT etc,
- as this is counter to Posix.2.
- * iopopen.c: Chain open proc_files, and have the child close
- the ones that are open (as required by Posix.2).
-
- * fstream.h (fstreambase::rdbuf), strstream.h (strstreambase
- ::rdbuf): Call ios::rdbuf() instead of getting _strbuf directly.
-
- * sbscan.cc (streambuf::vscan): Comment out duplicate default arg.
- * floatconv.c: Recognize Alpha and i860 as little-endian.
- * streambuf.cc: Return two bogus value returns from void functions.
- * iolibio.h, iofwrite.c: Fix buffer type to (const void*).
- * libio.h: Predefine of struct _IO_FILE to help non-g++-compilers.
- * libioP.h, pfstream.cc, stdfiles.c, iovfscanf.c: Cleanup syntax junk.
- * stdstreams.cc: Minor simplification.
- * streambuf.h, builtinbuf.cc: Add non-const ios::_IO_fix_vtable()
- for temporary binary compatibility.
-
- * filedoalloc.c, fileops.c: Add _POSIX_SOURCE.
- * fileops.c, iofopen.c, iofputs.c, iostream.cc, strops.c,
- strstream.cc, genops.c: Add some missing #includes.
- * iofopen.c, iofdopen.c: Return NULL if malloc fails.
- * iovfscanf.c: Fix return type in strtol prototype.
- * fwrite.c: Remove bogus file.
-
-Wed Nov 17 14:09:42 1993 Per Bothner (bothner@cygnus.com)
-
- * builtinbuf.cc (ios::_IO_fix_vtable), streambuf.h: Make method
- const, to reduce problems with -Wcast-qual.
-
-Tue Nov 16 19:30:42 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
-
- * config.shared (CXXINCLUDE): use ${} instead of $() for NOSTDINC
-
-Tue Nov 16 14:15:45 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iopopen.c (_IO_proc_close): Re-structure to avoid
- declarations after statements.
- * floatconv.c: If not __STDC__, #define DBL_MANT_DIG.
- * config/isc.mt (G_CONFIG_ARGS): Remove bogus spaces.
- Patch from David A. Avery <daa@nic.cerf.net>.
-
-Tue Nov 16 15:58:31 1993 Mark Eichin (eichin@cygnus.com)
-
- * Makefile.in (_G_config.h): explicitly use $(SHELL) to run
- gen-params, since we know it is a script (we're explicitly looking
- in ${srcdir} for it) and /bin/sh might not be good enough.
-
-Mon Nov 15 13:26:22 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * builtinbuf.cc: Don't depend on initialization of static
- variable builtinbuf::vtable, since that might happen after
- we need it (for a static constructor). Instead, initialize
- it when needed by inlining the code from get_builtin_vtable
- into ios::_IO_fix_vtable().
-
- * floatconv.c: Avoid using #elif, which some C compilers lack.
- * iogetline.c, libioP.h: Make char parameter be int, to avoid
- some default promotion anomalies.
-
-Fri Nov 5 11:49:46 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * config.shared (do-clean-dvi): Remove TeX work files.
- * iopopen.c (extern _IO_fork): Don't use parameter type void.
- * strops.c (_IO_str_init_static): Clear the allocate_buffer
- function pointer, to mark the strfile as being static.
- Bug fix from Mike Raisbeck <mike@pudding.rtr.COM>.
-
-Thu Nov 4 10:44:24 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * filebuf.cc (filebuf:): Use sseekoff rather than seekoff
- (which loses if vtable pointer is NULL).
-
- * iostream.cc (ostream::operator<<(long long n)): Fix thinko.
-
- * Makefile.in (VERSION): Increase to 0.60.
- * Makefile.in (IO_OBJECTS): Added iopopen.o.
- * config.shared (DISTCLEAN): Also remove Make.pack.
- * config.shared (CXXINCLUDES): Add $(NOSTDINC).
-
- * config.shared (INSTALL): Fix so it ues the correct install.sh
- whether $srcdir is absolute or relative.
-
- * floatconv.c (DBL_MAX_10_EXP): Fix default value.
-
-Wed Nov 3 10:20:49 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * gen-params: Make more robust to allow random junk (NeXT
- has spaces) before typedefs.
-
- * fileops.c (_IO_file_overflow): Reduce code duplication.
- * Makefile.in (IO_OBJECTS): Remove ioputs.o.
-
- * iovfscanf.c, libio.h: Extra parameter to _IO_vfscanf,
- for optionally setting an error indication..
- * iofscanf.c, ioscanf.c, iofscanf.c, iovsscanf.c: Fix calls to
- _IO_vfscanf to pass an extra NULL.
- * sbscan.cc (streambuf::vscan): If passed an extra stream,
- set its error state (using new _IO_vfscanf parameter.
-
- * filedoalloc.c, fileops.c, genops.c, iogetline.c, ioignore.c,
- libio.h, libioP.h, streambuf.cc streambuf.h, strfile.h, strops.c,
- strstream.cc: Replace macros (_base, _ebuf, _eback, _gptr, _egptr,
- _pbase, _pptr, _epptr) by field names (_IO_buf_base, _IO_buf_end,
- _IO_read_base, _IO_read_pre, IO_read_end, _IO_write_base,
- _IO_write_ptr, _IO_write_end).
- * libio.h: Remove the old macros (which fixes a conflict.
-
-Mon Nov 1 15:22:12 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iostream.cc: Use _IO_sputn instead of sputn. _IO_sputn does
- not require a vtable pointer, and is also slightly faster.
-
- * builtinbuf.{h,cc} (builtinbuf::setbuf): Fix return and
- parameter types.
-
-Mon Oct 25 12:56:33 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- Kludge to make sure _IO_FILE buffers get flushed before exit.
- * dbz/dbzmain.c, dbz/fake.c, dbz/byteflip.c:
- Invoke DBZ_FINISH macro (if defined) before (normal) exits.
- * dbz/Makefile.in (CFLAGS): Define DBZ_FINISH to call _IO_flush_all.
-
-Sat Oct 23 22:10:53 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (VERSION): Set to 0.60 for libg++ release.
- * fileops.c (_IO_file_attach): Set _offset to _IO_pos_BAD.
- * iostream.cc (ostream::flush): Fix thinkp.
- * editbuf.cc, isgetsb.cc, isscan.cc, osform.cc, parsestream.cc,
- pfstream.cc, sbform.cc, sbscan.cc, stdstreams.cc, stream.cc:
- Replace #include "ioprivate.h" by #include "libioP.h" (and
- sometimes stdarg.h, stdlib.h and/or string.h).
- * ioprivate.h: Removed.
-
-
-Thu Oct 21 19:24:02 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * PlotFile.h, SFile.h, editbuf.cc, editbuf.h, filebuf.cc,
- fstream.cc, fstream.h, indstream.cc, indstream.h, iomanip.cc,
- iomanip.h, ioprivate.h, iostream.cc, iostream.h, isgetline.cc,
- isgetsb.cc, parsestream.cc, parsestream.h, pfstream.cc,
- pfstream.h, procbuf.cc, procbuf.h, stdiostream.cc, stdiostream.h,
- stdstreams.cc, streambuf.cc, streambuf.h, strstream.cc,
- strstream.h: Remove old (duplicate) copyright notices.
-
- * iostream.cc: Fix calls to sync() to be safe in the presence
- of vtable-less streambufs.
-
-Wed Oct 20 15:22:04 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * streambuf.h (streambuf::underflow, streambuf::overflow):
- Don't make virtual functions pure.
- * streambuf.cc (streambuf::underflow, streambuf::overflow):
- Default definitions (return EOF).
- * fstream.h: Add new (int fd, char* buf, int len) constructors.
- These are deprecated, but added for AT&T compatibility.
- * fstream.cc fstreambase::fstreambase(int fd, char *p, int l): New.
-
-Thu Oct 14 14:57:01 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
-
- * configure.in: use 'mv -f' instead of 'mv'
-
-Tue Oct 12 05:01:44 1993 Mike Stump (mrs@cygnus.com)
-
- * floatconv.c: Fix typo, change __STDC to __STDC__.
-
-Mon Oct 11 17:03:12 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * cleanup.c: It should be #if _G_HAVE_ATEXIT, not #ifdef.
-
- * floatconv.c, iostrerror.c, iovfprintf.c, iovfscanf.c, libioP.h:
- Bunch of fixes to allow use of non-ANSI (K&R) C compilers.
-
- * Makefile.in (iostream.list): Use CC=$(CXX) to force use of gcc.
- * README: New file.
-
-Fri Oct 8 16:19:58 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in: Move ioungetc.o from STDIO_WRAP_OBJECTS to
- IO_OBJECTS (since it is needed for iovfscanf.c).
- * iostrerror.c: Add declaration of strerror.
-
-Thu Oct 7 12:02:28 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * cleanup.c: New file, to cause flushing at exit.
- * filedoalloc.c: Cause flushing on exit.
- * Makefile.in (OSPRIM_OBJECTS): Add cleanup.o.
- * gen-params: Check for atexit.
-
-Tue Oct 5 19:11:14 1993 Mike Stump (mrs@cygnus.com)
-
- * ioperror.c (_IO_strerror): Add missing ()s in _PARAMS usage.
-
-Tue Oct 5 10:33:37 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iofprintf.c, iofscanf.c, ioprintf.c, ioscanf.c, iosprintf.c,
- iosscanf.c: Remove bogus semi-colon after va_dcl.
- * ioperror.c: Fix typos in declaration.
-
-Mon Oct 4 17:12:22 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * configure.in (CLEAN): Define (as _G_config.h *.a).
-
- * fileops.c (_IO_file_read): Don't assume EINTR is defined.
- * iosetbuf.c: Replace by generalized ...
- * iosetbuffer.c: ... variant, derived from BSD.
- * Makefile.in (STDIO_WRAP_OBJECTS): Change correspondingly.
- * iosetvbuf.c (iosetvbuf): Minor ANSI tweak.
- * iostdio.h (setbuf, setlinebuf): New #defines.
- * iolibio.h (_IO_setbuf, _IO_setlinebuf): (Re-)define as macros.
- * Makefile.in (LIBIO_OBJECTS): New macro.
-
-Tue Sep 28 14:15:52 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * libioP.h (_IO_proc_open, _IO_proc_close): Add missing return types.
- * procbuf.cc: Belated fixes.
-
-Mon Sep 27 14:04:47 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in: List new files. Add STDIO_WRAP_OBJECTS macro.
- * floatconv.c (d2b): Use Exp_msk11 instead of Exp_msk1.
- * iofgetpos.c (_IO_fgetpos), iofsetpos.c (_IO_fsetpos): Clean up.
- * iolibio.h: New file. Declarations of _IO_foo, for most foo
- where foo is a stdio function. (Remove these from libio.h.)
- * iostream.h (istream::istreambuf, ostream::ostreambuf): Move
- obsolete functions inside #ifdef _STREAM_COMPAT.
- * libio.h, libioP.h, streambuf.h, parsestream.h, stdiostream.h:
- Use _IO_fpos_t rather than _IO_pos_t.
- * iopopen.c: New file type, for pipe (popen-like) streams.
- * procbuf.cc: Now just a C++ wrapper for the files in iopopen.c.
- * streambuf.h (ios::unsetf): Return complete old value of flags.
- * iogets.c (_IO_gets(), ioungetc.c (_IO_ungetc), ioperror.c
- (_IO_perror), iostrerror.c (_IO_strerror): New files and
- functions, for stdio implementation.
- * iostdio.h: Add declarations for various recently-added functions.
-
-Sun Sep 12 14:24:55 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * streambuf.h (ios::showpos):: Fix typo.
-
-Fri Aug 27 12:05:47 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iopadn.c (_IO_padn): Change to return count of chars written.
- * outfloat.c, iovfprintf.c: Change for new _IO_padn interface.
- * iostream.cc (ostream::operator<<): Make sure to set badbit
- on a failure (many places). Use _IO_padn more.
- * iostream.cc (ostream& ostream::operator<<(const void *p): Move to
- * osform.cc: ... here, to reduce linking-in-the-world syndrome.
- * osform.cc: Use rdbuf(), instead of _strbuf directly.
-
- * genops.c (_IO_sgetn), libio.h: New function.
- * streambuf.h (streambuf.h::sgetn): Use _IO_sgetn.
- * SFile.cc (SFile::operator[]): Use sseekoff, not seekoff.
-
-Thu Aug 26 10:16:31 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
-
- * config.shared (SUBDIRS): only recurse if the directory is configured
-
-Wed Aug 25 12:56:12 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * config/{hpux.mt, isc.mt, sco4.mt}:
- Moved from ../libg++/config (since they affect _G_config.h).
- * configure.in: Set target_make_frag to one of the above files.
-
-Fri Aug 20 00:53:14 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * iofopen.c (iofopen): Fix type passed to _IO_un_link().
- * Makefile.in (_G_config.h): Pass $CC (not $CXX) as CC.
-
- * configure.in (configdirs): Add dbz and stdio.
- * fileops.c (_IO_file_seekoff): Convert more old functionality.
- * iofdopen.c: Use mode parameter to set _flags.
- * iofscanf.c, ioputs.c, ioscanf.c, iosprintf.c: New files.
- * Makefile.in (IO_OBJECTS): Added new objects.
- * iostdio.h: Add feof. fscanf, puts, sprintf, vsprintf.
- * libio.h: Add _IO_vprintf macro.
- * iofopen.c: Invoke _IO_un_link if failure.
- * iovsprintf.c: Write terminating NUL.
-
- * libioP.h: Add COERCE_FILE macro (by default does nothing).
- * iofclose.c, iofflush.c, iofgets.c, iofprintf.c, iofputs.c,
- iofread.c, ioftell.c, iofwrite.c, iosetbuf.c, iosetvbuf.c:
- Invoke COERCE_FILE macro.
- * ioftell.c: Use _IO_seekoff.
-
-Wed Aug 18 22:49:56 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * sbform.cc (streambuf::form), sbscan.cc (streambuf::scan):
- Remove cast to _IO_va_list. (Loses if array type.)
-
- * libio.h: Handle _IO_va_list for systems that need <stdarg.h>.
- * floatconv.h: Fix typo (reported by H.J.Lu).
-
-Wed Aug 18 19:34:04 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
-
- * configure.in (INSTALLDIR): handle native vs. cross case
-
- * Makefile.in (install): don't use $TARGETLIB, set INSTALLDIR to
- $(libdir)
-
-Wed Aug 18 12:10:03 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in: Rename iostream-files to iostream.list.
- * configure.in: Add iostream.list to MOSTLYCLEAN.
-
-Tue Aug 17 18:56:59 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in: Depend on _G_config.h where appropriate.
- * config.shared (CXXINCLUDES): If doing libg++, search ../libio.
-
-Tue Aug 17 17:34:24 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- New directory. Based on old libg++/iostream code,
- but extensively re-written.
diff --git a/contrib/libio/FREEBSD-upgrade b/contrib/libio/FREEBSD-upgrade
deleted file mode 100644
index 16ce67d..0000000
--- a/contrib/libio/FREEBSD-upgrade
+++ /dev/null
@@ -1,21 +0,0 @@
-# ex:ts=8
-$FreeBSD$
-
-For the import of libio, files were pruned by:
-
- tar xvypf gcc-2.95.2.tar.bz2 '*/libio'
-
-Then imported by:
-
- cvs import -m \
- "Virgin import of GCC 2.95.2's libio -- the C++ iostream facility." \
- src/contrib/libio FSF gcc_2_95_2
-
-
-To make local changes to libio, simply patch and commit to the main
-branch (aka HEAD). Never make local changes on the vendor (FSF) branch.
-
-All local changes should be submitted to "gcc-patches@gcc.gnu.org".
-
-obrien@NUXI.com
-31-October-1999
diff --git a/contrib/libio/Makefile.in b/contrib/libio/Makefile.in
deleted file mode 100644
index 1d4123b..0000000
--- a/contrib/libio/Makefile.in
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright (C) 1993, 1995, 1996, 1997, 1998 Free Software Foundation
-#
-# This file is part of the GNU IO Library. This library is free
-# software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this library; see the file COPYING. If not, write to the Free
-# Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-srcdir = .
-
-VERSION = 2.8.0
-# The config file (overriden by Linux).
-_G_CONFIG_H=_G_config.h
-tooldir = $(exec_prefix)/$(target)
-INSTALLDIR = $(libdir)
-gxx_include_dir=${includedir}/g++
-
-IO_OBJECTS = filedoalloc.o floatconv.o genops.o fileops.o \
- iovfprintf.o \
- iovfscanf.o ioignore.o iopadn.o \
- iofgetpos.o iofread.o iofscanf.o \
- iofsetpos.o iogetdelim.o iogetline.o \
- ioprintf.o ioseekoff.o ioseekpos.o \
- outfloat.o strops.o iofclose.o iopopen.o ioungetc.o peekc.o iogetc.o \
- ioputc.o iofeof.o ioferror.o
-
-STDIO_OBJECTS = stdfiles.o
-
-# These emulate stdio functionality, but with a different name (_IO_ungetc
-# instead of ungetc), and using _IO_FILE instead of FILE.
-# They are not needed for C++ iostream, nor stdio, though some stdio
-# files are build using the same source files (see stdio/configure.in).
-# They are needed for iostdio.h. They are needed under Linux to avoid
-# version incompatibility problems with the C library.
-# iofclose.o is not here, because it is needed for stdio (by pclose).
-STDIO_WRAP_OBJECTS = iofdopen.o iofflush.o iofgets.o iofopen.o iofprintf.o iofputs.o iofwrite.o \
- iogets.o ioperror.o ioputs.o ioscanf.o iosetbuffer.o iosetvbuf.o \
- iosprintf.o iosscanf.o ioftell.o iovsscanf.o iovsprintf.o
-
-IOSTREAM_OBJECTS = builtinbuf.o filebuf.o fstream.o \
- indstream.o ioassign.o ioextend.o iomanip.o iostream.o \
- isgetline.o isgetsb.o isscan.o \
- osform.o procbuf.o sbform.o sbgetline.o sbscan.o \
- stdiostream.o stdstrbufs.o stdstreams.o stream.o streambuf.o strstream.o \
- PlotFile.o SFile.o parsestream.o pfstream.o editbuf.o
-
-# These files define _IO_read etc, which are just wrappers for read(2) etc.
-# They need to be changed to use name-space-clean (e.g. __read) versions
-# for each specific libc.
-OSPRIM_OBJECTS = ioprims.o iostrerror.o cleanup.o
-
-LIBIOSTREAM_OBJECTS = $(IO_OBJECTS) $(IOSTREAM_OBJECTS) $(OSPRIM_OBJECTS)
-LIBIO_OBJECTS = $(IO_OBJECTS) $(STDIO_WRAP_OBJECTS) $(OSPRIM_OBJECTS) \
- $(STDIO_OBJECTS)
-
-LIBIOSTREAM_DEP = $(LIBIOSTREAM_OBJECTS)
-LIBIOSTREAM_USE = $(LIBIOSTREAM_OBJECTS)
-
-USER_INCLUDES = *.h
-
-PICFLAG =
-
-#### package, host, target, and site dependent Makefile fragments come in here.
-##
-
-$(LIBIO_OBJECTS): $(_G_CONFIG_H)
-
-libio.a: $(_G_CONFIG_H) $(LIBIO_OBJECTS)
- -rm -rf libio.a
- $(AR) $(AR_FLAGS) libio.a $(LIBIO_OBJECTS)
- $(RANLIB) libio.a
-
-libiostream.a: $(_G_CONFIG_H) $(LIBIOSTREAM_DEP)
- -rm -rf libiostream.a
- $(AR) $(AR_FLAGS) libiostream.a $(LIBIOSTREAM_USE)
- $(RANLIB) libiostream.a
-
-test: test.o libio.a
- $(CC) $(CFLAGS) -o test test.o libio.a
-tpipe: tpipe.o libio.a
- $(CC) $(CFLAGS) -o tpipe tpipe.o libio.a
-
-iostream.list: $(_G_CONFIG_H) $(LIBIOSTREAM_DEP)
- @echo "$(LIBIOSTREAM_USE)"> iostream.list
-
-# The "pic" subdir must be created before we can put any object
-# files into it.
-$(LIBIOSTREAM_DEP) $(LIBIO_OBJECTS): stamp-picdir
-
-stmp-stdio:
- @rootme=`pwd`/ ; export rootme; cd stdio ; \
- $(MAKE) $(FLAGS_TO_PASS) stdio.list
-
-_G_config.h: ${srcdir}/gen-params
- rootme=`pwd`/ ; export rootme; \
- CC="$(CC) $(CINCLUDES)"; export CC; \
- CXX="$(CXX) $(CXXINCLUDES) $(NOSTDINC) $(CXXFLAGS)"; export CXX; \
- CONFIG_NM="$(NM)"; export CONFIG_NM; \
- $(SHELL) ${srcdir}/gen-params LIB_VERSION=$(VERSION) $(G_CONFIG_ARGS) >tmp-params.h
- mv tmp-params.h _G_config.h
-
-install:
- rootme=`pwd`/ ; export rootme ; \
- if [ -z "$(MULTISUBDIR)" ]; then \
- if [ "$(_G_CONFIG_H)" != "" ]; then \
- if [ x$(enable_version_specific_runtime_libs) = xyes ]; then \
- rm -f $(gxx_include_dir)/_G_config.h ; \
- $(INSTALL_DATA) _G_config.h $(gxx_include_dir)/_G_config.h || exit 1; \
- else \
- rm -f $(tooldir)/include/_G_config.h ; \
- $(INSTALL_DATA) _G_config.h $(tooldir)/include/_G_config.h || exit 1; \
- fi; \
- else true; \
- fi ; \
- cd $(srcdir); \
- for FILE in $(USER_INCLUDES); do if [ $$FILE != _G_config.h ]; then \
- rm -f $(gxx_include_dir)/$$FILE ; \
- $(INSTALL_DATA) $$FILE $(gxx_include_dir)/$$FILE ; \
- chmod a-x $(gxx_include_dir)/$$FILE ; \
- else true; fi; done ; \
- else true; \
- fi
- @rootme=`pwd`/ ; export rootme ; \
- $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
-
-c++clean:
- rm -rf $(IOSTREAM_OBJECTS)
- @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=tests" DO=clean subdir_do
diff --git a/contrib/libio/NEWS b/contrib/libio/NEWS
deleted file mode 100644
index 1f3b778..0000000
--- a/contrib/libio/NEWS
+++ /dev/null
@@ -1,57 +0,0 @@
-*** Major changes in libio for egcs:
-
-* Better support for Linux.
-
-* Dejagnu testsuite.
-
-*** Major changes in libio version 2.7.0:
-
-* The data representations of _IO_FILE and streambufs have been modified.
- The layout of the jump-table table _IO_jumps_t has been re-arranged
- to match that of a virtual function table of a streambuf. Therefore,
- we no longer need a separate _IO_FILE::_jumps pointer; instead it can
- be shared with the virtual function table pointer. In addition to
- saving space, this also removes the overhead when double indirection
- was needed, and there are many simplificatons (e.g. we no longer need
- the builtinbuf class.
-
-* The streambuf::uflow virtual has been added, to match the standard.
-
-* The ifstream, ofstream, and fstream classes now include the filebuf
- as a member, rather than being pointed to it. Various related changes.
-
-* Version number changed to generally follow libg++ (and gcc).
-
-*** Major changes in libio version 0.66 (released with libg++ 2.6.1):
-
-* Some documentation and an example in iostream.texi on how to derive
- your own class from streambuf.
-
-* New functions added to stdio: getline, detdelim, snprintf, vsnprintf.
- This is for compatibility with the GNU C library.
-
-*** Major changes in libio version 0.65 (released with libg++ 2.6):
-
-* _IO_getline and streambuf::sgetline no longer write a '\0' at the end.
-
-* A number of improvements to get closer to the ANSI/ISO C++ working
-paper, such as:
-- Added (preliminary support for) new ANSI streambuf::uflow virtual.
-- Added istdiostream and ostdiostream classes.
-- Added ostream::operator<<(bool) and istream::operator>>(bool&).
-
-* More robust (and faster) initialization and cleanup of standard streambufs.
-
-* Many small bug fixes, portability improvements, and random enhancements.
-
-*** Major changes in libio version 0.63 (released with libg++ 2.5.3):
-
-* There is a g++ bug that causes inconsistent name mangling for the
-assembler name of the virtual function table for the istream class.
-A work-around has been put into streambuf.h, which will make g++
-always do the right thing. Note that this may require you to
-recompile programs that were incorrectly compiled by g++.
-
-* Functions that do printf-style formatting to the unbuffered
-streams have been optimized to write to a temporary buffer.
-
diff --git a/contrib/libio/PlotFile.cc b/contrib/libio/PlotFile.cc
deleted file mode 100644
index 98b2d83..0000000
--- a/contrib/libio/PlotFile.cc
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1988, 1992, 1993 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
- converted to use iostream library by Per Bothner (bothner@cygnus.com)
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with GCC to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
-#include <PlotFile.h>
-
-/*
- PlotFile implementation module
-*/
-
-
-PlotFile& PlotFile:: cmd(char c)
-{
- ofstream::put(c);
- return *this;
-}
-
-PlotFile& PlotFile:: operator<<(const int x)
-{
-#if defined(convex)
- ofstream::put((char)(x>>8));
- ofstream::put((char)(x&0377));
-#else
- ofstream::put((char)(x&0377));
- ofstream::put((char)(x>>8));
-#endif
- return *this;
-}
-
-PlotFile& PlotFile:: operator<<(const char *s)
-{
- *(ofstream*)this << s;
- return *this;
-}
-
-
-PlotFile& PlotFile:: arc(const int xi, const int yi,
- const int x0, const int y0,
- const int x1, const int y1)
-{
- return cmd('a') << xi << yi << x0 << y0 << x1 << y1;
-}
-
-
-PlotFile& PlotFile:: box(const int x0, const int y0,
- const int x1, const int y1)
-{
- line(x0, y0, x0, y1);
- line(x0, y1, x1, y1);
- line(x1, y1, x1, y0);
- return line(x1, y0, x0, y0);
-}
-
-PlotFile& PlotFile:: circle(const int x, const int y, const int r)
-{
- return cmd('c') << x << y << r;
-}
-
-PlotFile& PlotFile:: cont(const int xi, const int yi)
-{
- return cmd('n') << xi << yi;
-}
-
-PlotFile& PlotFile:: dot(const int xi, const int yi, const int dx,
- int n, const int* pat)
-{
- cmd('d') << xi << yi << dx << n;
- while (n-- > 0) *this << *pat++;
- return *this;
-}
-
-PlotFile& PlotFile:: erase()
-{
- return cmd('e');
-}
-
-PlotFile& PlotFile:: label(const char* s)
-{
- return cmd('t') << s << "\n";
-}
-
-PlotFile& PlotFile:: line(const int x0, const int y0,
- const int x1, const int y1)
-{
- return cmd('l') << x0 << y0 << x1 << y1;
-}
-
-PlotFile& PlotFile:: linemod(const char* s)
-{
- return cmd('f') << s << "\n";
-}
-
-PlotFile& PlotFile:: move(const int xi, const int yi)
-{
- return cmd('m') << xi << yi;
-}
-
-PlotFile& PlotFile:: point(const int xi, const int yi)
-{
- return cmd('p') << xi << yi;
-}
-
-PlotFile& PlotFile:: space(const int x0, const int y0,
- const int x1, const int y1)
-{
- return cmd('s') << x0 << y0 << x1 << y1;
-}
diff --git a/contrib/libio/PlotFile.h b/contrib/libio/PlotFile.h
deleted file mode 100644
index 82b08bc..0000000
--- a/contrib/libio/PlotFile.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/*
- a very simple implementation of a class to output unix "plot"
- format plotter files. See corresponding unix man pages for
- more details.
-
- written by Doug Lea (dl@rocky.oswego.edu)
- converted to use iostream library by Per Bothner (bothner@cygnus.com)
-*/
-
-#ifndef _PlotFile_h
-#ifdef __GNUG__
-#pragma interface
-#endif
-#define _PlotFile_h
-
-#include <fstream.h>
-
-/*
- Some plot libraries have the `box' command to draw boxes. Some don't.
- `box' is included here via moves & lines to allow both possiblilties.
-*/
-
-extern "C++" {
-class PlotFile : public ofstream
-{
-protected:
- PlotFile& cmd(char c);
- PlotFile& operator << (const int x);
- PlotFile& operator << (const char *s);
-
-public:
-
- PlotFile() : ofstream() { }
- PlotFile(int fd) : ofstream(fd) { }
- PlotFile(const char *name, int mode=ios::out, int prot=0664)
- : ofstream(name, mode, prot) { }
-
-// PlotFile& remove() { ofstream::remove(); return *this; }
-
-// int filedesc() { return ofstream::filedesc(); }
-// const char* name() { return File::name(); }
-// void setname(const char* newname) { File::setname(newname); }
-// int iocount() { return File::iocount(); }
-
- PlotFile& arc(const int xi, const int yi,
- const int x0, const int y0,
- const int x1, const int y1);
- PlotFile& box(const int x0, const int y0,
- const int x1, const int y1);
- PlotFile& circle(const int x, const int y, const int r);
- PlotFile& cont(const int xi, const int yi);
- PlotFile& dot(const int xi, const int yi, const int dx,
- int n, const int* pat);
- PlotFile& erase();
- PlotFile& label(const char* s);
- PlotFile& line(const int x0, const int y0,
- const int x1, const int y1);
- PlotFile& linemod(const char* s);
- PlotFile& move(const int xi, const int yi);
- PlotFile& point(const int xi, const int yi);
- PlotFile& space(const int x0, const int y0,
- const int x1, const int y1);
-};
-} // extern "C++"
-#endif
diff --git a/contrib/libio/README b/contrib/libio/README
deleted file mode 100644
index c2d5649..0000000
--- a/contrib/libio/README
+++ /dev/null
@@ -1,30 +0,0 @@
-This is libio, the GNU C/C++ input/output library.
-
-By default, the library is configured to build the C++ iostream
-facility (in $libdir/libiostream.a).
-
-The library can be configured to build the C stdio facility
-that is part of a C run-time library.
-
-This library is distributed with libg++; see ../libg++/README
-for installation instructions, and where to send bug reports
-and questions.
-
-* Copyright restrictions
-
-The files in this directory are generally covered by the GNU Public
-License (which is in the file ../COPYING), but modified with the
-following:
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does not cause
- the resulting executable to be covered by the GNU General Public License.
- This exception does not however invalidate any other reasons why
- the executable file might be covered by the GNU General Public License.
-
-A few source files and subroutines are covered by other (but
-less restrictive) copyright conditions. E.g. some code (such
-as iovfprintf.c) is based on software that was developed by the
-University of California, Berkeley, for the Berkeley Software
-Distribution (BSD-4.4), and bears their copyright; and one
-file (floatconv.c) is derived from ("free") code copyrighted AT&T.
diff --git a/contrib/libio/SFile.cc b/contrib/libio/SFile.cc
deleted file mode 100644
index e5daa64..0000000
--- a/contrib/libio/SFile.cc
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/*
-Copyright (C) 1988 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
-#include <SFile.h>
-
-SFile::SFile(const char *filename, int size, int mode, int prot)
-: fstream(filename, mode, prot)
-{
- sz = size;
-}
-
-SFile::SFile(int fd, int size)
-: fstream(fd)
-{
- sz = size;
-}
-
-void SFile::open(const char *name, int size, int mode, int prot)
-{
- fstream::open(name, mode, prot);
- sz = size;
-}
-
-SFile& SFile::get(void* x)
-{
- read(x, sz);
- return *this;
-}
-
-SFile& SFile::put(void* x)
-{
- write(x, sz);
- return *this;
-}
-
-SFile& SFile::operator[](long i)
-{
- if (rdbuf()->pubseekoff(i * sz, ios::beg) == EOF)
- set(ios::badbit);
- return *this;
-}
diff --git a/contrib/libio/SFile.h b/contrib/libio/SFile.h
deleted file mode 100644
index f07277c..0000000
--- a/contrib/libio/SFile.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1988, 1992, 1993 Free Software Foundation
- written by Doug Lea (dl@rocky.oswego.edu)
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#ifndef _SFile_h
-#ifdef __GNUG__
-#pragma interface
-#endif
-#define _SFile_h 1
-
-#include <fstream.h>
-
-extern "C++" {
-class SFile: public fstream
-{
- protected:
- int sz; // unit size for structured binary IO
-
-public:
- SFile() : fstream() { }
- SFile(int fd, int size);
- SFile(const char *name, int size, int mode, int prot=0664);
- void open(const char *name, int size, int mode, int prot=0664);
-
- int size() { return sz; }
- int setsize(int s) { int old = sz; sz = s; return old; }
-
- SFile& get(void* x);
- SFile& put(void* x);
- SFile& operator[](long i);
-};
-} // extern "C++"
-
-#endif
diff --git a/contrib/libio/builtinbuf.cc b/contrib/libio/builtinbuf.cc
deleted file mode 100644
index 05e65a5..0000000
--- a/contrib/libio/builtinbuf.cc
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#ifdef __GNUC__
-#pragma implementation
-#endif
-#define _STREAM_COMPAT
-#include "builtinbuf.h"
-#include "iostreamP.h"
-#if !_IO_UNIFIED_JUMPTABLES
-int builtinbuf::overflow(int ch) { return _IO_OVERFLOW (this, ch); }
-
-int builtinbuf::underflow() { return _IO_UNDERFLOW (this); }
-
-streamsize builtinbuf::xsgetn(char* buf, streamsize n)
-{ return _IO_XSGETN (this, buf, n); }
-
-streamsize builtinbuf::xsputn(const char* buf, streamsize n)
-{ return _IO_XSPUTN (this, buf, n); }
-
-int builtinbuf::doallocate() { return _IO_DOALLOCATE (this); }
-
-builtinbuf::~builtinbuf() { _IO_FINISH (this); }
-
-int builtinbuf::sync() { return _IO_SYNC (this); }
-
-streambuf* builtinbuf::setbuf(char *buf, int n)
-{ return (streambuf*)_IO_SETBUF (this, buf, n); }
-
-streampos builtinbuf::seekoff(streamoff off, _seek_dir dir, int mode)
-{
- return _IO_SEEKOFF (this, off, dir, mode);
-}
-
-streampos builtinbuf::seekpos(streampos pos, int mode)
-{
- return _IO_SEEKPOS (this, pos, mode);
-}
-
-int builtinbuf::pbackfail(int c)
-{ return _IO_PBACKFAIL (this, c); }
-
-streamsize builtinbuf::sys_read(char* buf, streamsize size)
-{ return _IO_SYSREAD (this, buf, size); }
-
-streampos builtinbuf::sys_seek(streamoff off, _seek_dir dir)
-{ return _IO_SYSSEEK (this, off, dir); }
-
-streamsize builtinbuf::sys_write(const char* buf, streamsize size)
-{ return _IO_SYSWRITE (this, buf, size); }
-
-int builtinbuf::sys_stat(void* buf) // Actually, a (struct stat*)
-{ return _IO_SYSSTAT (this, buf); }
-
-int builtinbuf::sys_close()
-{ return _IO_SYSCLOSE (this); }
-#endif
diff --git a/contrib/libio/builtinbuf.h b/contrib/libio/builtinbuf.h
deleted file mode 100644
index 3aa4c37..0000000
--- a/contrib/libio/builtinbuf.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#ifndef _BUILTINBUF_H
-#define _BUILTINBUF_H
-
-#ifdef __GNUC__
-#pragma interface
-#endif
-
-#include <streambuf.h>
-
-#if !_IO_UNIFIED_JUMPTABLES
-// A builtinbuf is a streambuf where all the virtual operations
-// call the _IO_jump_t table.
-
-extern "C++" {
-class builtinbuf : public streambuf {
- friend ios;
- virtual int overflow(int);
- virtual int underflow();
- virtual streamsize xsgetn(char *, streamsize);
- virtual streamsize xsputn(const char *, streamsize);
- virtual streambuf* setbuf(char*, int);
- virtual int doallocate();
- virtual ~builtinbuf();
- virtual int sync();
-
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streampos seekpos(streampos pos, int mode = ios::in|ios::out);
- virtual int pbackfail(int c);
- virtual streamsize sys_read(char* buf, streamsize size);
- virtual streampos sys_seek(streamoff, _seek_dir);
- virtual streamsize sys_write(const char*, streamsize);
- virtual int sys_stat(void*); // Actually, a (struct stat*)
- virtual int sys_close();
-#if 0
- virtual int get_column();
- virtual int set_column(int);
-#endif
- private:
- builtinbuf() { }
-};
-} // extern "C++"
-#endif
-
-#endif /* _BUILTINBUF_H */
diff --git a/contrib/libio/cleanup.c b/contrib/libio/cleanup.c
deleted file mode 100644
index 691fa83..0000000
--- a/contrib/libio/cleanup.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "libioP.h"
-#if _G_HAVE_ATEXIT
-#include <stdlib.h>
-
-typedef void (*voidfunc) __P((void));
-
-static void
-_IO_register_cleanup ()
-{
- atexit ((voidfunc)_IO_cleanup);
- _IO_cleanup_registration_needed = 0;
-}
-
-void (*_IO_cleanup_registration_needed)() = _IO_register_cleanup;
-#else
-void (*_IO_cleanup_registration_needed)() = NULL;
-#endif /* _G_HAVE_ATEXIT */
diff --git a/contrib/libio/config.shared b/contrib/libio/config.shared
deleted file mode 100644
index 6cda566..0000000
--- a/contrib/libio/config.shared
+++ /dev/null
@@ -1,499 +0,0 @@
-# Copyright (C) 1993, 1995, 1997, 1998 Free Software Foundation
-#
-# This file is part of the GNU IO Library. This library is free
-# software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU CC; see the file COPYING. If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA. */
-
-# File descriptor usage:
-# 1: All macros which need to be re-definable by any target fragments
-# 2: All generic rules; especially those which use re-defined macros, e.g. _G_CONFIG_H!
-
-# Significant variables:
-
-# Note that TO_TOPDIR does *not* include multilib.
-test -z "${TO_TOPDIR}" && TO_TOPDIR=${TOLIBGXX}../
-# Native configurations build target libraries in directories at the same
-# level as the rest of the tree. Cross configurations build target libraries
-# one level deeper. TO_REAL_TOPDIR accounts for this.
-# Obviously, TO_REAL_TOPDIR can only be used in the build tree.
-if [ "${with_target_subdir}" != "." ] ; then
- TO_REAL_TOPDIR="${TO_TOPDIR}../"
-else
- TO_REAL_TOPDIR="${TO_TOPDIR}"
-fi
-DOING_LIBGXX=${DOING_LIBGXX-false}
-THIS_FILE="${srcdir}/${TOLIBIO}config.shared"
-
-echo "# Start of package fragment generated by ${THIS_FILE}."
-echo ""
-echo >&2 "# Start of package rules fragment generated by ${THIS_FILE}."
-echo >&2 ""
-
-# Multilib support.
-echo 'MULTISRCTOP ='
-echo 'MULTIBUILDTOP ='
-echo 'MULTIDIRS ='
-echo 'MULTISUBDIR ='
-echo 'MULTIDO = true'
-echo 'MULTICLEAN = true'
-echo ''
-
-# TOLIBGXX
-# MOSTLYCLEAN
-# CLEAN
-# DISTCLEAN
-# REALCLEAN
-# SUBDIRS [defaults to (configdirs)]
-# INFO_FILES List of (basenames of) texinfo files
-# INFO_SUBDIRS [default: empty] sub-directories containing documentation
-
-# ??? This doesn't appear to be used by us or any of our callers.
-# Note that all uses in this file are single-quoted.
-rootme=${rootme-`pwd`}
-
-# libg++ uses the convention that $rootme includes a trailing '/'.
-# We use that in the definition of TOPDIR. $rootme is either empty
-# or an absolute pathname to the current directory (with trailing '/').
-TOPDIR=${TOPDIR-'$${rootme}$(MULTIBUILDTOP)'${TO_REAL_TOPDIR}}
-echo '#' TOPDIR="${TOPDIR} invsubdir=${invsubdir} subdir=${subdir}"
-SUBDIRS=${SUBDIRS-${configdirs}}
-CHECK_SUBDIRS=${CHECK_SUBDIRS-${SUBDIRS}}
-
-echo "srcdir = ${srcdir}"
-echo "SUBDIRS = ${SUBDIRS}"
-echo "CHECK_SUBDIRS = ${CHECK_SUBDIRS}"
-
-echo "prefix = ${prefix-/usr/local}"
-echo "exec_prefix = ${exec_prefix-'${prefix}'}"
-
-echo 'bindir = $(exec_prefix)/bin'
-echo 'libdir = $(exec_prefix)/lib'
-echo 'libsubdir = $(libdir)/gcc-lib/$(target_alias)/$(gcc_version)'
-
-echo 'datadir = $(prefix)/lib'
-echo 'mandir = $(prefix)/man'
-echo 'man1dir = $(mandir)/man1'
-echo 'man2dir = $(mandir)/man2'
-echo 'man3dir = $(mandir)/man3'
-echo 'man4dir = $(mandir)/man4'
-echo 'man5dir = $(mandir)/man5'
-echo 'man6dir = $(mandir)/man6'
-echo 'man7dir = $(mandir)/man7'
-echo 'man8dir = $(mandir)/man8'
-echo 'man9dir = $(mandir)/man9'
-
-echo 'infodir = $(prefix)/info'
-echo 'includedir = $(prefix)/include'
-echo 'docdir = $(datadir)/doc'
-echo ''
-echo 'SHELL = /bin/sh'
-echo ''
-case "$srcdir" in
- /*) echo 'INSTALL = $(srcdir)'/"${TO_TOPDIR}install-sh -c" ;;
- .) echo 'INSTALL = $${rootme}'"${with_multisrctop}${TO_REAL_TOPDIR}install-sh -c" ;;
- *) echo 'INSTALL = $${rootme}$(srcdir)'/"${TO_TOPDIR}install-sh -c" ;;
-esac
-echo 'INSTALL_PROGRAM = $(INSTALL)'
-echo 'INSTALL_DATA = $(INSTALL)'
-echo ''
-echo 'AR = `if [ -f' ${TOPDIR}'binutils/ar ] ; \'
-echo " then echo ${TOPDIR}binutils/ar ; "'\'
-echo ' else echo ar ; fi`'
-echo 'AR_FLAGS = rc'
-echo 'RANLIB = `if [ -f' ${TOPDIR}'binutils/ranlib ] ; \'
-echo ' then echo '${TOPDIR}'binutils/ranlib ; \'
-echo ' else echo ranlib ; fi`'
-echo 'NM = `if [ -f' ${TOPDIR}'binutils/nm.new ] ; \'
-echo ' then echo '${TOPDIR}'binutils/nm.new ; \'
-echo ' else echo nm ; fi`'
-echo 'NLMCONV = `if [ -f' ${TOPDIR}'binutils/nlmconv ] ; \'
-echo ' then echo '${TOPDIR}'binutils/nlmconv ; \'
-echo ' else echo nlmconv ; fi`'
-echo 'LD = `if [ -f' ${TOPDIR}'ld/ld.new ] ; \'
-echo ' then echo '${TOPDIR}'ld/ld.new ; \'
-echo ' else echo ld ; fi`'
-echo ''
-echo 'MAKEINFO = `if [ -f '${TOPDIR}'texinfo/C/makeinfo ] ; \'
-echo ' then echo '${TOPDIR}'texinfo/C/makeinfo ; \'
-echo ' else echo makeinfo ; fi`'
-case "$srcdir" in
- .) echo 'TEXIDIR = '"${with_multisrctop}${TO_REAL_TOPDIR}texinfo" ;;
- *) echo 'TEXIDIR = $(srcdir)'/"${TO_TOPDIR}texinfo" ;;
-esac
-echo 'TEXI2DVI = TEXINPUTS=${TEXIDIR}:$$TEXINPUTS texi2dvi'
-echo ''
-echo 'CC = cc'
-echo 'CXX = gcc'
-echo ''
-# FIXME!!!
-if true ; then
- echo 'WRAP_C_INCLUDES ='
-else
- echo 'WRAP_C_INCLUDES = -I$(srcdir)'/${TOLIBGXX}g++-include
-fi
-echo 'CFLAGS = -g'
-echo 'CXXFLAGS = -g -O'
-echo 'LIBCFLAGS = $(CFLAGS)'
-echo 'LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates'
-if [ "${LIBDIR}" = "yes" ]; then
- echo 'PICDIR = stamp-picdir'
-else
- echo 'PICDIR = '
-fi
-
-if test "${DOING_LIBGXX}" = "true" ; then
- echo "TOLIBGXX = ${TOLIBGXX}"
- echo 'PROTODIR = $(srcdir)'/${TOLIBGXX}src/gen
- echo "LIBS = -L./${TOLIBGXX} -L./${TOLIBGXX}../libstdc++ -lg++ -lstdc++"
-
- # You can override iostream (e.g. in a site- or host-Makefile fragment) to:
- # iostream (Normal iostream library)
- # old-stream (Old stream library; no longer supported)
- # no-stream (If you don't want iostream to be part of libg++)
- echo 'IO_DIR = ../libio'
- echo '# IO_DIR = no-stream'
-elif test "${DOING_GPERF}" = "true" ; then
- echo "IO_DIR = libio"
- echo "LIBS = -L${TO_TOPDIR}libstdc++ -lstdc++"
-fi
-
-if [ -z "${ALL}" ] ; then
- if [ -n "${TARGETLIB}" ] ; then
- ALL='$(TARGETLIB)'
- echo "TARGETLIB = ${TARGETLIB}"
- elif [ -n "${TARGETPROG}" ] ; then
- ALL='${TARGETPROG}'
- echo "TARGETPROG = ${TARGETPROG}"
- else
- echo "config error: neither ALL, TARGETLIB or TARGETPROG is defined" 1>&2
- fi
-fi
-
-echo >&2 "all: ${ALL} multi-all"
-if [ "${SUBDIRS}" != "" ] ; then
- echo >&2 ' @rootme=`pwd`/; export rootme; \'
- echo >&2 ' $(MAKE) "DODIRS=$(SUBDIRS)" DO=all $(FLAGS_TO_PASS) subdir_do'
-fi
-if [ "${LIBDIR}" = "yes" ]; then
- echo >&2 "${ALL} "'multi-all: $(PICDIR)'
-fi
-echo >&2 '.PHONY: all'
-echo >&2 ''
-
-echo >&2 '.PHONY: multi-all'
-echo >&2 'multi-all:'
-echo >&2 ' @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all'
-echo >&2 ''
-
-echo >&2
-if [ "${SUBDIRS}" != "" ] ; then
- echo >&2 '.PHONY: subdir_do'
- echo >&2 'subdir_do: force'
- echo >&2 ' @rootme=`pwd`/; export rootme; \'
- echo >&2 ' for i in $(DODIRS); do \'
- echo >&2 ' if [ -f ./$$i/Makefile ] ; then \'
- echo >&2 ' echo "cd $$i; make $(DO) ..." ; \'
- echo >&2 ' (cd $$i ; $(MAKE) $(FLAGS_TO_PASS) $(DO)) || exit 1 ; \'
- echo >&2 ' else true ; fi ; \'
- echo >&2 ' done'
- echo >&2 ''
- echo >&2 '# List of variables to pass to sub-makes. This should not be needed'
- echo >&2 '# by GNU make or Sun make (both of which pass command-line variable'
- echo >&2 '# overrides thouh $(MAKE)) but may be needed by older versions.'
- echo >&2 ''
- echo >&2 'FLAGS_TO_PASS= \'
- echo >&2 ' "SHELL=$(SHELL)" \'
- echo >&2 ' "INSTALL=$(INSTALL)" \'
- echo >&2 ' "INSTALL_DATA=$(INSTALL_DATA)" \'
- echo >&2 ' "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \'
- echo >&2 ' "prefix=$(prefix)" \'
- echo >&2 ' "exec_prefix=$(exec_prefix)" \'
- echo >&2 ' "tooldir=$(tooldir)" \'
- echo >&2 ' "gxx_include_dir=$(gxx_include_dir)" \'
- echo >&2 ' "libsubdir=$(libsubdir)" \'
- echo >&2 ' "gcc_version=$(gcc_version)" \'
- echo >&2 ' "gcc_version_trigger=$(gcc_version_trigger)" \'
- echo >&2 ' "AR=$(AR)" \'
- echo >&2 ' "AR_FLAGS=$(AR_FLAGS)" \'
- echo >&2 ' "CC=$(CC)" \'
- echo >&2 ' "CXX=$(CXX)" \'
- echo >&2 ' "CFLAGS=$(CFLAGS)" \'
- echo >&2 ' "CXXFLAGS=$(CXXFLAGS)" \'
- echo >&2 ' "NM=$(NM)" \'
- echo >&2 ' "RANLIB=$(RANLIB)" \'
- echo >&2 ' "LIBCFLAGS=$(LIBCFLAGS)" \'
- echo >&2 ' "LIBCXXFLAGS=$(LIBCXXFLAGS)" \'
- echo >&2 ' "LOADLIBES=$(LOADLIBES)" \'
- echo >&2 ' "LDFLAGS=$(LDFLAGS)" \'
- echo >&2 ' "MAKEINFO=$(MAKEINFO)" \'
- echo >&2 ' "SHLIB=$(SHLIB)" \'
- echo >&2 ' "SHCURSES=$(SHCURSES)" \'
- echo >&2 ' "RUNTESTFLAGS=$(RUNTESTFLAGS)"'
-fi
-
-echo >&2 'NOSTDINC = -nostdinc++'
-if test -n "${XCXXINCLUDES}" ; then
- echo >&2 "CXXINCLUDES = ${XCXXINCLUDES} "'$(NOSTDINC)'
-elif test "${DOING_LIBGXX}" = "true" ; then
- echo >&2 'CXXINCLUDES = $(NOSTDINC) -I. -I'"${TO_TOPDIR}libio"' -I$(srcdir) -I$(srcdir)/'"${TOLIBGXX}"'$(IO_DIR) -I$(srcdir)/'"${TOLIBGXX}"'../libstdc++ -I$(srcdir)/'"${TOLIBGXX}src"' '"${host_includes}"' $(WRAP_C_INCLUDES)'
-fi
-if test -n "${XCINCLUDES}" ; then
- echo >&2 "CINCLUDES = ${XCINCLUDES}"
-elif test "${DOING_LIBGXX}" = "true" ; then
- echo >&2 'CINCLUDES ='
-fi
-
-if [ "${LIBDIR}" = "yes" ]; then
- echo >&2 'XCFLAGS = $(LIBCFLAGS)'
- echo >&2 'XCXXFLAGS = $(LIBCXXFLAGS)'
-else
- echo >&2 'XCFLAGS = $(CFLAGS)'
- echo >&2 'XCXXFLAGS = $(CXXFLAGS)'
-fi
-
-echo >&2 '.SUFFIXES: .o .C .cc .c'
-echo >&2 'COMPILE.c = $(CC) -c $(XCFLAGS) $(CINCLUDES) $(MT_CFLAGS)'
-echo >&2 '.c.o:'
-if [ "${LIBDIR}" = "yes" ]; then
-echo >&2 ' test x"$(enable_shared)" != xyes ||\'
-echo >&2 ' $(COMPILE.c) $(PICFLAG) $< -o pic/$@'
-fi
-echo >&2 ' $(COMPILE.c) $<'
-[ "${TOUCH_ON_COMPILE}" = "yes" ] && echo >&2 ' @touch stamp'
-echo >&2 'COMPILE.cc = $(CXX) -c $(XCXXFLAGS) $(CXXINCLUDES) $(MT_CFLAGS)'
-echo >&2 '.C.o:'
-if [ "${LIBDIR}" = "yes" ]; then
-echo >&2 ' test x"$(enable_shared)" != xyes ||\'
-echo >&2 ' $(COMPILE.cc) $(PICFLAG) $< -o pic/$@'
-fi
-echo >&2 ' $(COMPILE.cc) $<'
-[ "${TOUCH_ON_COMPILE}" = "yes" ] && echo >&2 ' @touch stamp'
-echo >&2 '.cc.o:'
-if [ "${LIBDIR}" = "yes" ]; then
-echo >&2 ' test x"$(enable_shared)" != xyes || \'
-echo >&2 ' $(COMPILE.cc) $(PICFLAG) $< -o pic/$@'
-fi
-echo >&2 ' $(COMPILE.cc) $<'
-[ "${TOUCH_ON_COMPILE}" = "yes" ] && echo >&2 ' @touch stamp'
-echo >&2 ''
-
-if [ -n "${TARGETLIB}" ] ; then
- echo TARGETLIB = ${TARGETLIB}
-fi
-if [ -n "${TARGETPROG}" ] ; then
- echo TARGETPROG = ${TARGETPROG}
-fi
-
-if [ "${LIBDIR}" = "yes" ]; then
- echo >&2 ''
- echo >&2 'stamp-picdir:'
- echo >&2 ' if [ x"$(enable_shared)" = xyes ] && [ ! -d pic ]; then \'
- echo >&2 ' mkdir pic; \'
- echo >&2 ' else true; fi'
- echo >&2 ' touch stamp-picdir'
-fi
-
-echo >&2 ''
-echo >&2 '.PHONY: install'
-echo >&2 'install:'
-echo >&2 '.PHONY: check'
-if [ "${CHECK}" != "check" ] ; then
- echo >&2 "check: ${ALL} ${CHECK}"
- if [ "${CHECK_SUBDIRS}" != "" ] ; then
- echo >&2 ' rootme=`pwd`/; export rootme; \'
- echo >&2 ' SAVE_LLPATH="$${SAVE_LLPATH-$$LD_LIBRARY_PATH}"; export SAVE_LLPATH; \'
- echo >&2 ' LD_LIBRARY_PATH="$${rootme}${TOLIBGXX}../libstdc++:$${rootme}${TOLIBGXX}../libg++:$$SAVE_LLPATH"; \'
- echo >&2 ' export LD_LIBRARY_PATH; \'
- echo >&2 ' $(MAKE) "DODIRS=$(CHECK_SUBDIRS)" DO=check $(FLAGS_TO_PASS) subdir_do'
- fi
-fi
-
-# Generate rules for documentation (depending on INFO_FILES and INFO_SUBDIRS).
-
-echo >&2 '.PHONY: info dvi install-info clean-info'
-
-# emit the rule for 'info'
-# (Note that the top-level ../Makefile.in greps for '^info:' when making
-# a release (in "make taz"), so don't break that!)
-if [ -z "${INFO_FILES}" ] ; then
- echo >&2 'info:'
-else
- echo >&2 info: `for file in ${INFO_FILES} ; do echo $file.info ; done`
-fi
-if [ "${INFO_SUBDIRS}" != "" ] ; then
- echo >&2 ' @rootme=`pwd`/; export rootme; \
- $(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=info $(FLAGS_TO_PASS) subdir_do'
-fi
-
-# emit the rule for 'dvi'
-if [ -z "${INFO_FILES}" ] ; then
- echo >&2 'dvi:'
-else
- echo >&2 dvi: `for file in ${INFO_FILES} ; do echo $file.dvi ; done`
-fi
-if [ "${INFO_SUBDIRS}" != "" ] ; then
- echo >&2 ' @rootme=`pwd`/; export rootme; \
- $(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=dvi $(FLAGS_TO_PASS) subdir_do'
-fi
-
-# Emit rules for each *.info and *.dvi file
-for file in ${INFO_FILES} ; do
- echo >&2 ${file}.info: '$(srcdir)'/${file}.texi
- echo >&2 ' $(MAKEINFO) -I$(srcdir) -I$(TEXIDIR) $(srcdir)/'${file}.texi -o ${file}.info
- echo >&2 ${file}.dvi: '$(srcdir)'/${file}.texi
- echo >&2 ' $(TEXI2DVI) $(srcdir)'/${file}.texi
- echo >&2 "${file}.ps: ${file}.dvi"
- echo >&2 " dvips ${file} -o"
-done
-
-# emit the rule for install-info
-echo >&2 'install-info:'
-if [ -n "${INFO_FILES}" ] ; then
- echo >&2 ' -parent=`echo $(infodir)|sed -e' "'"'s@/[^/]*$$@@'"'"'`; \'
- echo >&2 ' if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi'
- echo >&2 ' -if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; fi'
- echo >&2 ' for i in *.info* ; do \'
- echo >&2 ' $(INSTALL_DATA) $$i $(infodir)/$$i ; \'
- echo >&2 ' done'
-fi
-if [ "${INFO_SUBDIRS}" != "" ] ; then
- echo >&2 ' @rootme=`pwd`/; export rootme; \
- $(MAKE) "DODIRS='${INFO_SUBDIRS}'" DO=install-info $(FLAGS_TO_PASS) subdir_do'
-fi
-
-# emit clean-info and clean-dvi rules
-echo >&2 '.PHONY: do-clean-info clean-info do-clean-dvi clean-dvi'
-echo >&2 do-clean-info:
-if [ -n "${INFO_FILES}" ] ; then
- echo >&2 ' rm -f *.info*'
-fi
-echo >&2 'do-clean-dvi:'
-if [ -n "${INFO_FILES}" ] ; then
- echo >&2 ' rm -f *.dvi *.aux *.cp *.cps *.fn* *.ky *.log *.pg *.toc *.tp *.vr'
-fi
-for type in info dvi ; do
- echo >&2 clean-${type}: do-clean-${type}
- if [ "${INFO_SUBDIRS}" != "" ] ; then
- echo >&2 ' @rootme=`pwd`/; export rootme; \
- $(MAKE) "DODIRS='${NFO_SUBDIRS}'" DO=clean-'${type} '$(FLAGS_TO_PASS) subdir_do'
- fi
-done
-
-echo >&2 ''
-
-echo >&2 '.PHONY: boltcc'
-echo >&2 'boltcc:'
-echo >&2 ' rootme=`pwd`/ ; export rootme ; $(MAKE) $(FLAGS_TO_PASS)'
-echo >&2 ''
-
-# Emit clean rules
-
-echo >&2 ''
-echo >&2 '# clean rules'
-
-MOSTLYCLEAN="${MOSTLYCLEAN-*.o pic stamp-picdir core ${EXTRA_MOSTLYCLEAN}} `if test -n "${TOUCH_ON_COMPILE}"; then echo stamp; else true; fi`"
-CLEAN="${CLEAN-${TARGETPROG} ${TARGETLIB}}"
-DISTCLEAN="${DISTCLEAN-config.status Makefile *~ Make.pack target-mkfrag multilib.out ${EXTRA_DISTCLEAN-}}"
-REALCLEAN="${REALCLEAN-depend *.info*}"
-
-
-echo >&2 '.PHONY: mostlyclean clean distclean maintainer-clean realclean'
-if test -z "${SUBDIRS}" ; then
- echo >&2 "mostlyclean: clean-dvi"
- echo >&2 " rm -rf ${MOSTLYCLEAN}"
- echo >&2 ' @$(MULTICLEAN) multi-clean DO=mostlyclean'
- echo >&2 "clean: clean-dvi"
- echo >&2 " rm -rf ${MOSTLYCLEAN} ${CLEAN}"
- echo >&2 ' @$(MULTICLEAN) multi-clean DO=clean'
- echo >&2 "distclean: clean"
- echo >&2 ' @$(MULTICLEAN) multi-clean DO=distclean'
- echo >&2 " rm -rf ${DISTCLEAN}"
- echo >&2 "maintainer-clean realclean: clean clean-info"
- echo >&2 ' @$(MULTICLEAN) multi-clean DO=maintainer-clean'
- echo >&2 " rm -rf ${DISTCLEAN} ${REALCLEAN}"
-else
- echo >&2 '.PHONY: do-clean subdir_distclean subdir_maintainer_clean'
- echo >&2 "mostlyclean: do-clean-dvi"
- echo >&2 " rm -rf ${MOSTLYCLEAN}"
- echo >&2 ' @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=mostlyclean subdir_do'
- echo >&2 ' @$(MULTICLEAN) multi-clean DO=mostlyclean'
- echo >&2 "do-clean: do-clean-dvi"
- echo >&2 " rm -rf ${MOSTLYCLEAN} ${CLEAN}"
- echo >&2 "clean: do-clean"
- echo >&2 ' @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=clean subdir_do'
- echo >&2 ' @$(MULTICLEAN) multi-clean DO=clean'
- # distclean and maintainer-clean are tricky because they remove the Makefile.
- echo >&2 "subdir_distclean:"
- echo >&2 ' @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=distclean subdir_do'
- echo >&2 "distclean: do-clean subdir_distclean"
- echo >&2 ' @$(MULTICLEAN) multi-clean DO=distclean'
- echo >&2 " rm -rf ${DISTCLEAN}"
- echo >&2 "subdir_maintainer_clean:"
- echo >&2 ' @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=$(SUBDIRS)" DO=maintainer-clean subdir_do'
- echo >&2 "maintainer-clean realclean: do-clean subdir_maintainer_clean do-clean-info"
- echo >&2 ' @$(MULTICLEAN) multi-clean DO=maintainer-clean'
- echo >&2 " rm -rf ${DISTCLEAN} ${REALCLEAN}"
-fi
-
-echo >&2 ''
-echo >&2 '.PHONY: force'
-echo >&2 'force:'
-echo >&2 ''
-echo >&2 '# with the gnu make, this is done automatically.'
-echo >&2 ''
-echo >&2 'Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag) $(gcc_version_trigger)'
-echo >&2 ' $(SHELL) ./config.status'
-echo >&2 ''
-echo >&2 '.NOEXPORT:'
-echo >&2 'MAKEOVERRIDES='
-
-cat >&2 <<"EOF"
-DEPEND_SOURCES = ${srcdir}/*.cc ${srcdir}/*.c
-depend.new:
-# The sed script below attempts to make the depend output portable.
-# It cleans up the depenency information generated by cpp.
-# It replaces instances of $(srcdir)/ by the string '$(srcdir)/'.
-# It removes remaining absolute files names (such as /usr/include/stdio.h).
-# It removes lines containing only "\\".
-# It inserts '$(MULTISRCTOP)' in '$(srcdir)/..'.
-# In order to support SunOS VPATH, $(srcdir)/[a-z]*.{c,cc} is replaced with
-# [a-z]*.{c,cc} (the directory part is removed).
-# The awk script removes a continuation marker that is followed by
-# a blank line, since that may confuse make.
- echo "# AUTOMATICALLY GENERATED BY 'make depend' - DO NOT EDIT" \
- >depend.new
- $(CXX) -M $(CXXINCLUDES) $(DEPEND_SOURCES) \
- | sed -e 's|$(srcdir)/|$$(srcdir)/|g' \
- -e 's| [^ ]*_G_config.h| $$(_G_CONFIG_H)|g' \
- -e 's| /[^ ]*||g' -e 's| libc-lock\.h||' \
- -e '/^[ ]*\\$$/d' -e 's/^[ ]*$$//' \
- | sed -e 's|$$(srcdir)/[.][.]|$$(srcdir)/$$(MULTISRCTOP)..|g' \
- -e 's|$$(srcdir)/\([^/]*[.]c\)|\1|' \
- | awk 'BEGIN { prev = "" } \
- /^( )*$$/ { if (prev ~ /\\$$/) \
- { prev = substr(prev,1,length(prev)-1); next } } \
- { print prev; prev = $$0 } \
- END { if (prev !~ /^( )*$$/) print prev }' \
- >> depend.new
-$(srcdir)/depend: depend.new
- mv depend.new $(srcdir)/depend
-EOF
-
-if [ -f ${srcdir}/${subdir}/depend ] ; then
- cat ${srcdir}/${subdir}/depend >&2
-fi
-
-echo "# End of package fragment generated by ${THIS_FILE}."
-echo >&2 "# End of package rules fragment generated by ${THIS_FILE}."
diff --git a/contrib/libio/config/hpux.mt b/contrib/libio/config/hpux.mt
deleted file mode 100644
index fc95afa..0000000
--- a/contrib/libio/config/hpux.mt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Flags to pass to gen-params when building _G_config.h.
-# For example: G_CONFIG_ARGS = size_t="unsigned long"
-G_CONFIG_ARGS = DOLLAR_IN_LABEL=1
diff --git a/contrib/libio/config/isc.mt b/contrib/libio/config/isc.mt
deleted file mode 100644
index 15cbb8c..0000000
--- a/contrib/libio/config/isc.mt
+++ /dev/null
@@ -1,4 +0,0 @@
-# Flags to pass to gen-params when building _G_config.h.
-# For example: G_CONFIG_ARGS = size_t="unsigned long"
-G_CONFIG_ARGS = pid_t="unsigned short" \
- gid_t="unsigned short" uid_t="unsigned short"
diff --git a/contrib/libio/config/linux.mt b/contrib/libio/config/linux.mt
deleted file mode 100644
index 9e3c519..0000000
--- a/contrib/libio/config/linux.mt
+++ /dev/null
@@ -1,25 +0,0 @@
-# Use the libio which comes with the local libc.
-
-# Comment this out to avoid including the stdio functions in libiostream.a:
-# LIBIOSTREAM_OBJECTS = $(IO_OBJECTS) $(IOSTREAM_OBJECTS) $(STDIO_WRAP_OBJECTS) $(OSPRIM_OBJECTS)
-# LIBIOSTREAM_DEP = $(LIBIOSTREAM_OBJECTS) stdio.list
-# LIBIOSTREAM_USE = $(LIBIOSTREAM_OBJECTS) `cat stdio.list`
-
-# Comment the above and uncomment the below to use the code in the Linux libc:
-# We have _G_config.h in /usr/include.
-_G_CONFIG_H=
-
-# We must not see the libio.h file from this library.
-LIBIO_INCLUDE=
-
-# We have those in libc.a.
-IO_OBJECTS= iogetline.o
-STDIO_WRAP_OBJECTS=
-OSPRIM_OBJECTS=
-STDIO_OBJECTS=
-
-# We have the rest in /usr/include.
-USER_INCLUDES=PlotFile.h SFile.h builtinbuf.h editbuf.h fstream.h \
- indstream.h iomanip.h iostream.h istream.h ostream.h \
- parsestream.h pfstream.h procbuf.h stdiostream.h stream.h \
- streambuf.h strfile.h strstream.h
diff --git a/contrib/libio/config/linuxaxp1-libc-lock.h b/contrib/libio/config/linuxaxp1-libc-lock.h
deleted file mode 100644
index 2523a0d..0000000
--- a/contrib/libio/config/linuxaxp1-libc-lock.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/* libc-internal interface for mutex locks. LinuxThreads version.
- Copyright (C) 1996 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#ifndef _LIBC_LOCK_H
-#define _LIBC_LOCK_H 1
-
-#include <pthread.h>
-#define __libc_lock_t pthread_mutex_t
-
-/* Define a lock variable NAME with storage class CLASS. The lock must be
- initialized with __libc_lock_init before it can be used (or define it
- with __libc_lock_define_initialized, below). Use `extern' for CLASS to
- declare a lock defined in another module. In public structure
- definitions you must use a pointer to the lock structure (i.e., NAME
- begins with a `*'), because its storage size will not be known outside
- of libc. */
-#define __libc_lock_define(CLASS,NAME) \
- CLASS __libc_lock_t NAME;
-
-/* Define an initialized lock variable NAME with storage class CLASS. */
-#define __libc_lock_define_initialized(CLASS,NAME) \
- CLASS __libc_lock_t NAME = PTHREAD_MUTEX_INITIALIZER;
-
-/* Initialize the named lock variable, leaving it in a consistent, unlocked
- state. */
-#define __libc_lock_init(NAME) \
- (__pthread_mutex_init != NULL ? __pthread_mutex_init (&(NAME), NULL) : 0);
-
-/* Same as last but this time we initialize a recursive mutex. */
-#define __libc_lock_init_recursive(NAME) \
- do { \
- if (__pthread_mutex_init != NULL) \
- { \
- pthread_mutexattr_t __attr; \
- __pthread_mutexattr_init (&__attr); \
- __pthread_mutexattr_setkind_np (&__attr, PTHREAD_MUTEX_RECURSIVE_NP); \
- __pthread_mutex_init (&(NAME), &__attr); \
- __pthread_mutexattr_destroy (&__attr); \
- } \
- } while (0);
-
-/* Finalize the named lock variable, which must be locked. It cannot be
- used again until __libc_lock_init is called again on it. This must be
- called on a lock variable before the containing storage is reused. */
-#define __libc_lock_fini(NAME) \
- (__pthread_mutex_destroy != NULL ? __pthread_mutex_destroy (&(NAME)) : 0);
-
-/* Lock the named lock variable. */
-#define __libc_lock_lock(NAME) \
- (__pthread_mutex_lock != NULL ? __pthread_mutex_lock (&(NAME)) : 0);
-
-/* Try to lock the named lock variable. */
-#define __libc_lock_trylock(NAME) \
- (__pthread_mutex_trylock != NULL ? __pthread_mutex_trylock (&(NAME)) : 0);
-
-/* Unlock the named lock variable. */
-#define __libc_lock_unlock(NAME) \
- (__pthread_mutex_unlock != NULL ? __pthread_mutex_unlock (&(NAME)) : 0);
-
-/* Start critical region with cleanup. */
-#define __libc_cleanup_region_start(FCT, ARG) \
- { struct _pthread_cleanup_buffer _buffer; \
- if (_pthread_cleanup_push_defer != NULL) { \
- _pthread_cleanup_push_defer (&_buffer, (FCT), (ARG)); \
- }
-
-/* End critical region with cleanup. */
-#define __libc_cleanup_region_end(DOIT) \
- if (_pthread_cleanup_push_defer != NULL) { \
- _pthread_cleanup_pop_restore (&_buffer, (DOIT)); \
- } \
- }
-
-/* Make the pthread functions weak so that we can elide them from
- single-threaded processes. */
-#pragma weak __pthread_mutex_init
-#pragma weak __pthread_mutex_destroy
-#pragma weak __pthread_mutex_lock
-#pragma weak __pthread_mutex_trylock
-#pragma weak __pthread_mutex_unlock
-#pragma weak __pthread_mutexattr_init
-#pragma weak __pthread_mutexattr_destroy
-#pragma weak __pthread_mutexattr_setkind_np
-#pragma weak __pthread_key_create
-#pragma weak __pthread_setspecific
-#pragma weak __pthread_getspecific
-#pragma weak __pthread_initialize
-#pragma weak _pthread_cleanup_push_defer
-#pragma weak _pthread_cleanup_pop_restore
-
-/* We need portable names for some functions. E.g., when they are
- used as argument to __libc_cleanup_region_start. */
-#define __libc_mutex_unlock __pthread_mutex_unlock
-
-#endif /* libc-lock.h */
-
diff --git a/contrib/libio/config/linuxaxp1-stdio-lock.h b/contrib/libio/config/linuxaxp1-stdio-lock.h
deleted file mode 100644
index cbee768..0000000
--- a/contrib/libio/config/linuxaxp1-stdio-lock.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Thread package specific definitions of stream lock type.
- Copyright (C) 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include <pthread.h>
-
-typedef pthread_mutex_t _IO_lock_t;
-
-/* We need recursive (counting) mutexes. */
-#define _IO_lock_initializer PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
-
-
-#define _IO_cleanup_region_start(_fct, _fp) \
- __libc_cleanup_region_start (_fct, _fp)
-#define _IO_cleanup_region_end(_doit) \
- __libc_cleanup_region_end (_doit)
-#define _IO_lock_init(_name) \
- __libc_lock_init_recursive (_name)
-#define _IO_lock_fini(_name) \
- __libc_lock_fini_recursive (_name)
-
diff --git a/contrib/libio/config/linuxaxp1.mt b/contrib/libio/config/linuxaxp1.mt
deleted file mode 100644
index d9b7e8c..0000000
--- a/contrib/libio/config/linuxaxp1.mt
+++ /dev/null
@@ -1,10 +0,0 @@
-# We _do_ need a new _G_config.h
-_G_CONFIG_H=_G_config.h
-
-# And the two bits files.
-all:
-install: install-axp-mt-headers
-
-install-axp-mt-headers:
- $(INSTALL_DATA) libc-lock.h $(gxx_include_dir)/libc-lock.h
- $(INSTALL_DATA) stdio-lock.h $(gxx_include_dir)/stdio-lock.h
diff --git a/contrib/libio/config/linuxlibc1.mt b/contrib/libio/config/linuxlibc1.mt
deleted file mode 100644
index 742cbf1..0000000
--- a/contrib/libio/config/linuxlibc1.mt
+++ /dev/null
@@ -1,26 +0,0 @@
-# Use the libio which comes with the local libc.
-
-# Comment this out to avoid including the stdio functions in libiostream.a:
-# LIBIOSTREAM_OBJECTS = $(IO_OBJECTS) $(IOSTREAM_OBJECTS) $(STDIO_WRAP_OBJECTS) $(OSPRIM_OBJECTS)
-# LIBIOSTREAM_DEP = $(LIBIOSTREAM_OBJECTS) stdio.list
-# LIBIOSTREAM_USE = $(LIBIOSTREAM_OBJECTS) `cat stdio.list`
-
-# We must not see the libio.h file from this library.
-LIBIO_INCLUDE=
-
-# We have those in libc.a.
-IO_OBJECTS=iogetc.o ioputc.o iofeof.o ioferror.o \
- filedoalloc.o fileops.o genops.o iofclose.o \
- iovsprintf.o iovsscanf.o strops.o iogetline.o
-STDIO_WRAP_OBJECTS=
-OSPRIM_OBJECTS=
-STDIO_OBJECTS=
-
-# We have the rest in /usr/include.
-USER_INCLUDES=PlotFile.h SFile.h builtinbuf.h editbuf.h fstream.h \
- indstream.h iomanip.h iostream.h istream.h ostream.h \
- parsestream.h pfstream.h procbuf.h stdiostream.h stream.h \
- streambuf.h strfile.h strstream.h libio.h
-
-# A bad kludge
-MT_CFLAGS=-D_G_HAVE_MMAP -D_G_STDIO_USES_LIBIO -D_G_HAVE_WEAK_SYMBOL
diff --git a/contrib/libio/config/mn10200.mt b/contrib/libio/config/mn10200.mt
deleted file mode 100644
index 71e7916..0000000
--- a/contrib/libio/config/mn10200.mt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Flags to pass to gen-params when building _G_config.h.
-# For example: G_CONFIG_ARGS = size_t="unsigned long"
-G_CONFIG_ARGS = NO_USE_DTOA=1 USE_INT32_FLAGS=1
diff --git a/contrib/libio/config/mtsafe.mt b/contrib/libio/config/mtsafe.mt
deleted file mode 100644
index 5848851..0000000
--- a/contrib/libio/config/mtsafe.mt
+++ /dev/null
@@ -1,2 +0,0 @@
-# tell we want the mt-safe version
-MT_CFLAGS = -D_IO_MTSAFE_IO
diff --git a/contrib/libio/config/netware.mt b/contrib/libio/config/netware.mt
deleted file mode 100644
index 339a865..0000000
--- a/contrib/libio/config/netware.mt
+++ /dev/null
@@ -1,16 +0,0 @@
-IMPDIR= $(srcdir)/config/netware
-
-PRELUDE= prelude.o
-
-iostream.def: Makefile
- -rm -f iostream.def
- echo "description \"libiostream\"" >> iostream.def
- echo "screenname \"NONE\"" >> iostream.def
- echo "version `echo $(VERSION) | sed 's|\.|,|g'`" >> iostream.def
- echo "export @$(IMPDIR)/iostream.imp" >> iostream.def
-
-iostream.O: $(PRELUDE) $(LIBIOSTREAM_OBJECTS)
- $(CC) -Xlinker -Ur -o $@ $(PRELUDE) $(LIBIOSTREAM_OBJECTS)
-
-iostream.nlm: iostream.def iostream.O $(IMPDIR)/iostream.imp
- $(NLMCONV) -l $(LD) -T iostream.def iostream.O iostream.nlm
diff --git a/contrib/libio/configure.in b/contrib/libio/configure.in
deleted file mode 100644
index ac49429..0000000
--- a/contrib/libio/configure.in
+++ /dev/null
@@ -1,199 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary for a configure script to process the program in
-# this directory. For more information, look at ../configure.
-
-# If the language specific compiler does not exist, but the "gcc" directory
-# does, we do not build anything. Note, $r is set by the top-level Makefile.
-# Note that when we look for the compiler, we search both with and without
-# extension to handle cross and canadian cross builds.
-# Note that if $norecursion is set we're being called from config.status,
-# so don't check for the compiler; we might be doing a make clean.
-compiler_name=cc1plus
-rm -f skip-this-dir
-if test -n "$r" && [ -z "$norecursion" ] ; then
- if test -d "$r"/gcc; then
- if test -f "$r"/gcc/$compiler_name \
- || test -f "$r"/gcc/$compiler_name.exe; then
- true
- else
- echo "rm -f multilib.out" > skip-this-dir
- fi
- fi
-fi
-
-if [ "${srcdir}" = "." ] ; then
- if [ "${with_target_subdir}" != "." ] ; then
- topsrcdir=${with_multisrctop}../..
- else
- topsrcdir=${with_multisrctop}..
- fi
-else
- topsrcdir=${srcdir}/..
-fi
-
-if [ -d ${topsrcdir}/gcc ] ; then
- configdirs="tests dbz stdio testsuite"
-else
- configdirs="tests dbz stdio"
-fi
-srctrigger=libioP.h
-srcname="input/output library"
-package_makefile_frag=Make.pack
-package_makefile_rules_frag=Make.pack.r
-
-# per-host:
-
-# per-target:
-
-echo "# Warning: this fragment is automatically generated" > temp.mt
-frags=
-
-case "${target}" in
- *-hpux*) frags=hpux.mt ;;
- alpha*-*-linux-gnulibc1)
- frags="linux.mt linuxaxp1.mt mtsafe.mt" ;;
- powerpc*-*-linux-gnulibc1)
- frags="linux.mt linuxaxp1.mt mtsafe.mt" ;;
- *-linux-gnulibc1)
- frags=linuxlibc1.mt ;;
- *-linux-gnu) frags="linux.mt mtsafe.mt" ;;
- *-sco3.2v[45]*) frags=sco4.mt ;;
- *-isc*) frags=isc.mt ;;
- *-netware*) frags=netware.mt ;;
- *) frags=${target_cpu}.mt ;;
-esac
-
-case "${enable_shared}" in
- yes) shared=yes ;;
- no) shared=no ;;
- *libio*) shared=yes ;;
- *) shared=no ;;
-esac
-
-if [ "${shared}" = "yes" ]; then
- case "${target}" in
- alpha*-*-linux*) frags="${frags} ../../config/mh-elfalphapic" ;;
- arm*-*-*) frags="${frags} ../../config/mh-armpic" ;;
- hppa*-*-*) frags="${frags} ../../config/mh-papic" ;;
- i[3456]86-*-*) frags="${frags} ../../config/mh-x86pic" ;;
- powerpc*-*-aix*) ;;
- powerpc*-*-*) frags="${frags} ../../config/mh-ppcpic" ;;
- *-*-*) frags="${frags} ../../config/mh-${target_cpu}pic" ;;
- esac
-fi
-
-# Take care of header file lossage.
-case "${target}" in
- alpha*-*-linux-gnulibc1)
- # For some reason stdio-lock.h is not installed on Red Hat systems.
- # Further, libc-lock.h needs to define the pthreads stuff weak, and
- # fails to do this for other than _LIBC. Install our own versions
- # of these files.
- cp ${srcdir}/config/linuxaxp1-libc-lock.h libc-lock.h
- cp ${srcdir}/config/linuxaxp1-stdio-lock.h stdio-lock.h
- ;;
- powerpc*-*-linux-gnulibc1)
- # For some reason stdio-lock.h is not installed on Red Hat systems.
- # Further, libc-lock.h needs to define the pthreads stuff weak, and
- # fails to do this for other than _LIBC. Install our own versions
- # of these files.
- cp ${srcdir}/config/linuxaxp1-libc-lock.h libc-lock.h
- cp ${srcdir}/config/linuxaxp1-stdio-lock.h stdio-lock.h
- ;;
- *-linux-gnu)
- # We have a correct libc-lock.h in glibc 2.1 but not all glibc 2.0.
- # Create a wrapper if necessary.
- (echo "#include <bits/libc-lock.h>" | ${CC-cc} -E -) >/dev/null 2>&1 ||
- {
- echo "#include_next <libc-lock.h>" > libc-lock.h
- echo 'asm (".weak _pthread_cleanup_pop_restore");' >> libc-lock.h
- echo 'asm (".weak _pthread_cleanup_push_defer");' >> libc-lock.h
-
- }
- ;;
-esac
-
-for frag in ${frags}; do
- case ${frag} in
- ../* )
- if [ ${srcdir} = . ]; then
- [ -n "${with_target_subdir}" ] && frag=../${frag}
- [ -n "${with_multisrctop}" ] && frag=${with_multisrctop}${frag}
- fi
- ;;
- esac
- frag=${srcdir}/config/$frag
- if [ -f ${frag} ]; then
- echo "Appending ${frag} to target-mkfrag"
- echo "# Following fragment copied from ${frag}" >> temp.mt
- cat ${frag} >> temp.mt
- fi
-done
-
-target_makefile_frag=target-mkfrag
-${moveifchange} temp.mt target-mkfrag
-
-LIBDIR=yes
-TO_TOPDIR=../
-ALL='$(_G_CONFIG_H) libio.a libiostream.a iostream.list'
-case "${target}" in
- *-*-cygwin*)
- XCINCLUDES='-I. -I$(srcdir) -I$(srcdir)/../winsup/include'
- XCXXINCLUDES='-I. -I$(srcdir) -I$(srcdir)/../winsup/include'
- ;;
- *)
- XCINCLUDES='-I. -I$(srcdir)'
- XCXXINCLUDES='-I. -I$(srcdir)'
- ;;
-esac
-MOSTLYCLEAN='*.o pic stamp-picdir core iostream.list'
-DISTCLEAN='config.status Makefile *~ Make.pack target-mkfrag multilib.out'
-CLEAN='_G_config.h *.a'
-INFO_FILES=iostream
-if [ -n "${with_cross_host}" -a -d ${topsrcdir}/gcc ]; then
- CHECK_SUBDIRS=testsuite
-fi
-(. ${srcdir}/config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag}
-
-# post-target:
-
-# If cross-compiling, we install in $(tooldir)/lib or in $(libsubdir)
-# depending on --enable-version-specific-runtime-libs.
-if [ -n "${with_cross_host}" ] ; then
- rm -f Makefile.tem
- sed \
- -e 's|\(^[ ]*INSTALLDIR[ ]*=[ ]*\)\$(libdir)|\1$(tooldir)/lib|' \
- Makefile >Makefile.tem
- mv -f Makefile.tem Makefile
-fi
-
-. ${topsrcdir}/config-ml.in
-
-gxx_include_dir=
-# Specify the g++ header file directory
-# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
-if test "${with_gxx_include_dir+set}" = set; then
- withval="$with_gxx_include_dir"
- case "${withval}" in
- yes)
- echo "configure.in: error: bad value ${withval} given for g++ include directory" 1>&2
- exit 1
- ;;
- no) ;;
- *) gxx_include_dir=$with_gxx_include_dir ;;
- esac
-fi
-
-if test x${gxx_include_dir} = x; then
- if test x${enable_version_specific_runtime_libs} = xyes; then
- gxx_include_dir='${libsubdir}/include/g++'
- else
- . ${topsrcdir}/config.if
- gxx_include_dir='${prefix}/include/g++'-${libstdcxx_interface}
- fi
-fi
-
-rm -f Makefile.tem
-sed -e "s%^gxx_include_dir[ ]*=.*$%gxx_include_dir=${gxx_include_dir}%" \
- Makefile >Makefile.tem
-mv -f Makefile.tem Makefile
diff --git a/contrib/libio/dbz/Makefile.in b/contrib/libio/dbz/Makefile.in
deleted file mode 100644
index 0fd9564..0000000
--- a/contrib/libio/dbz/Makefile.in
+++ /dev/null
@@ -1,218 +0,0 @@
-srcdir = .
-CFLAGS = -g
-C_FLAGS = $(CFLAGS) -I$(srcdir) -I.. -I$(srcdir)/.. -DDBZ_FINISH='_IO_flush_all()'
-CC = `if [ -f ../../../gcc/gcc ] ; \
- then echo ../../../gcc/gcc -B../../../gcc/ ; \
- else echo gcc ; fi`
-LIBIO = ../libio.a ../../libiberty/libiberty.a
-LIBS = $(LIBIO)
-# LIBS = ../libcnews.a
-DBM =
-RFC = -DHAVERFCIZE
-CASE = case.o
-DEBUG = -DDBZDEBUG
-LINTFLAGS = -h $(DEBUG) $(RFC) -I$(srcdir)
-LDFLAGS =
-# =()<NEWSBIN = @<NEWSBIN>@>()=
-NEWSBIN = /usr/lib/newsbin
-# workaround for System V make bug
-SHELL = /bin/sh
-
-# database sizes for performance tests, regression, and regression prime-find
-TSIZE=12007
-RSIZE=4019
-RPSIZE=2679
-
-#### host and target dependent Makefile fragments come in here.
-##
-
-# history files for regression and performance tests
-RHIST=hist3.3
-R2HIST=hist10
-THIST=hist13
-
-#all: dbz
-all:
-install:
-install-info:
-info:
-
-check: r
- $(MAKE) rclean
-
-bininstall: dbz
- cp dbz $(NEWSBIN)
-
-cmp: dbz
- cmp dbz $(NEWSBIN)/dbz
-
-newsinstall:
- : nothing
-
-u: dbz.o
- ar ruv ../libcnews.a dbz.o
- cmp dbz.h ../h/dbz.h
-
-t: tdbz fake
-
-lint:
- lint $(LINTFLAGS) dbzmain.c dbz.c
-
-.c.o:
- $(CC) $(C_FLAGS) -c $<
-
-rdbz.o: rdbz.c
- $(CC) $(C_FLAGS) $(DEBUG) -DDEFSIZE=$(RSIZE) -c rdbz.c
-
-rdbzmain.o: rdbzmain.c
- $(CC) $(C_FLAGS) $(RFC) -c rdbzmain.c
-
-tdbz.o: $(srcdir)/dbz.c
- cp $(srcdir)/dbz.c tdbz.c
- $(CC) $(C_FLAGS) -DDEFSIZE=$(TSIZE) -c tdbz.c
- rm tdbz.c
-
-dbz: dbzmain.o $(CASE)
- $(CC) $(LDFLAGS) dbzmain.o $(CASE) $(PRE) $(DBM) $(LIBS) $(POST) -o $@
-
-tdbz: dbzmain.o tdbz.o $(CASE)
- $(CC) $(LDFLAGS) dbzmain.o tdbz.o $(CASE) $(PRE) $(LIBS) $(POST) -o $@
-
-rdbz: rdbzmain.o rdbz.o $(CASE)
- $(CC) $(LDFLAGS) rdbzmain.o rdbz.o $(CASE) $(PRE) $(LIBS) $(POST) -o $@
-
-fake: fake.o random.o
- $(CC) $(LDFLAGS) fake.o random.o $(PRE) $(LIBS) $(POST) -o $@
-
-byteflip: byteflip.o
- $(CC) $(LDFLAGS) byteflip.o $(PRE) $(LIBS) $(POST) -o $@
-
-hist10: fake
- ./fake -t -e 75 10000 >$@
-
-hist3.3: fake
- ./fake -t -e 75 3300 >$@
-
-hist13: fake
- ./fake -t -e 75 13000 >$@
-
-r: $(srcdir)/getmap $(srcdir)/revbytes $(srcdir)/altbytes stamp-r8
- : success!
-
-stamp-r0:
- : 'WARNING: creates about 2MB of debris; do "make rclean" afterward'
- rm -f dbase dbase[23] dbase.* dbase[23].*
- test ! -d xx || rmdir xx
- @touch stamp-r0
-
-stamp-r1: $(RHIST) $(R2HIST) stamp-r0
- : crude check of synthetic history file
- ( sed 25q $(RHIST) ; tail -25 $(RHIST) ) >histjunk
- cmp histjunk $(srcdir)/firstlast25
- rm histjunk
- @touch stamp-r1
-
-r2a: rdbz stamp-r1
- : basic tests, exercising as many options as possible
- cp $(RHIST) dbase
- mkdir xx
- chmod -w xx
- ./rdbz -E 1000 -0 -M -i -S -u -U -C xx dbase
- rmdir xx
- sed '/> 0/d' $(RHIST) >dbase.used
- test "`cat dbase.used | wc -l`" -eq "`sed -n '2s/ .*//p' dbase.dir`" ;
-
-stamp-r2: r2a
- cp $(RHIST) dbase2
- ./rdbz -E 1000 -0 -p $(RPSIZE) -t ' ' dbase2
- cmp $(RHIST) dbase
- cmp dbase dbase2
- cmp dbase.dir dbase2.dir
- cmp dbase.pag dbase2.pag
- ./rdbz -E 1000 -0 -c dbase
- ./rdbz -E 1000 -0 -c -i -q -M -U dbase
- @touch stamp-r2
-
-stamp-r3: stamp-r2
- : build a database and then add to it
- sed 1000q $(RHIST) >dbase2
- sed 1,1000d $(RHIST) >dbase2.add
- ./rdbz -E 1000 -0 dbase2
- ./rdbz -E 1000 -0 -a dbase2 dbase2.add
- cmp dbase dbase2
- cmp dbase.dir dbase2.dir
- cmp dbase.pag dbase2.pag
- @touch stamp-r3
-
-stamp-r4: stamp-r3
- : build based on existing one, test extraction and readonly files
- ./rdbz -E 1000 -0 -f dbase dbase2
- test "`cat dbase.used | wc -l`" -eq "`awk 'NR==2{print $$1}' dbase2.dir`" ;
- test "`cat dbase.used | wc -l`" -eq "`awk 'NR==2{print $$2}' dbase2.dir`" ;
- chmod -w dbase2.dir dbase2.pag
- ./rdbz -E 1000 -x dbase2 dbase >dbase.temp
- cmp dbase.used dbase.temp
- @touch stamp-r4
-
-stamp-r5: stamp-r4
- : try some small case perversions
- sed 's/\(@[^ ]*\)A/\1a/' dbase >dbase.ick
- ./rdbz -E 1000 -x dbase2 dbase.ick >dbase.temp
- cmp dbase.used dbase.temp
- sed -n 's/A\([^ ]*@\)/a\1/p' dbase >dbase.ick
- ./rdbz -x dbase2 dbase.ick >dbase.temp
- test ! -s dbase.temp ;
- rm -f dbase2.dir dbase2.pag
- @touch stamp-r5
-
-stamp-r6: stamp-r5
- : try it without tags, case-insensitive, with case perversions
- ./rdbz -E 1000 -0 -p '0 b 1' dbase2
- tr 'ABCDEFGHIJKLMnopqrstuvwxyz' 'abcdefghijklmNOPQRSTUVWXYZ' <dbase2 >dbase.ick
- ./rdbz -E 1000 -x dbase2 dbase.ick >dbase.temp
- cmp dbase.used dbase.temp
- rm -f dbase.temp dbase.ick
- @touch stamp-r6
-
-stamp-r7: byteflip stamp-r6
- : test various perversions of byte ordering
- awk -f $(srcdir)/revbytes dbase.dir >dbase2.dir
- ./byteflip `$(srcdir)/getmap dbase.dir` `$(srcdir)/getmap dbase2.dir` <dbase.pag >dbase2.pag
- cp dbase dbase2
- ./rdbz -E 1000 -0 -c dbase2
- awk -f $(srcdir)/altbytes dbase.dir >dbase2.dir
- dd conv=swab <dbase.pag >dbase2.pag
- ./rdbz -E 1000 -0 -c dbase2
- cp dbase2 dbase3
- ./rdbz -E 1000 -0 -f dbase2 dbase3
- ./rdbz -E 1000 -0 -c dbase3
- test " `$(srcdir)/getmap dbase2.dir`" = " `$(srcdir)/getmap dbase3.dir`" ;
- @touch stamp-r7
-
-stamp-r8: stamp-r7
- : test massive overflow, throw in case sensitivity and tag mask
- cp $(R2HIST) dbase
- ./rdbz -E 1000 -0 -p '0 0 7ffc0000' dbase
- ./rdbz -E 1000 -0 -cq dbase
- sed 100q dbase | egrep '[aA].* ' | tr aA Aa >dbase.ick
- ./rdbz -x dbase dbase.ick >dbase.temp
- test ! -s dbase.temp ;
- @touch stamp-r8
-
-rclean:
- rm -f dbase dbase[23] dbase.* dbase[23].* fake fake.o random.o
- rm -f rdbz rdbz.o rdbzmain.o $(RHIST) $(R2HIST) byteflip byteflip.o
- rm -f histjunk core stamp-r? *~
- test ! -d xx || rmdir xx
-
-mostlyclean: rclean
- rm -f *.o [a-z]dbz [a-z][a-z]dbz junk* PostScript.out
- rm -f hist* dbase* *.bak mon.out gmon.out core dbm.h
-
-clean: mostlyclean
- rm -f dbz
-
-distclean: clean
- rm -rf Makefile config.status rdbz.c rdbzmain.c
-
-maintainer-clean realclean: distclean
diff --git a/contrib/libio/dbz/README b/contrib/libio/dbz/README
deleted file mode 100644
index e7fa876..0000000
--- a/contrib/libio/dbz/README
+++ /dev/null
@@ -1,25 +0,0 @@
-The dbz package was "liberated" from C News.
-It is included with the GNU libio because it provides
-a fairly good work-out for a stdio implementation.
-The Makefile.in, configure.in, and stdio.h have been
-set up to test libio.
-
-------
-
-This is the new, improved, lemon-freshened :-) dbz.
-
-Just "make" will get you dbz.o and the dbz program. "make r" runs an
-extensive set of regression tests; most of the mysterious oddments lying
-around here are to do with that. "make rclean" cleans up after "make r".
-
-You probably want to inspect the #ifdef list early in dbz.c before
-compiling, although the defaults should work all right on most systems.
-
-If you are not building this as part of C News, you will need to change
-the -I option in FLAGS in the Makefile to "-I.", and delete the DBMLIBS
-and RFC lines entirely. That will break some of the regression tests;
-at some point I'll fix this.
-
-If you are using this independently from C News, you probably still want
-to look through ../notebook/problems, as some of the portability problems
-described in there can affect dbz.
diff --git a/contrib/libio/dbz/altbytes b/contrib/libio/dbz/altbytes
deleted file mode 100644
index 26cc9fb..0000000
--- a/contrib/libio/dbz/altbytes
+++ /dev/null
@@ -1,7 +0,0 @@
-NR == 1 {
- printf "%s %s %s %s %s %s %s %s %s", $1, $2, $3, $4, $5, $6, $7, $8, $9
- for (i = 10; i <= NF; i += 2)
- printf " %s %s", $(i+1), $i
- printf "\n"
-}
-NR > 1 { print }
diff --git a/contrib/libio/dbz/byteflip.c b/contrib/libio/dbz/byteflip.c
deleted file mode 100644
index d54c659..0000000
--- a/contrib/libio/dbz/byteflip.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <stdio.h>
-
-#define MAXWORD 32
-
-int
-main(argc, argv)
-int argc;
-char *argv[];
-{
- register int len;
- int inmap[MAXWORD];
- int outmap[MAXWORD];
- char in[MAXWORD];
- char out[MAXWORD];
- register int i;
- register int a;
-
- a = 1;
- len = atoi(argv[a++]);
- if (len > MAXWORD)
- abort(); /* kind of drastic... */
- for (i = 0; i < len; i++)
- inmap[i] = atoi(argv[a++]);
- if (atoi(argv[a++]) != len)
- abort();
- for (i = 0; i < len; i++)
- outmap[i] = atoi(argv[a++]);
-
- while (fread(in, 1, len, stdin) == len) {
- for (i = 0; i < len; i++)
- out[outmap[i]] = in[inmap[i]];
- fwrite(out, 1, len, stdout);
- }
-#ifdef DBZ_FINISH
- DBZ_FINISH;
-#endif
- exit(0);
-}
diff --git a/contrib/libio/dbz/case.c b/contrib/libio/dbz/case.c
deleted file mode 100644
index 87b741f..0000000
--- a/contrib/libio/dbz/case.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * case-mapping stuff
- *
- * We exploit the fact that we are dealing only with headers here, and
- * headers are limited to the ASCII characters by RFC822. It is barely
- * possible that we might be dealing with a translation into another
- * character set, but in particular it's very unlikely for a header
- * character to be outside -128..255.
- *
- * Life would be a whole lot simpler if tolower() could safely and portably
- * be applied to any char.
- */
-#include <stdio.h>
-#include "string.h"
-#include "case.h"
-
-/* note that case.h knows the value of OFFSET */
-#define OFFSET 128 /* avoid trouble with negative chars */
-#define MAPSIZE (256+OFFSET)
-char casemap[MAPSIZE]; /* relies on init to '\0' */
-static int primed = 0; /* has casemap been set up? */
-
-/*
- - prime - set up case-mapping stuff
- */
-static void
-prime()
-{
- register char *lp;
- register char *up;
- register int c;
- register int i;
- static char lower[] = "abcdefghijklmnopqrstuvwxyz";
- static char upper[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-
- for (lp = lower, up = upper; *lp != '\0'; lp++, up++) {
- c = *lp;
- casemap[c+OFFSET] = c;
- casemap[*up+OFFSET] = c;
- }
- for (i = 0; i < MAPSIZE; i++)
- if (casemap[i] == '\0')
- casemap[i] = (char)(i-OFFSET);
- primed = 1;
-}
-
-/*
- - cistrncmp - case-independent strncmp
- */
-int /* < == > 0 */
-cistrncmp(s1, s2, len)
-char *s1;
-char *s2;
-int len;
-{
- register char *p1;
- register char *p2;
- register int n;
-
- if (!primed)
- prime();
-
- p1 = s1;
- p2 = s2;
- n = len;
- while (--n >= 0 && *p1 != '\0' && TOLOW(*p1) == TOLOW(*p2)) {
- p1++;
- p2++;
- }
- if (n < 0)
- return(0);
-
- /*
- * The following case analysis is necessary so that characters
- * which look negative collate low against normal characters but
- * high against the end-of-string NUL.
- */
- if (*p1 == '\0' && *p2 == '\0')
- return(0);
- else if (*p1 == '\0')
- return(-1);
- else if (*p2 == '\0')
- return(1);
- else
- return(TOLOW(*p1) - TOLOW(*p2));
-}
-
-/*
- - rfc822ize - do the bizarre case conversion needed for rfc822 message-ids
- *
- * Actually, this is not quite complete. Absolute, total, full RFC822
- * compliance requires a horrible parsing job, because of the arcane
- * quoting conventions -- abc"def"ghi is not equivalent to abc"DEF"ghi,
- * for example. There are three or four things that might occur in the
- * domain part of a message-id that are case-sensitive. They don't seem
- * to ever occur in real news, thank Cthulhu. (What? You were expecting
- * a merciful and forgiving deity to be invoked in connection with RFC822?
- * Forget it; none of them would come near it.)
- */
-char * /* returns the argument */
-rfc822ize(s)
-char *s;
-{
- register char *p;
- static char post[] = "postmaster";
- static int postlen = sizeof(post)-1;
-
- if (!primed)
- prime();
-
- p = strrchr(s, '@');
- if (p == NULL) /* no local/domain split */
- p = ""; /* assume all local */
- else if (p - (s+1) == postlen && CISTREQN(s+1, post, postlen)) {
- /* crazy special case -- "postmaster" is case-insensitive */
- p = s;
- }
-#ifdef NONSTANDARD
-#ifdef RFCVIOLATION
-#ifdef B_2_11_MISTAKE
- p = s; /* all case-insensitive */
-#endif
-#endif
-#endif
- for (; *p != '\0'; p++)
- *p = TOLOW(*p);
-
- return(s);
-}
diff --git a/contrib/libio/dbz/case.h b/contrib/libio/dbz/case.h
deleted file mode 100644
index d5ef696..0000000
--- a/contrib/libio/dbz/case.h
+++ /dev/null
@@ -1,12 +0,0 @@
-extern int cistrncmp();
-extern char *rfc822ize();
-
-extern char casemap[];
-
-/* must call cistrncmp before invoking TOLOW... */
-#define TOLOW(c) (casemap[(c)+128]) /* see case.c for why 128 */
-
-/* ...but the use of it in CISTREQN is safe without the preliminary call (!) */
-/* CISTREQN is an optimised case-insensitive strncmp(a,b,n)==0; n > 0 */
-#define CISTREQN(a, b, n) \
- (TOLOW((a)[0]) == TOLOW((b)[0]) && cistrncmp(a, b, n) == 0)
diff --git a/contrib/libio/dbz/configure.in b/contrib/libio/dbz/configure.in
deleted file mode 100644
index 4cb9b57..0000000
--- a/contrib/libio/dbz/configure.in
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary for a configure script to process the program in
-# this directory. For more information, look at ../configure.
-
-configdirs=
-srctrigger=dbzmain.c
-srcname="libio dbz test"
-
-# per-host:
-
-# per-target:
-
-files="dbz.c dbzmain.c"
-links="rdbz.c rdbzmain.c"
-
-# post-target:
-
diff --git a/contrib/libio/dbz/dbz.1 b/contrib/libio/dbz/dbz.1
deleted file mode 100644
index d2fff17..0000000
--- a/contrib/libio/dbz/dbz.1
+++ /dev/null
@@ -1,221 +0,0 @@
-.TH DBZ 1 "11 Feb 1992"
-.BY "C News"
-.SH NAME
-dbz \- operate on dbz databases of text
-.SH SYNOPSIS
-.B dbz
-[
-.BR \- { axmc }
-] [
-.B \-t
-c
-] [
-.B \-l
-length
-] [
-.BR \- { qiue }
-] [
-.B \-f
-old
-] [
-.B \-p
-parms
-] database file ...
-.SH DESCRIPTION
-.I Dbz
-is a shell-level interface to the
-.IR dbz (3z)
-database routines for indexed access to a text file.
-.PP
-The
-.I database
-file must be a text file,
-one line per database record,
-with the key the first field on the line.
-The
-.B \-t
-option sets the field-separator character; the default is tab.
-Setting the separator character to NUL (with
-.BR "\-t\ ''" )
-makes the whole line the key.
-Lines must not exceed 1023 bytes in length including the newline;
-this limit can be increased with the
-.B \-l
-option.
-The limitations and restrictions of
-.IR dbz (3z)
-must also be observed;
-in particular, it remains the user's responsibility to ensure that
-no attempt is made to store two entries (whether identical or not)
-with the same key.
-.PP
-In the absence of options,
-.I dbz
-creates a
-.IR dbz (3z)
-index for the database;
-the index comprises files
-.IB database .pag
-and
-.IB database .dir
-in the same directory.
-Any previous index is silently overwritten.
-The
-.BR \-a ,
-.BR \-x ,
-.BR \-m ,
-and
-.B \-c
-options specify other operations.
-.PP
-With
-.BR \-a ,
-.I dbz
-appends lines from the
-.IR file (s)
-(standard input if none)
-to the database, updating both the
-text file and the indexes.
-.PP
-With
-.BR \-x ,
-.I dbz
-reads keys from the
-.IR file (s)
-(standard input if none)
-and prints (on standard output) the corresponding lines, if any,
-from the database.
-The input is in the form of database lines, although only the keys are
-significant.
-The
-.B \-q
-option makes
-.B \-x
-print the input lines whose keys are found instead of the database
-lines; this is somewhat faster.
-.PP
-With
-.BR \-m ,
-operation is the same as for
-.B \-x
-except that the keys which are \fInot\fR present in the database are printed.
-.PP
-With
-.BR \-c ,
-.I dbz
-checks the database for internal consistency.
-The
-.B \-q
-option causes this check to be done more quickly but less thoroughly
-(each key is looked up in the index, but no check is made to be sure
-that the index entry points to the right place).
-.PP
-The
-.B \-i
-option suppresses the use of
-.IR dbz (3z)'s
-.I incore
-facility.
-This makes accesses slower, but keeps the files current
-during updating
-and reduces
-startup/shutdown overhead.
-.PP
-Normally,
-.I dbz
-checks whether a key is already in the database before adding it.
-The
-.B \-u
-option suppresses this check, speeding things up at the expense of safety.
-.PP
-A new index is normally created with default size,
-case mapping, and tagging.
-The default size is right for 90-100,000 records.
-The default case mapping is right for RFC822 message-ids.
-See
-.IR dbz (3z)
-for what tagging is about.
-(Note, these defaults can be changed when
-.IR dbz (3z)
-is installed.)
-.PP
-If the
-.B \-f
-option is given,
-size, case mapping, and tagging
-are instead initialized based on the
-database
-.IR old .
-This is mostly useful when
-creating a new generation of an existing database.
-(See the description of
-.I dbzagain
-in
-.IR dbz (3z)
-for details.)
-.PP
-If the
-.B \-p
-option is given, the
-.I parms
-string specifies the size, case mapping, and tagging.
-If
-.I parms
-is a single decimal number,
-that is taken as the expected number of records
-in the index, with case mapping and tagging defaulted.
-Alternatively,
-.I parms
-can be three fields\(ema decimal number, a case-mapping code character, and a
-hexadecimal tag mask\(emseparated by white space.
-The decimal number is, again, the expected number of records;
-0 means ``use the default''.
-See
-.IR dbz (3z)
-for possible choices of case-mapping code,
-but in particular,
-.B 0
-means ``no case mapping''.
-See
-.IR dbz (3z)
-for details on tag masks;
-0 means ``use the default''.
-.PP
-If the
-.B \-e
-option is given, the decimal number in
-.B \-p
-is taken to be the exact table size, not the expected number of records,
-and invocation of
-.I dbzsize
-(see
-.IR dbz (3z))
-to predict a good size for that number of records is suppressed.
-.PP
-The
-.B \&.pag
-file is normally about 6 bytes per record (based on the estimate given to
-.B \-p
-or the previous history of the
-.B \-f
-database).
-The
-.B \&.dir
-file is tiny.
-.SH SEE ALSO
-dbz(3z)
-.SH HISTORY
-Written at U of Toronto by Henry Spencer, for the C News project.
-See
-.IR dbz (3z)
-for the history of the underlying database routines.
-.SH BUGS
-There are a number of undocumented options with obscure effects,
-meant for debugging and regression testing of
-.IR dbz (3z).
-.PP
-Permissions for the index files probably ought to be taken from those
-of the base file.
-.PP
-The line-length limit is a blemish, alleviated only slightly by
-.BR \-l .
diff --git a/contrib/libio/dbz/dbz.3z b/contrib/libio/dbz/dbz.3z
deleted file mode 100644
index 6df2531..0000000
--- a/contrib/libio/dbz/dbz.3z
+++ /dev/null
@@ -1,547 +0,0 @@
-.TH DBZ 3Z "3 Feb 1991"
-.BY "C News"
-.SH NAME
-dbminit, fetch, store, dbmclose \- somewhat dbm-compatible database routines
-.br
-dbzfresh, dbzagain, dbzfetch, dbzstore \- database routines
-.br
-dbzsync, dbzsize, dbzincore, dbzcancel, dbzdebug \- database routines
-.SH SYNOPSIS
-.nf
-.B #include <dbz.h>
-.PP
-.B dbminit(base)
-.B char *base;
-.PP
-.B datum
-.B fetch(key)
-.B datum key;
-.PP
-.B store(key, value)
-.B datum key;
-.B datum value;
-.PP
-.B dbmclose()
-.PP
-.B dbzfresh(base, size, fieldsep, cmap, tagmask)
-.B char *base;
-.B long size;
-.B int fieldsep;
-.B int cmap;
-.B long tagmask;
-.PP
-.B dbzagain(base, oldbase)
-.B char *base;
-.B char *oldbase;
-.PP
-.B datum
-.B dbzfetch(key)
-.B datum key;
-.PP
-.B dbzstore(key, value)
-.B datum key;
-.B datum value;
-.PP
-.B dbzsync()
-.PP
-.B long
-.B dbzsize(nentries)
-.B long nentries;
-.PP
-.B dbzincore(newvalue)
-.PP
-.B dbzcancel()
-.PP
-.B dbzdebug(newvalue)
-.SH DESCRIPTION
-These functions provide an indexing system for rapid random access to a
-text file (the
-.I base
-.IR file ).
-Subject to certain constraints, they are call-compatible with
-.IR dbm (3),
-although they also provide some extensions.
-(Note that they are
-.I not
-file-compatible with
-.I dbm
-or any variant thereof.)
-.PP
-In principle,
-.I dbz
-stores key-value pairs, where both key and value are arbitrary sequences
-of bytes, specified to the functions by
-values of type
-.IR datum ,
-typedefed in the header file to be a structure with members
-.I dptr
-(a value of type
-.I char *
-pointing to the bytes)
-and
-.I dsize
-(a value of type
-.I int
-indicating how long the byte sequence is).
-.PP
-In practice,
-.I dbz
-is more restricted than
-.IR dbm .
-A
-.I dbz
-database
-must be an index into a base file,
-with the database
-.IR value s
-being
-.IR fseek (3)
-offsets into the base file.
-Each such
-.I value
-must ``point to'' a place in the base file where the corresponding
-.I key
-sequence is found.
-A key can be no longer than
-.SM DBZMAXKEY
-(a constant defined in the header file) bytes.
-No key can be an initial subsequence of another,
-which in most applications requires that keys be
-either bracketed or terminated in some way (see the
-discussion of the
-.I fieldsep
-parameter of
-.IR dbzfresh ,
-below,
-for a fine point on terminators).
-.PP
-.I Dbminit
-opens a database,
-an index into the base file
-.IR base ,
-consisting of files
-.IB base .dir
-and
-.IB base .pag
-which must already exist.
-(If the database is new, they should be zero-length files.)
-Subsequent accesses go to that database until
-.I dbmclose
-is called to close the database.
-The base file need not exist at the time of the
-.IR dbminit ,
-but it must exist before accesses are attempted.
-.PP
-.I Fetch
-searches the database for the specified
-.IR key ,
-returning the corresponding
-.IR value
-if any.
-.I Store
-stores the
-.IR key - value
-pair in the database.
-.I Store
-will fail unless the database files are writeable.
-See below for a complication arising from case mapping.
-.PP
-.I Dbzfresh
-is a variant of
-.I dbminit
-for creating a new database with more control over details.
-Unlike for
-.IR dbminit ,
-the database files need not exist:
-they will be created if necessary,
-and truncated in any case.
-.PP
-.IR Dbzfresh 's
-.I size
-parameter specifies the size of the first hash table within the database,
-in key-value pairs.
-Performance will be best if
-.I size
-is a prime number and
-the number of key-value pairs stored in the database does not exceed
-about 2/3 of
-.IR size .
-(The
-.I dbzsize
-function, given the expected number of key-value pairs,
-will suggest a database size that meets these criteria.)
-Assuming that an
-.I fseek
-offset is 4 bytes,
-the
-.B .pag
-file will be
-.RI 4* size
-bytes
-(the
-.B .dir
-file is tiny and roughly constant in size)
-until
-the number of key-value pairs exceeds about 80% of
-.IR size .
-(Nothing awful will happen if the database grows beyond 100% of
-.IR size ,
-but accesses will slow down somewhat and the
-.B .pag
-file will grow somewhat.)
-.PP
-.IR Dbzfresh 's
-.I fieldsep
-parameter specifies the field separator in the base file.
-If this is not
-NUL (0), and the last character of a
-.I key
-argument is NUL, that NUL compares equal to either a NUL or a
-.I fieldsep
-in the base file.
-This permits use of NUL to terminate key strings without requiring that
-NULs appear in the base file.
-The
-.I fieldsep
-of a database created with
-.I dbminit
-is the horizontal-tab character.
-.PP
-For use in news systems, various forms of case mapping (e.g. uppercase to
-lowercase) in keys are available.
-The
-.I cmap
-parameter to
-.I dbzfresh
-is a single character specifying which of several mapping algorithms to use.
-Available algorithms are:
-.RS
-.TP
-.B 0
-case-sensitive: no case mapping
-.TP
-.B B
-same as
-.B 0
-.TP
-.B NUL
-same as
-.B 0
-.TP
-.B =
-case-insensitive: uppercase and lowercase equivalent
-.TP
-.B b
-same as
-.B =
-.TP
-.B C
-RFC822 message-ID rules, case-sensitive before `@' (with certain exceptions)
-and case-insensitive after
-.TP
-.B ?
-whatever the local default is, normally
-.B C
-.RE
-.PP
-Mapping algorithm
-.B 0
-(no mapping) is faster than the others and is overwhelmingly the correct
-choice for most applications.
-Unless compatibility constraints interfere, it is more efficient to pre-map
-the keys, storing mapped keys in the base file, than to have
-.I dbz
-do the mapping on every search.
-.PP
-For historical reasons,
-.I fetch
-and
-.I store
-expect their
-.I key
-arguments to be pre-mapped, but expect unmapped keys in the base file.
-.I Dbzfetch
-and
-.I dbzstore
-do the same jobs but handle all case mapping internally,
-so the customer need not worry about it.
-.PP
-.I Dbz
-stores only the database
-.IR value s
-in its files, relying on reference to the base file to confirm a hit on a key.
-References to the base file can be minimized, greatly speeding up searches,
-if a little bit of information about the keys can be stored in the
-.I dbz
-files.
-This is ``free'' if there are some unused bits in an
-.I fseek
-offset,
-so that the offset can be
-.I tagged
-with some information about the key.
-The
-.I tagmask
-parameter of
-.I dbzfresh
-allows specifying the location of unused bits.
-.I Tagmask
-should be a mask with
-one group of
-contiguous
-.B 1
-bits.
-The bits in the mask should
-be unused (0) in
-.I most
-offsets.
-The bit immediately above the mask (the
-.I flag
-bit) should be unused (0) in
-.I all
-offsets;
-.I (dbz)store
-will reject attempts to store a key-value pair in which the
-.I value
-has the flag bit on.
-Apart from this restriction, tagging is invisible to the user.
-As a special case, a
-.I tagmask
-of 1 means ``no tagging'', for use with enormous base files or
-on systems with unusual offset representations.
-.PP
-A
-.I size
-of 0
-given to
-.I dbzfresh
-is synonymous with the local default;
-the normal default is suitable for tables of 90-100,000
-key-value pairs.
-A
-.I cmap
-of 0 (NUL) is synonymous with the character
-.BR 0 ,
-signifying no case mapping
-(note that the character
-.B ?
-specifies the local default mapping,
-normally
-.BR C ).
-A
-.I tagmask
-of 0 is synonymous with the local default tag mask,
-normally 0x7f000000 (specifying the top bit in a 32-bit offset
-as the flag bit, and the next 7 bits as the mask,
-which is suitable for base files up to circa 24MB).
-Calling
-.I dbminit(name)
-with the database files empty is equivalent to calling
-.IR dbzfresh(name,0,'\et','?',0) .
-.PP
-When databases are regenerated periodically, as in news,
-it is simplest to pick the parameters for a new database based on the old one.
-This also permits some memory of past sizes of the old database, so that
-a new database size can be chosen to cover expected fluctuations.
-.I Dbzagain
-is a variant of
-.I dbminit
-for creating a new database as a new generation of an old database.
-The database files for
-.I oldbase
-must exist.
-.I Dbzagain
-is equivalent to calling
-.I dbzfresh
-with the same field separator, case mapping, and tag mask as the old database,
-and a
-.I size
-equal to the result of applying
-.I dbzsize
-to the largest number of entries in the
-.I oldbase
-database and its previous 10 generations.
-.PP
-When many accesses are being done by the same program,
-.I dbz
-is massively faster if its first hash table is in memory.
-If an internal flag is 1,
-an attempt is made to read the table in when
-the database is opened, and
-.I dbmclose
-writes it out to disk again (if it was read successfully and
-has been modified).
-.I Dbzincore
-sets the flag to
-.I newvalue
-(which should be 0 or 1)
-and returns the previous value;
-this does not affect the status of a database that has already been opened.
-The default is 0.
-The attempt to read the table in may fail due to memory shortage;
-in this case
-.I dbz
-quietly falls back on its default behavior.
-.IR Store s
-to an in-memory database are not (in general) written out to the file
-until
-.IR dbmclose
-or
-.IR dbzsync ,
-so if robustness in the presence of crashes
-or concurrent accesses
-is crucial, in-memory databases
-should probably be avoided.
-.PP
-.I Dbzsync
-causes all buffers etc. to be flushed out to the files.
-It is typically used as a precaution against crashes or concurrent accesses
-when a
-.IR dbz -using
-process will be running for a long time.
-It is a somewhat expensive operation,
-especially
-for an in-memory database.
-.PP
-.I Dbzcancel
-cancels any pending writes from buffers.
-This is typically useful only for in-core databases, since writes are
-otherwise done immediately.
-Its main purpose is to let a child process, in the wake of a
-.IR fork ,
-do a
-.I dbmclose
-without writing its parent's data to disk.
-.PP
-If
-.I dbz
-has been compiled with debugging facilities available (which makes it
-bigger and a bit slower),
-.I dbzdebug
-alters the value (and returns the previous value) of an internal flag
-which (when 1; default is 0) causes
-verbose and cryptic debugging output on standard output.
-.PP
-Concurrent reading of databases is fairly safe,
-but there is no (inter)locking,
-so concurrent updating is not.
-.PP
-The database files include a record of the byte order of the processor
-creating the database, and accesses by processors with different byte
-order will work, although they will be slightly slower.
-Byte order is preserved by
-.IR dbzagain .
-However,
-agreement on the size and internal structure of an
-.I fseek
-offset is necessary, as is consensus on
-the character set.
-.PP
-An open database occupies three
-.I stdio
-streams and their corresponding file descriptors;
-a fourth is needed for an in-memory database.
-Memory consumption is negligible (except for
-.I stdio
-buffers) except for in-memory databases.
-.SH SEE ALSO
-dbz(1), dbm(3)
-.SH DIAGNOSTICS
-Functions returning
-.I int
-values return 0 for success, \-1 for failure.
-Functions returning
-.I datum
-values return a value with
-.I dptr
-set to NULL for failure.
-.I Dbminit
-attempts to have
-.I errno
-set plausibly on return, but otherwise this is not guaranteed.
-An
-.I errno
-of
-.B EDOM
-from
-.I dbminit
-indicates that the database did not appear to be in
-.I dbz
-format.
-.SH HISTORY
-The original
-.I dbz
-was written by
-Jon Zeeff (zeeff@b-tech.ann-arbor.mi.us).
-Later contributions by David Butler and Mark Moraes.
-Extensive reworking,
-including this documentation,
-by Henry Spencer (henry@zoo.toronto.edu) as
-part of the C News project.
-Hashing function by Peter Honeyman.
-.SH BUGS
-The
-.I dptr
-members of returned
-.I datum
-values point to static storage which is overwritten by later calls.
-.PP
-Unlike
-.IR dbm ,
-.I dbz
-will misbehave if an existing key-value pair is `overwritten' by
-a new
-.I (dbz)store
-with the same key.
-The user is responsible for avoiding this by using
-.I (dbz)fetch
-first to check for duplicates;
-an internal optimization remembers the result of the
-first search so there is minimal overhead in this.
-.PP
-Waiting until after
-.I dbminit
-to bring the base file into existence
-will fail if
-.IR chdir (2)
-has been used meanwhile.
-.PP
-The RFC822 case mapper implements only a first approximation to the
-hideously-complex RFC822 case rules.
-.PP
-The prime finder in
-.I dbzsize
-is not particularly quick.
-.PP
-Should implement the
-.I dbm
-functions
-.IR delete ,
-.IR firstkey ,
-and
-.IR nextkey .
-.PP
-On C implementations which trap integer overflow,
-.I dbz
-will refuse to
-.I (dbz)store
-an
-.I fseek
-offset equal to the greatest
-representable
-positive number,
-as this would cause overflow in the biased representation used.
-.PP
-.I Dbzagain
-perhaps ought to notice when many offsets
-in the old database were
-too big for
-tagging, and shrink the tag mask to match.
-.PP
-Marking
-.IR dbz 's
-file descriptors
-.RI close-on- exec
-would be a better approach to the problem
-.I dbzcancel
-tries to address, but that's harder to do portably.
diff --git a/contrib/libio/dbz/dbz.c b/contrib/libio/dbz/dbz.c
deleted file mode 100644
index 7489a09..0000000
--- a/contrib/libio/dbz/dbz.c
+++ /dev/null
@@ -1,1768 +0,0 @@
-/*
-
-dbz.c V3.2
-
-Copyright 1988 Jon Zeeff (zeeff@b-tech.ann-arbor.mi.us)
-You can use this code in any manner, as long as you leave my name on it
-and don't hold me responsible for any problems with it.
-
-Hacked on by gdb@ninja.UUCP (David Butler); Sun Jun 5 00:27:08 CDT 1988
-
-Various improvments + INCORE by moraes@ai.toronto.edu (Mark Moraes)
-
-Major reworking by Henry Spencer as part of the C News project.
-
-These routines replace dbm as used by the usenet news software
-(it's not a full dbm replacement by any means). It's fast and
-simple. It contains no AT&T code.
-
-In general, dbz's files are 1/20 the size of dbm's. Lookup performance
-is somewhat better, while file creation is spectacularly faster, especially
-if the incore facility is used.
-
-*/
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#ifndef __STDC__
-extern int errno;
-#endif
-#include <dbz.h>
-
-/*
- * #ifdef index. "LIA" = "leave it alone unless you know what you're doing".
- *
- * FUNNYSEEKS SEEK_SET is not 0, get it from <unistd.h>
- * INDEX_SIZE backward compatibility with old dbz; avoid using this
- * NMEMORY number of days of memory for use in sizing new table (LIA)
- * INCORE backward compatibility with old dbz; use dbzincore() instead
- * DBZDEBUG enable debugging
- * DEFSIZE default table size (not as critical as in old dbz)
- * OLDBNEWS default case mapping as in old B News; set NOBUFFER
- * BNEWS default case mapping as in current B News; set NOBUFFER
- * DEFCASE default case-map algorithm selector
- * NOTAGS fseek offsets are strange, do not do tagging (see below)
- * NPAGBUF size of .pag buffer, in longs (LIA)
- * SHISTBUF size of ASCII-file buffer, in bytes (LIA)
- * MAXRUN length of run which shifts to next table (see below) (LIA)
- * OVERFLOW long-int arithmetic overflow must be avoided, will trap
- * NOBUFFER do not buffer hash-table i/o, B News locking is defective
- */
-
-#ifdef FUNNYSEEKS
-#include <unistd.h>
-#else
-#define SEEK_SET 0
-#endif
-#ifdef OVERFLOW
-#include <limits.h>
-#endif
-
-static int dbzversion = 3; /* for validating .dir file format */
-
-/*
- * The dbz database exploits the fact that when news stores a <key,value>
- * tuple, the `value' part is a seek offset into a text file, pointing to
- * a copy of the `key' part. This avoids the need to store a copy of
- * the key in the dbz files. However, the text file *must* exist and be
- * consistent with the dbz files, or things will fail.
- *
- * The basic format of the database is a simple hash table containing the
- * values. A value is stored by indexing into the table using a hash value
- * computed from the key; collisions are resolved by linear probing (just
- * search forward for an empty slot, wrapping around to the beginning of
- * the table if necessary). Linear probing is a performance disaster when
- * the table starts to get full, so a complication is introduced. The
- * database is actually one *or more* tables, stored sequentially in the
- * .pag file, and the length of linear-probe sequences is limited. The
- * search (for an existing item or an empty slot) always starts in the
- * first table, and whenever MAXRUN probes have been done in table N,
- * probing continues in table N+1. This behaves reasonably well even in
- * cases of massive overflow. There are some other small complications
- * added, see comments below.
- *
- * The table size is fixed for any particular database, but is determined
- * dynamically when a database is rebuilt. The strategy is to try to pick
- * the size so the first table will be no more than 2/3 full, that being
- * slightly before the point where performance starts to degrade. (It is
- * desirable to be a bit conservative because the overflow strategy tends
- * to produce files with holes in them, which is a nuisance.)
- */
-
-/*
- * The following is for backward compatibility.
- */
-#ifdef INDEX_SIZE
-#define DEFSIZE INDEX_SIZE
-#endif
-
-/*
- * ANSI C says the offset argument to fseek is a long, not an off_t, for some
- * reason. Let's use off_t anyway.
- */
-#define SOF (sizeof(off_t))
-
-/*
- * We assume that unused areas of a binary file are zeros, and that the
- * bit pattern of `(off_t)0' is all zeros. The alternative is rather
- * painful file initialization. Note that okayvalue(), if OVERFLOW is
- * defined, knows what value of an offset would cause overflow.
- */
-#define VACANT ((off_t)0)
-#define BIAS(o) ((o)+1) /* make any valid off_t non-VACANT */
-#define UNBIAS(o) ((o)-1) /* reverse BIAS() effect */
-
-/*
- * In a Unix implementation, or indeed any in which an off_t is a byte
- * count, there are a bunch of high bits free in an off_t. There is a
- * use for them. Checking a possible hit by looking it up in the base
- * file is relatively expensive, and the cost can be dramatically reduced
- * by using some of those high bits to tag the value with a few more bits
- * of the key's hash. This detects most false hits without the overhead of
- * seek+read+strcmp. We use the top bit to indicate whether the value is
- * tagged or not, and don't tag a value which is using the tag bits itself.
- * We're in trouble if the off_t representation wants to use the top bit.
- * The actual bitmasks and offset come from the configuration stuff,
- * which permits fiddling with them as necessary, and also suppressing
- * them completely (by defining the masks to 0). We build pre-shifted
- * versions of the masks for efficiency.
- */
-static off_t tagbits; /* pre-shifted tag mask */
-static off_t taghere; /* pre-shifted tag-enable bit */
-static off_t tagboth; /* tagbits|taghere */
-#define HASTAG(o) ((o)&taghere)
-#define TAG(o) ((o)&tagbits)
-#define NOTAG(o) ((o)&~tagboth)
-#define CANTAG(o) (((o)&tagboth) == 0)
-#define MKTAG(v) (((v)<<conf.tagshift)&tagbits)
-
-/*
- * A new, from-scratch database, not built as a rebuild of an old one,
- * needs to know table size, casemap algorithm, and tagging. Normally
- * the user supplies this info, but there have to be defaults.
- */
-#ifndef DEFSIZE
-#define DEFSIZE 120011 /* 300007 might be better */
-#endif
-#ifdef OLDBNEWS
-#define DEFCASE '0' /* B2.10 -- no mapping */
-#define NOBUFFER /* B News locking is defective */
-#endif
-#ifdef BNEWS
-#define DEFCASE '=' /* B2.11 -- all mapped */
-#define NOBUFFER /* B News locking is defective */
-#endif
-#ifndef DEFCASE /* C News compatibility is the default */
-#define DEFCASE 'C' /* C News -- RFC822 mapping */
-#endif
-#ifndef NOTAGS
-#define TAGENB 0x80 /* tag enable is top bit, tag is next 7 */
-#define TAGMASK 0x7f
-#define TAGSHIFT 24
-#else
-#define TAGENB 0 /* no tags */
-#define TAGMASK 0
-#define TAGSHIFT 0
-#endif
-
-/*
- * We read configuration info from the .dir file into this structure,
- * so we can avoid wired-in assumptions for an existing database.
- *
- * Among the info is a record of recent peak usages, so that a new table
- * size can be chosen intelligently when rebuilding. 10 is a good
- * number of usages to keep, since news displays marked fluctuations
- * in volume on a 7-day cycle.
- */
-struct dbzconfig {
- int olddbz; /* .dir file empty but .pag not? */
- off_t tsize; /* table size */
-# ifndef NMEMORY
-# define NMEMORY 10 /* # days of use info to remember */
-# endif
-# define NUSEDS (1+NMEMORY)
- off_t used[NUSEDS]; /* entries used today, yesterday, ... */
- int valuesize; /* size of table values, == SOF */
- int bytemap[SOF]; /* byte-order map */
- char casemap; /* case-mapping algorithm (see cipoint()) */
- char fieldsep; /* field separator in base file, if any */
- off_t tagenb; /* unshifted tag-enable bit */
- off_t tagmask; /* unshifted tag mask */
- int tagshift; /* shift count for tagmask and tagenb */
-};
-static struct dbzconfig conf;
-static int getconf();
-static long getno();
-static int putconf();
-static void mybytemap();
-static off_t bytemap();
-
-/*
- * For a program that makes many, many references to the database, it
- * is a large performance win to keep the table in core, if it will fit.
- * Note that this does hurt robustness in the event of crashes, and
- * dbmclose() *must* be called to flush the in-core database to disk.
- * The code is prepared to deal with the possibility that there isn't
- * enough memory. There *is* an assumption that a size_t is big enough
- * to hold the size (in bytes) of one table, so dbminit() tries to figure
- * out whether this is possible first.
- *
- * The preferred way to ask for an in-core table is to do dbzincore(1)
- * before dbminit(). The default is not to do it, although -DINCORE
- * overrides this for backward compatibility with old dbz.
- *
- * We keep only the first table in core. This greatly simplifies the
- * code, and bounds memory demand. Furthermore, doing this is a large
- * performance win even in the event of massive overflow.
- */
-#ifdef INCORE
-static int incore = 1;
-#else
-static int incore = 0;
-#endif
-
-/*
- * Stdio buffer for .pag reads. Buffering more than about 16 does not help
- * significantly at the densities we try to maintain, and the much larger
- * buffers that most stdios default to are much more expensive to fill.
- * With small buffers, stdio is performance-competitive with raw read(),
- * and it's much more portable.
- */
-#ifndef NPAGBUF
-#define NPAGBUF 16
-#endif
-#ifndef NOBUFFER
-#ifdef _IOFBF
-static off_t pagbuf[NPAGBUF]; /* only needed if !NOBUFFER && _IOFBF */
-#endif
-#endif
-
-/*
- * Stdio buffer for base-file reads. Message-IDs (all news ever needs to
- * read) are essentially never longer than 64 bytes, and the typical stdio
- * buffer is so much larger that it is much more expensive to fill.
- */
-#ifndef SHISTBUF
-#define SHISTBUF 64
-#endif
-#ifdef _IOFBF
-static char basebuf[SHISTBUF]; /* only needed if _IOFBF exists */
-#endif
-
-/*
- * Data structure for recording info about searches.
- */
-struct searcher {
- off_t place; /* current location in file */
- int tabno; /* which table we're in */
- int run; /* how long we'll stay in this table */
-# ifndef MAXRUN
-# define MAXRUN 100
-# endif
- long hash; /* the key's hash code (for optimization) */
- off_t tag; /* tag we are looking for */
- int seen; /* have we examined current location? */
- int aborted; /* has i/o error aborted search? */
-};
-static void start();
-#define FRESH ((struct searcher *)NULL)
-static off_t search();
-#define NOTFOUND ((off_t)-1)
-static int okayvalue();
-static int set();
-
-/*
- * Arguably the searcher struct for a given routine ought to be local to
- * it, but a fetch() is very often immediately followed by a store(), and
- * in some circumstances it is a useful performance win to remember where
- * the fetch() completed. So we use a global struct and remember whether
- * it is current.
- */
-static struct searcher srch;
-static struct searcher *prevp; /* &srch or FRESH */
-
-/* byte-ordering stuff */
-static int mybmap[SOF]; /* my byte order (see mybytemap()) */
-static int bytesame; /* is database order same as mine? */
-#define MAPIN(o) ((bytesame) ? (o) : bytemap((o), conf.bytemap, mybmap))
-#define MAPOUT(o) ((bytesame) ? (o) : bytemap((o), mybmap, conf.bytemap))
-
-/*
- * The double parentheses needed to make this work are ugly, but the
- * alternative (under most compilers) is to pack around 2K of unused
- * strings -- there's just no way to get rid of them.
- */
-static int debug; /* controlled by dbzdebug() */
-#ifdef DBZDEBUG
-#define DEBUG(args) if (debug) { (void) printf args ; }
-#else
-#define DEBUG(args) ;
-#endif
-
-/* externals used */
-extern char *malloc();
-extern char *calloc();
-extern void free(); /* ANSI C; some old implementations say int */
-extern int atoi();
-extern long atol();
-
-/* misc. forwards */
-static long hash();
-static void crcinit();
-static char *cipoint();
-static char *mapcase();
-static int isprime();
-static FILE *latebase();
-
-/* file-naming stuff */
-static char dir[] = ".dir";
-static char pag[] = ".pag";
-static char *enstring();
-
-/* central data structures */
-static FILE *basef; /* descriptor for base file */
-static char *basefname; /* name for not-yet-opened base file */
-static FILE *dirf; /* descriptor for .dir file */
-static int dirronly; /* dirf open read-only? */
-static FILE *pagf = NULL; /* descriptor for .pag file */
-static off_t pagpos; /* posn in pagf; only search may set != -1 */
-static int pagronly; /* pagf open read-only? */
-static off_t *corepag; /* incore version of .pag file, if any */
-static FILE *bufpagf; /* well-buffered pagf, for incore rewrite */
-static off_t *getcore();
-static int putcore();
-static int written; /* has a store() been done? */
-
-/*
- - dbzfresh - set up a new database, no historical info
- */
-int /* 0 success, -1 failure */
-dbzfresh(name, size, fs, cmap, tagmask)
-char *name; /* base name; .dir and .pag must exist */
-long size; /* table size (0 means default) */
-int fs; /* field-separator character in base file */
-int cmap; /* case-map algorithm (0 means default) */
-off_t tagmask; /* 0 default, 1 no tags */
-{
- register char *fn;
- struct dbzconfig c;
- register off_t m;
- register FILE *f;
-
- if (pagf != NULL) {
- DEBUG(("dbzfresh: database already open\n"));
- return(-1);
- }
- if (size != 0 && size < 2) {
- DEBUG(("dbzfresh: preposterous size (%ld)\n", size));
- return(-1);
- }
-
- /* get default configuration */
- if (getconf((FILE *)NULL, (FILE *)NULL, &c) < 0)
- return(-1); /* "can't happen" */
-
- /* and mess with it as specified */
- if (size != 0)
- c.tsize = size;
- c.fieldsep = fs;
- switch (cmap) {
- case 0:
- case '0':
- case 'B': /* 2.10 compat */
- c.casemap = '0'; /* '\0' nicer, but '0' printable! */
- break;
- case '=':
- case 'b': /* 2.11 compat */
- c.casemap = '=';
- break;
- case 'C':
- c.casemap = 'C';
- break;
- case '?':
- c.casemap = DEFCASE;
- break;
- default:
- DEBUG(("dbzfresh case map `%c' unknown\n", cmap));
- return(-1);
- break;
- }
- switch (tagmask) {
- case 0: /* default */
- break;
- case 1: /* no tags */
- c.tagshift = 0;
- c.tagmask = 0;
- c.tagenb = 0;
- break;
- default:
- m = tagmask;
- c.tagshift = 0;
- while (!(m&01)) {
- m >>= 1;
- c.tagshift++;
- }
- c.tagmask = m;
- c.tagenb = (m << 1) & ~m;
- break;
- }
-
- /* write it out */
- fn = enstring(name, dir);
- if (fn == NULL)
- return(-1);
- f = fopen(fn, "w");
- free(fn);
- if (f == NULL) {
- DEBUG(("dbzfresh: unable to write config\n"));
- return(-1);
- }
- if (putconf(f, &c) < 0) {
- (void) fclose(f);
- return(-1);
- }
- if (fclose(f) == EOF) {
- DEBUG(("dbzfresh: fclose failure\n"));
- return(-1);
- }
-
- /* create/truncate .pag */
- fn = enstring(name, pag);
- if (fn == NULL)
- return(-1);
- f = fopen(fn, "w");
- free(fn);
- if (f == NULL) {
- DEBUG(("dbzfresh: unable to create/truncate .pag file\n"));
- return(-1);
- } else
- (void) fclose(f);
-
- /* and punt to dbminit for the hard work */
- return(dbminit(name));
-}
-
-/*
- - dbzsize - what's a good table size to hold this many entries?
- */
-long
-dbzsize(contents)
-long contents; /* 0 means what's the default */
-{
- register long n;
-
- if (contents <= 0) { /* foulup or default inquiry */
- DEBUG(("dbzsize: preposterous input (%ld)\n", contents));
- return(DEFSIZE);
- }
- n = (contents/2)*3; /* try to keep table at most 2/3 full */
- if (!(n&01)) /* make it odd */
- n++;
- DEBUG(("dbzsize: tentative size %ld\n", n));
- while (!isprime(n)) /* and look for a prime */
- n += 2;
- DEBUG(("dbzsize: final size %ld\n", n));
-
- return(n);
-}
-
-/*
- - isprime - is a number prime?
- *
- * This is not a terribly efficient approach.
- */
-static int /* predicate */
-isprime(x)
-register long x;
-{
- static int quick[] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 0 };
- register int *ip;
- register long div;
- register long stop;
-
- /* hit the first few primes quickly to eliminate easy ones */
- /* this incidentally prevents ridiculously small tables */
- for (ip = quick; (div = *ip) != 0; ip++)
- if (x%div == 0) {
- DEBUG(("isprime: quick result on %ld\n", (long)x));
- return(0);
- }
-
- /* approximate square root of x */
- for (stop = x; x/stop < stop; stop >>= 1)
- continue;
- stop <<= 1;
-
- /* try odd numbers up to stop */
- for (div = *--ip; div < stop; div += 2)
- if (x%div == 0)
- return(0);
-
- return(1);
-}
-
-/*
- - dbzagain - set up a new database to be a rebuild of an old one
- */
-int /* 0 success, -1 failure */
-dbzagain(name, oldname)
-char *name; /* base name; .dir and .pag must exist */
-char *oldname; /* base name; all must exist */
-{
- register char *fn;
- struct dbzconfig c;
- register int i;
- register long top;
- register FILE *f;
- register int newtable;
- register off_t newsize;
-
- if (pagf != NULL) {
- DEBUG(("dbzagain: database already open\n"));
- return(-1);
- }
-
- /* pick up the old configuration */
- fn = enstring(oldname, dir);
- if (fn == NULL)
- return(-1);
- f = fopen(fn, "r");
- free(fn);
- if (f == NULL) {
- DEBUG(("dbzagain: cannot open old .dir file\n"));
- return(-1);
- }
- i = getconf(f, (FILE *)NULL, &c);
- (void) fclose(f);
- if (i < 0) {
- DEBUG(("dbzagain: getconf failed\n"));
- return(-1);
- }
-
- /* tinker with it */
- top = 0;
- newtable = 0;
- for (i = 0; i < NUSEDS; i++) {
- if (top < c.used[i])
- top = c.used[i];
- if (c.used[i] == 0)
- newtable = 1; /* hasn't got full usage history yet */
- }
- if (top == 0) {
- DEBUG(("dbzagain: old table has no contents!\n"));
- newtable = 1;
- }
- for (i = NUSEDS-1; i > 0; i--)
- c.used[i] = c.used[i-1];
- c.used[0] = 0;
- newsize = dbzsize(top);
- if (!newtable || newsize > c.tsize) /* don't shrink new table */
- c.tsize = newsize;
-
- /* write it out */
- fn = enstring(name, dir);
- if (fn == NULL)
- return(-1);
- f = fopen(fn, "w");
- free(fn);
- if (f == NULL) {
- DEBUG(("dbzagain: unable to write new .dir\n"));
- return(-1);
- }
- i = putconf(f, &c);
- (void) fclose(f);
- if (i < 0) {
- DEBUG(("dbzagain: putconf failed\n"));
- return(-1);
- }
-
- /* create/truncate .pag */
- fn = enstring(name, pag);
- if (fn == NULL)
- return(-1);
- f = fopen(fn, "w");
- free(fn);
- if (f == NULL) {
- DEBUG(("dbzagain: unable to create/truncate .pag file\n"));
- return(-1);
- } else
- (void) fclose(f);
-
- /* and let dbminit do the work */
- return(dbminit(name));
-}
-
-/*
- - dbminit - open a database, creating it (using defaults) if necessary
- *
- * We try to leave errno set plausibly, to the extent that underlying
- * functions permit this, since many people consult it if dbminit() fails.
- */
-int /* 0 success, -1 failure */
-dbminit(name)
-char *name;
-{
- register int i;
- register size_t s;
- register char *dirfname;
- register char *pagfname;
-
- if (pagf != NULL) {
- DEBUG(("dbminit: dbminit already called once\n"));
- errno = 0;
- return(-1);
- }
-
- /* open the .dir file */
- dirfname = enstring(name, dir);
- if (dirfname == NULL)
- return(-1);
- dirf = fopen(dirfname, "r+");
- if (dirf == NULL) {
- dirf = fopen(dirfname, "r");
- dirronly = 1;
- } else
- dirronly = 0;
- free(dirfname);
- if (dirf == NULL) {
- DEBUG(("dbminit: can't open .dir file\n"));
- return(-1);
- }
-
- /* open the .pag file */
- pagfname = enstring(name, pag);
- if (pagfname == NULL) {
- (void) fclose(dirf);
- return(-1);
- }
- pagf = fopen(pagfname, "r+b");
- if (pagf == NULL) {
- pagf = fopen(pagfname, "rb");
- if (pagf == NULL) {
- DEBUG(("dbminit: .pag open failed\n"));
- (void) fclose(dirf);
- free(pagfname);
- return(-1);
- }
- pagronly = 1;
- } else if (dirronly)
- pagronly = 1;
- else
- pagronly = 0;
-#ifdef NOBUFFER
- /*
- * B News does not do adequate locking on its database accesses.
- * Why it doesn't get into trouble using dbm is a mystery. In any
- * case, doing unbuffered i/o does not cure the problem, but does
- * enormously reduce its incidence.
- */
- (void) setbuf(pagf, (char *)NULL);
-#else
-#ifdef _IOFBF
- (void) setvbuf(pagf, (char *)pagbuf, _IOFBF, sizeof(pagbuf));
-#endif
-#endif
- pagpos = -1;
- /* don't free pagfname, need it below */
-
- /* open the base file */
- basef = fopen(name, "r");
- if (basef == NULL) {
- DEBUG(("dbminit: basefile open failed\n"));
- basefname = enstring(name, "");
- if (basefname == NULL) {
- (void) fclose(pagf);
- (void) fclose(dirf);
- free(pagfname);
- pagf = NULL;
- return(-1);
- }
- } else
- basefname = NULL;
-#ifdef _IOFBF
- if (basef != NULL)
- (void) setvbuf(basef, basebuf, _IOFBF, sizeof(basebuf));
-#endif
-
- /* pick up configuration */
- if (getconf(dirf, pagf, &conf) < 0) {
- DEBUG(("dbminit: getconf failure\n"));
- (void) fclose(basef);
- (void) fclose(pagf);
- (void) fclose(dirf);
- free(pagfname);
- pagf = NULL;
- errno = EDOM; /* kind of a kludge, but very portable */
- return(-1);
- }
- tagbits = conf.tagmask << conf.tagshift;
- taghere = conf.tagenb << conf.tagshift;
- tagboth = tagbits | taghere;
- mybytemap(mybmap);
- bytesame = 1;
- for (i = 0; i < SOF; i++)
- if (mybmap[i] != conf.bytemap[i])
- bytesame = 0;
-
- /* get first table into core, if it looks desirable and feasible */
- s = (size_t)conf.tsize * SOF;
- if (incore && (off_t)(s/SOF) == conf.tsize) {
- bufpagf = fopen(pagfname, (pagronly) ? "rb" : "r+b");
- if (bufpagf != NULL)
- corepag = getcore(bufpagf);
- } else {
- bufpagf = NULL;
- corepag = NULL;
- }
- free(pagfname);
-
- /* misc. setup */
- crcinit();
- written = 0;
- prevp = FRESH;
- DEBUG(("dbminit: succeeded\n"));
- return(0);
-}
-
-/*
- - enstring - concatenate two strings into a malloced area
- */
-static char * /* NULL if malloc fails */
-enstring(s1, s2)
-char *s1;
-char *s2;
-{
- register char *p;
-
- p = malloc((size_t)strlen(s1) + (size_t)strlen(s2) + 1);
- if (p != NULL) {
- (void) strcpy(p, s1);
- (void) strcat(p, s2);
- } else {
- DEBUG(("enstring(%s, %s) out of memory\n", s1, s2));
- }
- return(p);
-}
-
-/*
- - dbmclose - close a database
- */
-int
-dbmclose()
-{
- register int ret = 0;
-
- if (pagf == NULL) {
- DEBUG(("dbmclose: not opened!\n"));
- return(-1);
- }
-
- if (fclose(pagf) == EOF) {
- DEBUG(("dbmclose: fclose(pagf) failed\n"));
- ret = -1;
- }
- pagf = basef; /* ensure valid pointer; dbzsync checks it */
- if (dbzsync() < 0)
- ret = -1;
- if (bufpagf != NULL && fclose(bufpagf) == EOF) {
- DEBUG(("dbmclose: fclose(bufpagf) failed\n"));
- ret = -1;
- }
- if (corepag != NULL)
- free((char *)corepag);
- corepag = NULL;
- if (fclose(basef) == EOF) {
- DEBUG(("dbmclose: fclose(basef) failed\n"));
- ret = -1;
- }
- if (basefname != NULL)
- free(basefname);
- basef = NULL;
- pagf = NULL;
- if (fclose(dirf) == EOF) {
- DEBUG(("dbmclose: fclose(dirf) failed\n"));
- ret = -1;
- }
-
- DEBUG(("dbmclose: %s\n", (ret == 0) ? "succeeded" : "failed"));
- return(ret);
-}
-
-/*
- - dbzsync - push all in-core data out to disk
- */
-int
-dbzsync()
-{
- register int ret = 0;
-
- if (pagf == NULL) {
- DEBUG(("dbzsync: not opened!\n"));
- return(-1);
- }
- if (!written)
- return(0);
-
- if (corepag != NULL) {
- if (putcore(corepag, bufpagf) < 0) {
- DEBUG(("dbzsync: putcore failed\n"));
- ret = -1;
- }
- }
- if (!conf.olddbz)
- if (putconf(dirf, &conf) < 0)
- ret = -1;
-
- DEBUG(("dbzsync: %s\n", (ret == 0) ? "succeeded" : "failed"));
- return(ret);
-}
-
-/*
- - dbzcancel - cancel writing of in-core data
- * Mostly for use from child processes.
- * Note that we don't need to futz around with stdio buffers, because we
- * always fflush them immediately anyway and so they never have stale data.
- */
-int
-dbzcancel()
-{
- if (pagf == NULL) {
- DEBUG(("dbzcancel: not opened!\n"));
- return(-1);
- }
-
- written = 0;
- return(0);
-}
-
-/*
- - dbzfetch - fetch() with case mapping built in
- */
-datum
-dbzfetch(key)
-datum key;
-{
- char buffer[DBZMAXKEY + 1];
- datum mappedkey;
- register size_t keysize;
-
- DEBUG(("dbzfetch: (%s)\n", key.dptr));
-
- /* Key is supposed to be less than DBZMAXKEY */
- keysize = key.dsize;
- if (keysize >= DBZMAXKEY) {
- keysize = DBZMAXKEY;
- DEBUG(("keysize is %d - truncated to %d\n", key.dsize, DBZMAXKEY));
- }
-
- mappedkey.dptr = mapcase(buffer, key.dptr, keysize);
- buffer[keysize] = '\0'; /* just a debug aid */
- mappedkey.dsize = keysize;
-
- return(fetch(mappedkey));
-}
-
-/*
- - fetch - get an entry from the database
- *
- * Disgusting fine point, in the name of backward compatibility: if the
- * last character of "key" is a NUL, that character is (effectively) not
- * part of the comparison against the stored keys.
- */
-datum /* dptr NULL, dsize 0 means failure */
-fetch(key)
-datum key;
-{
- char buffer[DBZMAXKEY + 1];
- static off_t key_ptr; /* return value points here */
- datum output;
- register size_t keysize;
- register size_t cmplen;
- register char *sepp;
-
- DEBUG(("fetch: (%s)\n", key.dptr));
- output.dptr = NULL;
- output.dsize = 0;
- prevp = FRESH;
-
- /* Key is supposed to be less than DBZMAXKEY */
- keysize = key.dsize;
- if (keysize >= DBZMAXKEY) {
- keysize = DBZMAXKEY;
- DEBUG(("keysize is %d - truncated to %d\n", key.dsize, DBZMAXKEY));
- }
-
- if (pagf == NULL) {
- DEBUG(("fetch: database not open!\n"));
- return(output);
- } else if (basef == NULL) { /* basef didn't exist yet */
- basef = latebase();
- if (basef == NULL)
- return(output);
- }
-
- cmplen = keysize;
- sepp = &conf.fieldsep;
- if (key.dptr[keysize-1] == '\0') {
- cmplen--;
- sepp = &buffer[keysize-1];
- }
- start(&srch, &key, FRESH);
- while ((key_ptr = search(&srch)) != NOTFOUND) {
- DEBUG(("got 0x%lx\n", key_ptr));
-
- /* fetch the key */
- if (fseek(basef, key_ptr, SEEK_SET) != 0) {
- DEBUG(("fetch: seek failed\n"));
- return(output);
- }
- if (fread(buffer, 1, keysize, basef) != keysize) {
- DEBUG(("fetch: read failed\n"));
- return(output);
- }
-
- /* try it */
- buffer[keysize] = '\0'; /* terminated for DEBUG */
- (void) mapcase(buffer, buffer, keysize);
- DEBUG(("fetch: buffer (%s) looking for (%s) size = %d\n",
- buffer, key.dptr, keysize));
- if (memcmp(key.dptr, buffer, cmplen) == 0 &&
- (*sepp == conf.fieldsep || *sepp == '\0')) {
- /* we found it */
- output.dptr = (char *)&key_ptr;
- output.dsize = SOF;
- DEBUG(("fetch: successful\n"));
- return(output);
- }
- }
-
- /* we didn't find it */
- DEBUG(("fetch: failed\n"));
- prevp = &srch; /* remember where we stopped */
- return(output);
-}
-
-/*
- - latebase - try to open a base file that wasn't there at the start
- */
-static FILE *
-latebase()
-{
- register FILE *it;
-
- if (basefname == NULL) {
- DEBUG(("latebase: name foulup\n"));
- return(NULL);
- }
- it = fopen(basefname, "r");
- if (it == NULL) {
- DEBUG(("latebase: still can't open base\n"));
- } else {
- DEBUG(("latebase: late open succeeded\n"));
- free(basefname);
- basefname = NULL;
-#ifdef _IOFBF
- (void) setvbuf(it, basebuf, _IOFBF, sizeof(basebuf));
-#endif
- }
- return(it);
-}
-
-/*
- - dbzstore - store() with case mapping built in
- */
-int
-dbzstore(key, data)
-datum key;
-datum data;
-{
- char buffer[DBZMAXKEY + 1];
- datum mappedkey;
- register size_t keysize;
-
- DEBUG(("dbzstore: (%s)\n", key.dptr));
-
- /* Key is supposed to be less than DBZMAXKEY */
- keysize = key.dsize;
- if (keysize >= DBZMAXKEY) {
- DEBUG(("dbzstore: key size too big (%d)\n", key.dsize));
- return(-1);
- }
-
- mappedkey.dptr = mapcase(buffer, key.dptr, keysize);
- buffer[keysize] = '\0'; /* just a debug aid */
- mappedkey.dsize = keysize;
-
- return(store(mappedkey, data));
-}
-
-/*
- - store - add an entry to the database
- */
-int /* 0 success, -1 failure */
-store(key, data)
-datum key;
-datum data;
-{
- off_t value;
-
- if (pagf == NULL) {
- DEBUG(("store: database not open!\n"));
- return(-1);
- } else if (basef == NULL) { /* basef didn't exist yet */
- basef = latebase();
- if (basef == NULL)
- return(-1);
- }
- if (pagronly) {
- DEBUG(("store: database open read-only\n"));
- return(-1);
- }
- if (data.dsize != SOF) {
- DEBUG(("store: value size wrong (%d)\n", data.dsize));
- return(-1);
- }
- if (key.dsize >= DBZMAXKEY) {
- DEBUG(("store: key size too big (%d)\n", key.dsize));
- return(-1);
- }
-
- /* copy the value in to ensure alignment */
- (void) memcpy((char *)&value, data.dptr, SOF);
- DEBUG(("store: (%s, %ld)\n", key.dptr, (long)value));
- if (!okayvalue(value)) {
- DEBUG(("store: reserved bit or overflow in 0x%lx\n", value));
- return(-1);
- }
-
- /* find the place, exploiting previous search if possible */
- start(&srch, &key, prevp);
- while (search(&srch) != NOTFOUND)
- continue;
-
- prevp = FRESH;
- conf.used[0]++;
- DEBUG(("store: used count %ld\n", conf.used[0]));
- written = 1;
- return(set(&srch, value));
-}
-
-/*
- - dbzincore - control attempts to keep .pag file in core
- */
-int /* old setting */
-dbzincore(value)
-int value;
-{
- register int old = incore;
-
- incore = value;
- return(old);
-}
-
-/*
- - getconf - get configuration from .dir file
- */
-static int /* 0 success, -1 failure */
-getconf(df, pf, cp)
-register FILE *df; /* NULL means just give me the default */
-register FILE *pf; /* NULL means don't care about .pag */
-register struct dbzconfig *cp;
-{
- register int c;
- register int i;
- int err = 0;
-
- c = (df != NULL) ? getc(df) : EOF;
- if (c == EOF) { /* empty file, no configuration known */
- cp->olddbz = 0;
- if (df != NULL && pf != NULL && getc(pf) != EOF)
- cp->olddbz = 1;
- cp->tsize = DEFSIZE;
- cp->fieldsep = '\t';
- for (i = 0; i < NUSEDS; i++)
- cp->used[i] = 0;
- cp->valuesize = SOF;
- mybytemap(cp->bytemap);
- cp->casemap = DEFCASE;
- cp->tagenb = TAGENB;
- cp->tagmask = TAGMASK;
- cp->tagshift = TAGSHIFT;
- DEBUG(("getconf: defaults (%ld, %c, (0x%lx/0x%lx<<%d))\n",
- cp->tsize, cp->casemap, cp->tagenb,
- cp->tagmask, cp->tagshift));
- return(0);
- }
- (void) ungetc(c, df);
-
- /* first line, the vital stuff */
- if (getc(df) != 'd' || getc(df) != 'b' || getc(df) != 'z')
- err = -1;
- if (getno(df, &err) != dbzversion)
- err = -1;
- cp->tsize = getno(df, &err);
- cp->fieldsep = getno(df, &err);
- while ((c = getc(df)) == ' ')
- continue;
- cp->casemap = c;
- cp->tagenb = getno(df, &err);
- cp->tagmask = getno(df, &err);
- cp->tagshift = getno(df, &err);
- cp->valuesize = getno(df, &err);
- if (cp->valuesize != SOF) {
- DEBUG(("getconf: wrong off_t size (%d)\n", cp->valuesize));
- err = -1;
- cp->valuesize = SOF; /* to protect the loops below */
- }
- for (i = 0; i < cp->valuesize; i++)
- cp->bytemap[i] = getno(df, &err);
- if (getc(df) != '\n')
- err = -1;
- DEBUG(("size %ld, sep %d, cmap %c, tags 0x%lx/0x%lx<<%d, ", cp->tsize,
- cp->fieldsep, cp->casemap, cp->tagenb, cp->tagmask,
- cp->tagshift));
- DEBUG(("bytemap (%d)", cp->valuesize));
- for (i = 0; i < cp->valuesize; i++) {
- DEBUG((" %d", cp->bytemap[i]));
- }
- DEBUG(("\n"));
-
- /* second line, the usages */
- for (i = 0; i < NUSEDS; i++)
- cp->used[i] = getno(df, &err);
- if (getc(df) != '\n')
- err = -1;
- DEBUG(("used %ld %ld %ld...\n", cp->used[0], cp->used[1], cp->used[2]));
-
- if (err < 0) {
- DEBUG(("getconf error\n"));
- return(-1);
- }
- return(0);
-}
-
-/*
- - getno - get a long
- */
-static long
-getno(f, ep)
-FILE *f;
-int *ep;
-{
- register char *p;
-# define MAXN 50
- char getbuf[MAXN];
- register int c;
-
- while ((c = getc(f)) == ' ')
- continue;
- if (c == EOF || c == '\n') {
- DEBUG(("getno: missing number\n"));
- *ep = -1;
- return(0);
- }
- p = getbuf;
- *p++ = c;
- while ((c = getc(f)) != EOF && c != '\n' && c != ' ')
- if (p < &getbuf[MAXN-1])
- *p++ = c;
- if (c == EOF) {
- DEBUG(("getno: EOF\n"));
- *ep = -1;
- } else
- (void) ungetc(c, f);
- *p = '\0';
-
- if (strspn(getbuf, "-1234567890") != strlen(getbuf)) {
- DEBUG(("getno: `%s' non-numeric\n", getbuf));
- *ep = -1;
- }
- return(atol(getbuf));
-}
-
-/*
- - putconf - write configuration to .dir file
- */
-static int /* 0 success, -1 failure */
-putconf(f, cp)
-register FILE *f;
-register struct dbzconfig *cp;
-{
- register int i;
- register int ret = 0;
-
- if (fseek(f, 0, SEEK_SET) != 0) {
- DEBUG(("fseek failure in putconf\n"));
- ret = -1;
- }
- fprintf(f, "dbz %d %ld %d %c %ld %ld %d %d", dbzversion,
- (long)cp->tsize,
- cp->fieldsep, cp->casemap, (long)cp->tagenb,
- (long)cp->tagmask, cp->tagshift,
- cp->valuesize);
-
- for (i = 0; i < cp->valuesize; i++)
- fprintf(f, " %d", cp->bytemap[i]);
- fprintf(f, "\n");
- for (i = 0; i < NUSEDS; i++)
- fprintf(f, "%ld%c",
- (long)cp->used[i], (i < NUSEDS-1) ? ' ' : '\n');
-
-
- (void) fflush(f);
- if (ferror(f))
- ret = -1;
-
- DEBUG(("putconf status %d\n", ret));
- return(ret);
-}
-
-/*
- - getcore - try to set up an in-core copy of .pag file
- */
-static off_t * /* pointer to copy, or NULL */
-getcore(f)
-FILE *f;
-{
- register off_t *p;
- register size_t i;
- register size_t nread;
- register char *it;
-
- it = malloc((size_t)conf.tsize * SOF);
- if (it == NULL) {
- DEBUG(("getcore: malloc failed\n"));
- return(NULL);
- }
-
- nread = fread(it, SOF, (size_t)conf.tsize, f);
- if (ferror(f)) {
- DEBUG(("getcore: read failed\n"));
- free(it);
- return(NULL);
- }
-
- p = (off_t *)it + nread;
- i = (size_t)conf.tsize - nread;
- while (i-- > 0)
- *p++ = VACANT;
- return((off_t *)it);
-}
-
-/*
- - putcore - try to rewrite an in-core table
- */
-static int /* 0 okay, -1 fail */
-putcore(tab, f)
-off_t *tab;
-FILE *f;
-{
- if (fseek(f, 0, SEEK_SET) != 0) {
- DEBUG(("fseek failure in putcore\n"));
- return(-1);
- }
- (void) fwrite((char *)tab, SOF, (size_t)conf.tsize, f);
- (void) fflush(f);
- return((ferror(f)) ? -1 : 0);
-}
-
-/*
- - start - set up to start or restart a search
- */
-static void
-start(sp, kp, osp)
-register struct searcher *sp;
-register datum *kp;
-register struct searcher *osp; /* may be FRESH, i.e. NULL */
-{
- register long h;
-
- h = hash(kp->dptr, kp->dsize);
- if (osp != FRESH && osp->hash == h) {
- if (sp != osp)
- *sp = *osp;
- DEBUG(("search restarted\n"));
- } else {
- sp->hash = h;
- sp->tag = MKTAG(h / conf.tsize);
- DEBUG(("tag 0x%lx\n", sp->tag));
- sp->place = h % conf.tsize;
- sp->tabno = 0;
- sp->run = (conf.olddbz) ? conf.tsize : MAXRUN;
- sp->aborted = 0;
- }
- sp->seen = 0;
-}
-
-/*
- - search - conduct part of a search
- */
-static off_t /* NOTFOUND if we hit VACANT or error */
-search(sp)
-register struct searcher *sp;
-{
- register off_t dest;
- register off_t value;
- off_t val; /* buffer for value (can't fread register) */
- register off_t place;
-
- if (sp->aborted)
- return(NOTFOUND);
-
- for (;;) {
- /* determine location to be examined */
- place = sp->place;
- if (sp->seen) {
- /* go to next location */
- if (--sp->run <= 0) {
- sp->tabno++;
- sp->run = MAXRUN;
- }
- place = (place+1)%conf.tsize + sp->tabno*conf.tsize;
- sp->place = place;
- } else
- sp->seen = 1; /* now looking at current location */
- DEBUG(("search @ %ld\n", place));
-
- /* get the tagged value */
- if (corepag != NULL && place < conf.tsize) {
- DEBUG(("search: in core\n"));
- value = MAPIN(corepag[place]);
- } else {
- /* seek, if necessary */
- dest = place * SOF;
- if (pagpos != dest) {
- if (fseek(pagf, dest, SEEK_SET) != 0) {
- DEBUG(("search: seek failed\n"));
- pagpos = -1;
- sp->aborted = 1;
- return(NOTFOUND);
- }
- pagpos = dest;
- }
-
- /* read it */
- if (fread((char *)&val, sizeof(val), 1, pagf) == 1)
- value = MAPIN(val);
- else if (ferror(pagf)) {
- DEBUG(("search: read failed\n"));
- pagpos = -1;
- sp->aborted = 1;
- return(NOTFOUND);
- } else
- value = VACANT;
-
- /* and finish up */
- pagpos += sizeof(val);
- }
-
- /* vacant slot is always cause to return */
- if (value == VACANT) {
- DEBUG(("search: empty slot\n"));
- return(NOTFOUND);
- };
-
- /* check the tag */
- value = UNBIAS(value);
- DEBUG(("got 0x%lx\n", value));
- if (!HASTAG(value)) {
- DEBUG(("tagless\n"));
- return(value);
- } else if (TAG(value) == sp->tag) {
- DEBUG(("match\n"));
- return(NOTAG(value));
- } else {
- DEBUG(("mismatch 0x%lx\n", TAG(value)));
- }
- }
- /* NOTREACHED */
-}
-
-/*
- - okayvalue - check that a value can be stored
- */
-static int /* predicate */
-okayvalue(value)
-off_t value;
-{
- if (HASTAG(value))
- return(0);
-#ifdef OVERFLOW
- if (value == LONG_MAX) /* BIAS() and UNBIAS() will overflow */
- return(0);
-#endif
- return(1);
-}
-
-/*
- - set - store a value into a location previously found by search
- */
-static int /* 0 success, -1 failure */
-set(sp, value)
-register struct searcher *sp;
-off_t value;
-{
- register off_t place = sp->place;
- register off_t v = value;
-
- if (sp->aborted)
- return(-1);
-
- if (CANTAG(v) && !conf.olddbz) {
- v |= sp->tag | taghere;
- if (v != UNBIAS(VACANT)) /* BIAS(v) won't look VACANT */
-#ifdef OVERFLOW
- if (v != LONG_MAX) /* and it won't overflow */
-#endif
- value = v;
- }
- DEBUG(("tagged value is 0x%lx\n", value));
- value = BIAS(value);
- value = MAPOUT(value);
-
- /* If we have the index file in memory, use it */
- if (corepag != NULL && place < conf.tsize) {
- corepag[place] = value;
- DEBUG(("set: incore\n"));
- return(0);
- }
-
- /* seek to spot */
- pagpos = -1; /* invalidate position memory */
- if (fseek(pagf, place * SOF, SEEK_SET) != 0) {
- DEBUG(("set: seek failed\n"));
- sp->aborted = 1;
- return(-1);
- }
-
- /* write in data */
- if (fwrite((char *)&value, SOF, 1, pagf) != 1) {
- DEBUG(("set: write failed\n"));
- sp->aborted = 1;
- return(-1);
- }
- /* fflush improves robustness, and buffer re-use is rare anyway */
- if (fflush(pagf) == EOF) {
- DEBUG(("set: fflush failed\n"));
- sp->aborted = 1;
- return(-1);
- }
-
- DEBUG(("set: succeeded\n"));
- return(0);
-}
-
-/*
- - mybytemap - determine this machine's byte map
- *
- * A byte map is an array of ints, sizeof(off_t) of them. The 0th int
- * is the byte number of the high-order byte in my off_t, and so forth.
- */
-static void
-mybytemap(map)
-int map[]; /* -> int[SOF] */
-{
- union {
- off_t o;
- char c[SOF];
- } u;
- register int *mp = &map[SOF];
- register int ntodo;
- register int i;
-
- u.o = 1;
- for (ntodo = (int)SOF; ntodo > 0; ntodo--) {
- for (i = 0; i < SOF; i++)
- if (u.c[i] != 0)
- break;
- if (i == SOF) {
- /* trouble -- set it to *something* consistent */
- DEBUG(("mybytemap: nonexistent byte %d!!!\n", ntodo));
- for (i = 0; i < SOF; i++)
- map[i] = i;
- return;
- }
- DEBUG(("mybytemap: byte %d\n", i));
- *--mp = i;
- while (u.c[i] != 0)
- u.o <<= 1;
- }
-}
-
-/*
- - bytemap - transform an off_t from byte ordering map1 to map2
- */
-static off_t /* transformed result */
-bytemap(ino, map1, map2)
-off_t ino;
-int *map1;
-int *map2;
-{
- union oc {
- off_t o;
- char c[SOF];
- };
- union oc in;
- union oc out;
- register int i;
-
- in.o = ino;
- for (i = 0; i < SOF; i++)
- out.c[map2[i]] = in.c[map1[i]];
- return(out.o);
-}
-
-/*
- * This is a simplified version of the pathalias hashing function.
- * Thanks to Steve Belovin and Peter Honeyman
- *
- * hash a string into a long int. 31 bit crc (from andrew appel).
- * the crc table is computed at run time by crcinit() -- we could
- * precompute, but it takes 1 clock tick on a 750.
- *
- * This fast table calculation works only if POLY is a prime polynomial
- * in the field of integers modulo 2. Since the coefficients of a
- * 32-bit polynomial won't fit in a 32-bit word, the high-order bit is
- * implicit. IT MUST ALSO BE THE CASE that the coefficients of orders
- * 31 down to 25 are zero. Happily, we have candidates, from
- * E. J. Watson, "Primitive Polynomials (Mod 2)", Math. Comp. 16 (1962):
- * x^32 + x^7 + x^5 + x^3 + x^2 + x^1 + x^0
- * x^31 + x^3 + x^0
- *
- * We reverse the bits to get:
- * 111101010000000000000000000000001 but drop the last 1
- * f 5 0 0 0 0 0 0
- * 010010000000000000000000000000001 ditto, for 31-bit crc
- * 4 8 0 0 0 0 0 0
- */
-
-#define POLY 0x48000000L /* 31-bit polynomial (avoids sign problems) */
-
-static long CrcTable[128];
-
-/*
- - crcinit - initialize tables for hash function
- */
-static void
-crcinit()
-{
- register int i, j;
- register long sum;
-
- for (i = 0; i < 128; ++i) {
- sum = 0L;
- for (j = 7 - 1; j >= 0; --j)
- if (i & (1 << j))
- sum ^= POLY >> j;
- CrcTable[i] = sum;
- }
- DEBUG(("crcinit: done\n"));
-}
-
-/*
- - hash - Honeyman's nice hashing function
- */
-static long
-hash(name, size)
-register char *name;
-register int size;
-{
- register long sum = 0L;
-
- while (size--) {
- sum = (sum >> 7) ^ CrcTable[(sum ^ (*name++)) & 0x7f];
- }
- DEBUG(("hash: returns (%ld)\n", sum));
- return(sum);
-}
-
-/*
- * case-mapping stuff
- *
- * Borrowed from C News, by permission of the authors. Somewhat modified.
- *
- * We exploit the fact that we are dealing only with headers here, and
- * headers are limited to the ASCII characters by RFC822. It is barely
- * possible that we might be dealing with a translation into another
- * character set, but in particular it's very unlikely for a header
- * character to be outside -128..255.
- *
- * Life would be a whole lot simpler if tolower() could safely and portably
- * be applied to any char.
- */
-
-#define OFFSET 128 /* avoid trouble with negative chars */
-
-/* must call casencmp before invoking TOLOW... */
-#define TOLOW(c) (cmap[(c)+OFFSET])
-
-/* ...but the use of it in CISTREQN is safe without the preliminary call (!) */
-/* CISTREQN is an optimised case-insensitive strncmp(a,b,n)==0; n > 0 */
-#define CISTREQN(a, b, n) \
- (TOLOW((a)[0]) == TOLOW((b)[0]) && casencmp(a, b, n) == 0)
-
-#define MAPSIZE (256+OFFSET)
-static char cmap[MAPSIZE]; /* relies on init to '\0' */
-static int mprimed = 0; /* has cmap been set up? */
-
-/*
- - mapprime - set up case-mapping stuff
- */
-static void
-mapprime()
-{
- register char *lp;
- register char *up;
- register int c;
- register int i;
- static char lower[] = "abcdefghijklmnopqrstuvwxyz";
- static char upper[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-
- for (lp = lower, up = upper; *lp != '\0'; lp++, up++) {
- c = *lp;
- cmap[c+OFFSET] = c;
- cmap[*up+OFFSET] = c;
- }
- for (i = 0; i < MAPSIZE; i++)
- if (cmap[i] == '\0')
- cmap[i] = (char)(i-OFFSET);
- mprimed = 1;
-}
-
-/*
- - casencmp - case-independent strncmp
- */
-static int /* < == > 0 */
-casencmp(s1, s2, len)
-char *s1;
-char *s2;
-int len;
-{
- register char *p1;
- register char *p2;
- register int n;
-
- if (!mprimed)
- mapprime();
-
- p1 = s1;
- p2 = s2;
- n = len;
- while (--n >= 0 && *p1 != '\0' && TOLOW(*p1) == TOLOW(*p2)) {
- p1++;
- p2++;
- }
- if (n < 0)
- return(0);
-
- /*
- * The following case analysis is necessary so that characters
- * which look negative collate low against normal characters but
- * high against the end-of-string NUL.
- */
- if (*p1 == '\0' && *p2 == '\0')
- return(0);
- else if (*p1 == '\0')
- return(-1);
- else if (*p2 == '\0')
- return(1);
- else
- return(TOLOW(*p1) - TOLOW(*p2));
-}
-
-/*
- - mapcase - do case-mapped copy
- */
-static char * /* returns src or dst */
-mapcase(dst, src, siz)
-char *dst; /* destination, used only if mapping needed */
-char *src; /* source; src == dst is legal */
-size_t siz;
-{
- register char *s;
- register char *d;
- register char *c; /* case break */
- register char *e; /* end of source */
-
-
- c = cipoint(src, siz);
- if (c == NULL)
- return(src);
-
- if (!mprimed)
- mapprime();
- s = src;
- e = s + siz;
- d = dst;
-
- while (s < c)
- *d++ = *s++;
- while (s < e)
- *d++ = TOLOW(*s++);
-
- return(dst);
-}
-
-/*
- - cipoint - where in this message-ID does it become case-insensitive?
- *
- * The RFC822 code is not quite complete. Absolute, total, full RFC822
- * compliance requires a horrible parsing job, because of the arcane
- * quoting conventions -- abc"def"ghi is not equivalent to abc"DEF"ghi,
- * for example. There are three or four things that might occur in the
- * domain part of a message-id that are case-sensitive. They don't seem
- * to ever occur in real news, thank Cthulhu. (What? You were expecting
- * a merciful and forgiving deity to be invoked in connection with RFC822?
- * Forget it; none of them would come near it.)
- */
-static char * /* pointer into s, or NULL for "nowhere" */
-cipoint(s, siz)
-char *s;
-size_t siz;
-{
- register char *p;
- static char post[] = "postmaster";
- static int plen = sizeof(post)-1;
-
- switch (conf.casemap) {
- case '0': /* unmapped, sensible */
- return(NULL);
- break;
- case 'C': /* C News, RFC 822 conformant (approx.) */
- p = memchr(s, '@', siz);
- if (p == NULL) /* no local/domain split */
- return(NULL); /* assume all local */
- else if (p - (s+1) == plen && CISTREQN(s+1, post, plen)) {
- /* crazy -- "postmaster" is case-insensitive */
- return(s);
- } else
- return(p);
- break;
- case '=': /* 2.11, neither sensible nor conformant */
- return(s); /* all case-insensitive */
- break;
- }
-
- DEBUG(("cipoint: unknown case mapping `%c'\n", conf.casemap));
- return(NULL); /* just leave it alone */
-}
-
-/*
- - dbzdebug - control dbz debugging at run time
- */
-int /* old value */
-dbzdebug(value)
-int value;
-{
-#ifdef DBZDEBUG
- register int old = debug;
-
- debug = value;
- return(old);
-#else
- return(-1);
-#endif
-}
diff --git a/contrib/libio/dbz/dbz.h b/contrib/libio/dbz/dbz.h
deleted file mode 100644
index 3d7e8ed..0000000
--- a/contrib/libio/dbz/dbz.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* for dbm and dbz */
-typedef struct {
- char *dptr;
- int dsize;
-} datum;
-
-/* standard dbm functions */
-extern int dbminit();
-extern datum fetch();
-extern int store();
-extern int delete(); /* not in dbz */
-extern datum firstkey(); /* not in dbz */
-extern datum nextkey(); /* not in dbz */
-extern int dbmclose(); /* in dbz, but not in old dbm */
-
-/* new stuff for dbz */
-extern int dbzfresh();
-extern int dbzagain();
-extern datum dbzfetch();
-extern int dbzstore();
-extern int dbzsync();
-extern long dbzsize();
-extern int dbzincore();
-extern int dbzcancel();
-extern int dbzdebug();
-
-/*
- * In principle we could handle unlimited-length keys by operating a chunk
- * at a time, but it's not worth it in practice. Setting a nice large
- * bound on them simplifies the code and doesn't hurt anything.
- */
-#define DBZMAXKEY 255
diff --git a/contrib/libio/dbz/dbzmain.c b/contrib/libio/dbz/dbzmain.c
deleted file mode 100644
index a393d64..0000000
--- a/contrib/libio/dbz/dbzmain.c
+++ /dev/null
@@ -1,519 +0,0 @@
-/*
- * dbz - use and test dbz in various ways
- *
- * -Log-
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <string.h>
-#include <dbz.h>
-
-#ifdef FUNNYSEEKS
-#include <unistd.h>
-#else
-#define SEEK_SET 0
-#endif
-
-#define STREQ(a, b) (*(a) == *(b) && strcmp((a), (b)) == 0)
-
-#ifndef lint
-static char RCSid[] = "$Header: /egcs/carton/cvsfiles/egcs/./libio/dbz/dbzmain.c,v 1.1.1.1 1997/08/21 22:58:23 jason Exp $";
-#endif
-
-char *progname;
-
-char *inname = "(no file)"; /* filename for messages etc. */
-long lineno; /* line number for messages etc. */
-
-char *my_basename;
-char *pagname;
-char *dir_name;
-char *str2dup();
-FILE *base;
-
-int op = 'b'; /* what to do, default build a new table */
-int baseinput = 1; /* is the base file also the input? */
-
-char *from = NULL; /* old table to use for dbzagain() */
-int omitzero = 0; /* omit lines tagged with 0 */
-long every = 0; /* report every n lines */
-int syncs = 0; /* dbzsync() on each report */
-int quick = 0; /* quick checking, not too thorough */
-int sweep = 0; /* sweep file checking all offsets */
-int useincore = 1; /* should we use incore facility? */
-long xxx = 0; /* debugging variable */
-int printx = 0; /* print xxx after all is done */
-int unique = 1; /* before store(), check with fetch() */
-int usefresh = 0; /* use dbzfresh? */
-long siz = 0; /* -p size */
-char map = 'C'; /* -p map */
-long tag = 0; /* -p tag mask */
-int exact = 0; /* do not run dbzsize(siz) */
-int dbzint = 1; /* use new interface? */
-char fs = '\t'; /* field separator, default tab */
-int unopen = 0; /* make base unopenable during dbminit? */
-char *change = NULL; /* chdir here before dbmclose */
-
-#define DEFBUF 1024 /* default line-buffer size */
-int buflen = DEFBUF; /* line length limit */
-char lbuf[DEFBUF];
-char *line = lbuf;
-char cbuf[DEFBUF];
-char *cmp = cbuf;
-
-void fail();
-void dofile();
-void runs();
-void dosweep();
-void mkfiles();
-void crfile();
-void doline();
-void process();
-
-#ifdef HAVERFCIZE
-extern char *rfc822ize();
-#else
-#define rfc822ize(n) (n)
-#endif
-
-extern char *malloc();
-
-/*
- - main - parse arguments and handle options
- */
-int
-main(argc, argv)
-int argc;
-char *argv[];
-{
- int c;
- int errflg = 0;
- extern int optind;
- extern char *optarg;
- int doruns = 0;
- extern long atol();
-
- progname = argv[0];
-
- while ((c = getopt(argc, argv, "axcmt:l:R0E:SqOiX:Yuf:p:eMUC:d")) != EOF)
- switch (c) {
- case 'a': /* append to existing table */
- if (op != 'b')
- fail("only one of -a -x -c -m can be given", "");
- op = 'a';
- baseinput = 0;
- break;
- case 'x': /* extract from existing table */
- if (op != 'b')
- fail("only one of -a -x -c -m can be given", "");
- op = 'x';
- baseinput = 0;
- break;
- case 'c': /* check existing table */
- if (op != 'b')
- fail("only one of -a -x -c -m can be given", "");
- op = 'c';
- break;
- case 'm': /* extract missing (complement of -x) */
- if (op != 'b')
- fail("only one of -a -x -c -m can be given", "");
- op = 'm';
- baseinput = 0;
- break;
- case 't': /* set field separator */
- if (strlen(optarg) > 1)
- fail("only one field separator allowed", "");
- fs = *optarg;
- break;
- case 'l': /* override line-length limit */
- buflen = atoi(optarg) + 1;
- if (buflen <= 2)
- fail("bad -l value `%s'", optarg);
- line = malloc(buflen);
- cmp = malloc(buflen);
- if (line == NULL || cmp == NULL)
- fail("cannot allocate %s-byte buffers", optarg);
- break;
- case 'R': /* print run statistics */
- doruns = 1;
- break;
- case '0': /* omit lines tagged (by fake -t) with 0 */
- omitzero = 1;
- break;
- case 'E': /* report every n items */
- every = atol(optarg);
- break;
- case 'S': /* dbzsync() on each -E report */
- syncs = 1;
- break;
- case 'q': /* quick check or extract */
- quick = 1;
- break;
- case 'O': /* sweep file checking all offsets */
- sweep = 1;
- break;
- case 'i': /* don't use incore */
- useincore = 0;
- break;
- case 'X': /* set xxx */
- xxx = atoi(optarg);
- break;
- case 'Y': /* print xxx afterward */
- printx = 1;
- break;
- case 'u': /* don't check uniqueness */
- unique = 0;
- break;
- case 'f': /* init from existing table's parameters */
- from = optarg;
- break;
- case 'p': /* parameters for dbzfresh */
- if (sscanf(optarg, "%ld %1s %lx", &siz, &map, &tag) != 3) {
- map = '?';
- tag = 0;
- if (sscanf(optarg, "%ld", &siz) != 1)
- fail("bad -n value `%s'", optarg);
- }
- usefresh = 1;
- break;
- case 'e': /* -p size is exact, don't dbzsize() it */
- exact = 1;
- break;
- case 'M': /* use old dbm interface + rfc822ize */
- dbzint = 0;
- break;
- case 'U': /* make base unopenable during init */
- unopen = 1;
- break;
- case 'C': /* change directories before dbmclose */
- change = optarg;
- break;
- case 'd': /* Debugging. */
- if (dbzdebug(1) < 0)
- fail("dbz debugging not available", "");
- break;
- case '?':
- default:
- errflg++;
- break;
- }
- if (errflg || optind >= argc || (optind+1 < argc && baseinput)) {
- fprintf(stderr, "usage: %s ", progname);
- fprintf(stderr, "[-a] [-x] [-c] database [file] ...\n");
- exit(2);
- }
-
- (void) dbzincore(useincore);
- my_basename = argv[optind];
- pagname = str2dup(my_basename, ".pag");
- dir_name = str2dup(my_basename, ".dir");
- mkfiles();
- optind++;
-
- if (baseinput) /* implies no further arguments */
- process(base, my_basename);
- else if (optind >= argc)
- process(stdin, "stdin");
- else
- for (; optind < argc; optind++)
- dofile(argv[optind]);
-
- if (change != NULL)
- (void) chdir(change);
- if (dbmclose() < 0)
- fail("dbmclose failed", "");
- if (doruns)
- runs(pagname);
- if (sweep)
- dosweep(my_basename, pagname);
- if (printx)
- printf("%ld\n", xxx);
-#ifdef DBZ_FINISH
- DBZ_FINISH;
-#endif
- exit(0);
-}
-
-/*
- - dofile - open a file and invoke process()
- */
-void
-dofile(name)
-char *name;
-{
- register FILE *in;
-
- if (STREQ(name, "-"))
- process(stdin, "-");
- else {
- in = fopen(name, "r");
- if (in == NULL)
- fail("cannot open `%s'", name);
- process(in, name);
- (void) fclose(in);
- }
-}
-
-/*
- - mkfiles - create empty files and open them up
- */
-void
-mkfiles()
-{
- if (op == 'b' && !dbzint) {
- crfile(dir_name);
- crfile(pagname);
- }
-
- base = fopen(my_basename, (op == 'a') ? "a" : "r");
- if (base == NULL)
- fail("cannot open `%s'", my_basename);
- if (unopen)
- (void) chmod(my_basename, 0);
- if (from != NULL) {
- if (dbzagain(my_basename, from) < 0)
- fail("dbzagain(`%s'...) failed", my_basename);
- } else if (op == 'b' && dbzint) {
- if (!exact)
- siz = dbzsize(siz);
- if (dbzfresh(my_basename, siz, (int)fs, map, (off_t)tag) < 0)
- fail("dbzfresh(`%s'...) failed", my_basename);
- } else if (dbminit(my_basename) < 0)
- fail("dbminit(`%s') failed", my_basename);
- if (unopen)
- (void) chmod(my_basename, 0600); /* hard to restore original */
-}
-
-/*
- - crfile - create a file
- */
-void
-crfile(name)
-char *name;
-{
- register int f;
-
- f = creat(name, 0666);
- if (f < 0)
- fail("cannot create `%s'", name);
- (void) close(f);
-}
-
-/*
- - process - process input file
- */
-void
-process(in, name)
-FILE *in;
-char *name;
-{
- register off_t place;
-
- inname = name;
- lineno = 0;
-
- for (;;) {
- place = ftell(in);
- if (fgets(line, buflen, in) == NULL)
- return;
- lineno++;
- if (every > 0 && lineno%every == 0) {
- fprintf(stderr, "%ld\n", lineno);
- if (dbzsync() < 0)
- fail("dbzsync failed", "");
- }
- doline(line, place);
- }
- /* NOTREACHED */
-}
-
-/*
- - doline - process input line
- */
-void
-doline(lp, inoffset)
-char *lp;
-off_t inoffset;
-{
- register char *p;
- register char pc;
- datum key, value;
- off_t place = inoffset;
- register int shouldfind;
- register int llen;
- char keytext[DBZMAXKEY+1];
-
- p = NULL;
- if (fs != '\0')
- p = strchr(lp, fs);
- if (p == NULL)
- p = lp + strlen(lp);
- if (p > lp && *(p-1) == '\n')
- p--;
- if (p - lp > DBZMAXKEY)
- fail("key of `%.40s...' too long", lp);
- pc = *p;
- *p = '\0';
- (void) strcpy(keytext, lp);
- *p = pc;
- key.dptr = (dbzint) ? keytext : rfc822ize(keytext);
- key.dsize = strlen(keytext)+1;
-
- switch (op) {
- case 'a':
- place = ftell(base);
- llen = strlen(lp);
- if (fwrite(lp, 1, llen, base) != llen)
- fail("write error in `%s'", my_basename);
- /* FALLTHROUGH */
- case 'b':
- if (omitzero && p != NULL && *(p+1) == '0')
- return;
- if (unique) {
- value = (dbzint) ? dbzfetch(key) : fetch(key);
- if (value.dptr != NULL)
- fail("`%.40s...' already present", lp);
- }
- value.dptr = (char *)&place;
- value.dsize = (int)sizeof(off_t);
- if (((dbzint) ? dbzstore(key, value) : store(key, value)) < 0)
- fail("store failed on `%.40s...'", lp);
- break;
- case 'c':
- value = (dbzint) ? dbzfetch(key) : fetch(key);
- shouldfind = (omitzero && p != NULL && *(p+1) == '0') ? 0 : 1;
- if (!shouldfind && (value.dptr != NULL || value.dsize != 0))
- fail("`%.40s...' found, shouldn't be", lp);
- if (shouldfind && (value.dptr == NULL ||
- value.dsize != sizeof(off_t)))
- fail("can't find `%.40s...'", lp);
- if (shouldfind && !quick) {
- (void) memcpy((char *)&place, value.dptr, sizeof(off_t));
- if (place != inoffset)
- fail("offset mismatch on `%.40s...'", lp);
- if (fseek(base, place, SEEK_SET) == -1)
- fail("fseek failed on `%.40s...'", lp);
- if (fgets(cmp, buflen, base) == NULL)
- fail("can't read line for `%.40s...'", lp);
- if (!STREQ(lp, cmp))
- fail("compare failed on `%.40s...'", lp);
- }
- break;
- case 'x':
- value = (dbzint) ? dbzfetch(key) : fetch(key);
- if (value.dptr != NULL && !quick) {
- (void) memcpy((char *)&place, value.dptr, sizeof(off_t));
- if (fseek(base, place, SEEK_SET) == -1)
- fail("fseek failed on `%.40s...'", lp);
- if (fgets(cmp, buflen, base) == NULL)
- fail("can't read line for `%.40s...'", lp);
- fputs(cmp, stdout);
- } else if (value.dptr != NULL)
- fputs(lp, stdout);
- break;
- case 'm':
- value = (dbzint) ? dbzfetch(key) : fetch(key);
- if (value.dptr == NULL) {
- fputs(keytext, stdout);
- putchar('\n');
- }
- break;
- default:
- fail("unknown operator -- can't happen", "");
- break;
- }
-}
-
-/*
- - runs - print run statistics
- */
-void
-runs(file)
-char *file;
-{
- register FILE *fd;
- off_t it;
- register long run;
-
- fd = fopen(file, "r");
- if (fd == NULL)
- fail("cannot reopen `%s'", file);
- run = 0;
- while (fread((char *)&it, sizeof(off_t), 1, fd) == 1) {
- if (it != 0)
- run++;
- else if (run > 0) {
- printf("%ld\n", run);
- run = 0;
- }
- }
- (void) fclose(fd);
-}
-
-/*
- - dosweep - sweep pag file checking for valid offsets
- */
-void
-dosweep(fn, pn)
-char *fn;
-char *pn;
-{
- register FILE *pf;
- off_t it;
- char nl;
- register FILE *hf;
-
- hf = fopen(fn, "r");
- if (hf == NULL)
- fail("cannot reopen `%s'", fn);
- pf = fopen(pn, "r");
- if (pf == NULL)
- fail("cannot reopen `%s'", pn);
- while (fread((char *)&it, sizeof(off_t), 1, pf) == 1) {
- it = (it & ((off_t)0x80000000)) ? (it&~((off_t)0xff000000)) : it;
- if (it != 0 && it != 1) { /* 0 empty, 1 known okay */
- it--; /* get rid of bias */
- (void) fseek(hf, it-1, SEEK_SET);
- nl = getc(hf);
- if (nl != '\n')
- fprintf(stderr, "offset 0%lo does not point to line\n",
- (long)it);
- }
- }
- (void) fclose(hf);
- (void) fclose(pf);
-}
-
-/*
- - fail - complain and die
- */
-void
-fail(s1, s2)
-char *s1;
-char *s2;
-{
- fprintf(stderr, "%s: (file `%s', line %ld) ", progname, inname, lineno);
- fprintf(stderr, s1, s2);
- fprintf(stderr, "\n");
- exit(1);
-}
-
-/*
- - str2dup - concatenate strings and malloc result
- */
-char *
-str2dup(s1, s2)
-char *s1;
-char *s2;
-{
- register char *p;
-
- p = malloc((size_t)strlen(s1) + strlen(s2) + 1);
- if (p == NULL)
- fail("can't allocate space for strings", "");
- (void) strcpy(p, s1);
- (void) strcat(p, s2);
- return(p);
-}
diff --git a/contrib/libio/dbz/fake.c b/contrib/libio/dbz/fake.c
deleted file mode 100644
index ed2a2b7..0000000
--- a/contrib/libio/dbz/fake.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * fake - make up random lines resembling history-file entries, reproducibly
- *
- * -Log-
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <string.h>
-
-#define MAXSTR 500 /* For sizing strings -- DON'T use BUFSIZ! */
-#define STREQ(a, b) (*(a) == *(b) && strcmp((a), (b)) == 0)
-
-#ifndef lint
-static char RCSid[] = "$Header: /rel/cvsfiles/devo/libio/dbz/fake.c,v 1.2 1993/10/25 20:02:42 bothner Exp $";
-#endif
-
-int midonly = 0; /* just message ids, rest not realistic */
-int tag = 0; /* tag lines with random digit for later use */
-int expired = -1; /* percentage of lines to be expired */
-
-int debug = 0;
-char *progname;
-
-char *inname; /* filename for messages etc. */
-long lineno; /* line number for messages etc. */
-
-void doline();
-void addchars();
-void seed();
-
-/*
- - main - parse arguments and handle options
- */
-int
-main(argc, argv)
-int argc;
-char *argv[];
-{
- int c;
- int errflg = 0;
- FILE *in;
- struct stat statbuf;
- extern int optind;
- extern char *optarg;
- void process();
- register long no;
- extern long atol();
- char line[MAXSTR];
-
- progname = argv[0];
-
- while ((c = getopt(argc, argv, "ms:te:d")) != EOF)
- switch (c) {
- case 'm': /* message-ids only */
- midonly = 1;
- break;
- case 's': /* seed */
- seed(atol(optarg));
- break;
- case 't': /* tag lines with a random digit */
- tag = 1;
- break;
- case 'e': /* percentage to be expired */
- expired = atoi(optarg);
- break;
- case 'd': /* Debugging. */
- debug++;
- break;
- case '?':
- default:
- errflg++;
- break;
- }
- if (errflg || optind != argc - 1) {
- fprintf(stderr, "usage: %s ", progname);
- fprintf(stderr, "[-m] [-s seed] length\n");
- exit(2);
- }
-
- for (no = atol(argv[optind]); no > 0; no--) {
- doline(line);
- puts(line);
- }
-#ifdef DBZ_FINISH
- DBZ_FINISH;
-#endif
- exit(0);
-}
-
-/*
- - doline - generate random history pseudo-line
- */
-void
-doline(buf)
-char *buf;
-{
- char tagch[2];
-
- (void) strcpy(buf, "<");
- addchars(buf, range(4, 20));
- (void) strcat(buf, "@");
- addchars(buf, range(8, 20));
- if (midonly)
- (void) strcat(buf, ">\tx");
- else {
- if (tag) {
- tagch[0] = "1234567890"[range(0,9)];
- tagch[1] = '\0';
- (void) strcat(buf, ">\t");
- (void) strcat(buf, tagch);
- (void) strcat(buf, "00000000~-");
- } else
- (void) strcat(buf, ">\t1234567890~-");
- }
- if (range(1, 100) > expired) {
- if (midonly)
- (void) strcat(buf, "\tx");
- else {
- (void) strcat(buf, "\t");
- addchars(buf, range(10, 30));
- }
- }
-}
-
-/*
- - addchars - generate n random characters suitable for history file
- */
-void
-addchars(buf, len)
-char *buf;
-int len;
-{
- register int i;
- register char *p = buf + strlen(buf);
- static char vocab[] = "1234567890.abcde.fghij.klmno.pqrst.uvwxyz.\
-1234567890.ABCDE.FGHIJ.KLMNO.PQRST.UVWXYZ.1234567890.\
-1234567890.abcde.fghij.klmno.pqrst.uvwxyz.1234567890";
-
- for (i = len; i > 0; i--)
- *p++ = vocab[range(0, sizeof(vocab)-2)];
- *p++ = '\0';
-}
diff --git a/contrib/libio/dbz/firstlast25 b/contrib/libio/dbz/firstlast25
deleted file mode 100644
index 4850468..0000000
--- a/contrib/libio/dbz/firstlast25
+++ /dev/null
@@ -1,50 +0,0 @@
-<m....VO1.9q.@s95e1zKsIj7LrIwa1> 600000000~- 90fz0706yo.1Env21x8b
-<H5.i.R6ZQ2@Vg6.5mqj8..z> 200000000~-
-<1Hy.ufmjqe371x5.o@HEEl0tAp4> 700000000~-
-<T6.c9.xM4i@943..7z.c..3h> 600000000~-
-<Exus7LsME4fPL9v8@2.ouu97O25z9cdft> 700000000~-
-<6kUzkf.v74@iC1iGj882RQ0zli> 400000000~-
-<J.7YT7dV.Kkul8Bh0fc@Rar.EnMx2lm0.6Yeob> 600000000~-
-<.wVJi1DX42@5.4i6.jaZ6qw9Ln1.> 500000000~-
-<uUd9e18vxzevae7uY@33a480208l0.4p2q> 300000000~-
-<43hQ.5shbE7@912400.ajES6x0sXl.M> 400000000~-
-<g25r..2r.0WOZ6k3@tb3.U9xrR.uw61a2y0> 600000000~-
-<923s5e67d5Oq085Y.1@6Pik68584> 900000000~-
-<.5.n5cx5aD62i9q8@Ai60Sc.4x> 200000000~-
-<9N9n@3.1ql87.yj2xFs.zLqI> 700000000~- Q2.kni8kZps7kF5uiEv32B38y4z.p
-<.X.fw.6LtoT.0@pp6bp.5s6yh74.> 400000000~-
-<54c1w@7..u1.99m9T4j.BNGBiK> 600000000~- .F3hb.OFh06V..p
-<j12Mtn6q9@m2.m1X1s> 500000000~-
-<o1WJV9G4H.zf0BX44w@W7.76xn33> 000000000~-
-<0C605s6plaAgfM.ap40@e6d66n.uv01W.j.8ph.> 100000000~- m.x7TY8.8DQ5
-<.2.14xdn.@D0g.W.uZ.75gyyg.q1G> 100000000~-
-<.A..03.@5v..64.5v3.3tbjUo.> 500000000~-
-<72..c19ms65.WCf0G3.@83seEG9nnhM.O.j22> 900000000~-
-<D..xX.kti9@u739li.xvy2> 000000000~- NPLL42XVfM
-<6HO.nFal1ufl3.8b@3.n0k7a.IDgNy> 700000000~- Wv4j3Itccnh0Zp3
-<x5RjUnIpd03xBBnuN@z0puc82Q26Ou.0T6> 400000000~- k67.hvXwv6X745R4rh2ybuFN3n.
-<62dIeg.fW92.ov375@x76mf5c6.37.v> 000000000~-
-<chdpqs.0mgZOp.@Dxl9v..94e7ar2> 900000000~-
-<.9Xr.7V91..oe5CG.hX@p5x3jos3s27R6O3yj1> 400000000~-
-<Mm6dr.231dH35ua@SE1u0za3V1M43lRn9> 100000000~-
-<JIhw2@.Qdf.8v28Tnf1M> 200000000~-
-<z4FCa.q4MF..EE0.2@W9U63e33h9w3lcFFl> 400000000~-
-<87.W3r6is4.@svVqQCBiNqz400A.qwj> 200000000~-
-<0liI7Lu0Mx435m7M99@87Xw.8j63.9.> 500000000~-
-<tRtht5M.6d0@06gj.qm3.s9> 200000000~- e27S.BKVD70P.o
-<Jpga8@m68yvw.b4b> 200000000~-
-<.2.69hy3JT1@Aq3.r83o.9> 700000000~-
-<.W7EurYppo4fhzs.I@8651m2W7v> 700000000~-
-<3m02.@22074.a5ct2j3> 900000000~-
-<.fy9Epa@.1.kNGCNokFwB8ezo1WM> 800000000~-
-<c758d64.FS4yY7L5@43sw.kI6> 900000000~-
-<vLd0.t@.kq70oHl96ixdnXd.GVv> 100000000~- 9A6Ejq5t55I4VJ6.q1
-<d3.4@n17p4N.77N7W..7.8> 300000000~-
-<f2lv064.8@4jokk3e07> 400000000~-
-<rr7hoxA.U7.JXxnpvd@1rbMO437vHnakx> 000000000~-
-<.0p3G7novlrYz9kjI@Sx.2w.yqzerZl12781.k> 700000000~-
-<51ny.pQ7ay4@nfU2l1f0ixG09584.m> 000000000~- 38K5bhK7cr6.bg.5MlC2Fxq06Ziuw.
-<2.cau.9s@.n4Pk0Jd9g> 300000000~-
-<bEH1Bwa.662i@zm.3g.gx4.lp3> 300000000~- c8.t4Q0.8t0.m50
-<.t13789u5AqM4m3.z0T@P17e.ypf> 200000000~- q17z.fZ3.FyD533WthqZs8q7
-<M4r1I@Ovaev.dp> 100000000~-
diff --git a/contrib/libio/dbz/getmap b/contrib/libio/dbz/getmap
deleted file mode 100755
index fd746ca..0000000
--- a/contrib/libio/dbz/getmap
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-awk 'NR == 1 {
- for (i = 9; i <= NF; i++)
- printf "%s ", $i
- printf "\n"
-}' $*
diff --git a/contrib/libio/dbz/random.c b/contrib/libio/dbz/random.c
deleted file mode 100644
index 1d8de3a..0000000
--- a/contrib/libio/dbz/random.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * random-number generator for testing
- */
-static unsigned long next = 1;
-
-/*
- - range - generate a random number within an inclusive range
- *
- * Algorithm from ANSI C standard. Limitation: max-min <= 32767.
- */
-int
-range(min, max)
-int min;
-int max;
-{
- register int temp;
-
- next = next * 1103515245 + 12345;
- temp = (int)((next/65536)%32768);
- return(temp%(max - min + 1) + min);
-}
-
-/*
- - seed - seed random number generator
- */
-void
-seed(n)
-long n;
-{
- next = (unsigned long)n;
-}
diff --git a/contrib/libio/dbz/revbytes b/contrib/libio/dbz/revbytes
deleted file mode 100644
index b3d80c2..0000000
--- a/contrib/libio/dbz/revbytes
+++ /dev/null
@@ -1,7 +0,0 @@
-NR == 1 {
- printf "%s %s %s %s %s %s %s %s %s", $1, $2, $3, $4, $5, $6, $7, $8, $9
- for (i = NF; i > 9; i--)
- printf " %s", $i
- printf "\n"
-}
-NR > 1 { print }
diff --git a/contrib/libio/dbz/stdio.h b/contrib/libio/dbz/stdio.h
deleted file mode 100644
index 80faee3..0000000
--- a/contrib/libio/dbz/stdio.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "../iostdio.h"
diff --git a/contrib/libio/depend b/contrib/libio/depend
deleted file mode 100644
index 15888c4..0000000
--- a/contrib/libio/depend
+++ /dev/null
@@ -1,379 +0,0 @@
-# AUTOMATICALLY GENERATED BY 'make depend' - DO NOT EDIT
-
-PlotFile.o: PlotFile.cc \
- $(srcdir)/PlotFile.h \
- $(srcdir)/fstream.h \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-SFile.o: SFile.cc \
- $(srcdir)/SFile.h \
- $(srcdir)/fstream.h \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-builtinbuf.o: builtinbuf.cc \
- $(srcdir)/builtinbuf.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/iostreamP.h \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h
-editbuf.o: editbuf.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/editbuf.h \
- $(srcdir)/fstream.h \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h
-filebuf.o: filebuf.cc \
- $(srcdir)/iostreamP.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/builtinbuf.h
-fstream.o: fstream.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/fstream.h \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h
-indstream.o: indstream.cc \
- $(srcdir)/indstream.h \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioassign.o: ioassign.cc \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h
-ioextend.o: ioextend.cc \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iomanip.o: iomanip.cc \
- $(srcdir)/iomanip.h \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iostream.o: iostream.cc \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/floatio.h
-isgetline.o: isgetline.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h
-isgetsb.o: isgetsb.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h
-isscan.o: isscan.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h
-osform.o: osform.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h
-parsestream.o: parsestream.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/parsestream.h \
- $(srcdir)/streambuf.h
-pfstream.o: pfstream.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/pfstream.h \
- $(srcdir)/fstream.h \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/procbuf.h
-procbuf.o: procbuf.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/procbuf.h \
- $(srcdir)/streambuf.h
-sbform.o: sbform.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/streambuf.h
-sbgetline.o: sbgetline.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/streambuf.h
-sbscan.o: sbscan.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/streambuf.h
-stdiostream.o: stdiostream.cc \
- $(srcdir)/stdiostream.h \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h
-stdstrbufs.o: stdstrbufs.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/stdiostream.h \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h
-stdstreams.o: stdstreams.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/streambuf.h \
- $(srcdir)/iostream.h
-stream.o: stream.cc \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/stream.h \
- $(srcdir)/iostream.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/strstream.h \
- $(srcdir)/strfile.h
-streambuf.o: streambuf.cc \
- $(srcdir)/iostreamP.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h
-strstream.o: strstream.cc \
- $(srcdir)/iostreamP.h \
- $(srcdir)/streambuf.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/strstream.h \
- $(srcdir)/iostream.h \
- $(srcdir)/strfile.h
-cleanup.o: cleanup.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-filedoalloc.o: filedoalloc.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-fileops.o: fileops.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-floatconv.o: floatconv.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-genops.o: genops.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofclose.o: iofclose.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofdopen.o: iofdopen.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofeof.o: iofeof.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioferror.o: ioferror.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofflush.o: iofflush.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofflush_u.o: iofflush_u.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofgetpos.o: iofgetpos.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofgets.o: iofgets.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofopen.o: iofopen.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofprintf.o: iofprintf.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofputs.o: iofputs.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofread.o: iofread.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofscanf.o: iofscanf.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofsetpos.o: iofsetpos.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioftell.o: ioftell.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iofwrite.o: iofwrite.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iogetc.o: iogetc.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iogetdelim.o: iogetdelim.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iogetline.o: iogetline.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iogets.o: iogets.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioignore.o: ioignore.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iopadn.o: iopadn.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioperror.o: ioperror.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iopopen.o: iopopen.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioprims.o: ioprims.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioprintf.o: ioprintf.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioputc.o: ioputc.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioputs.o: ioputs.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioscanf.o: ioscanf.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioseekoff.o: ioseekoff.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioseekpos.o: ioseekpos.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iosetbuffer.o: iosetbuffer.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iosetvbuf.o: iosetvbuf.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iosprintf.o: iosprintf.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iosscanf.o: iosscanf.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iostrerror.o: iostrerror.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-ioungetc.o: ioungetc.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-iovfprintf.o: iovfprintf.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/floatio.h
-iovfscanf.o: iovfscanf.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/floatio.h
-iovsprintf.o: iovsprintf.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/strfile.h
-iovsscanf.o: iovsscanf.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/strfile.h
-outfloat.o: outfloat.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-peekc.o: peekc.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-stdfiles.o: stdfiles.c \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h \
- $(srcdir)/libio.h $(_G_CONFIG_H)
-strops.o: strops.c \
- $(srcdir)/strfile.h \
- $(srcdir)/libio.h $(_G_CONFIG_H) \
- $(srcdir)/libioP.h \
- $(srcdir)/iolibio.h
diff --git a/contrib/libio/editbuf.cc b/contrib/libio/editbuf.cc
deleted file mode 100644
index 2230482..0000000
--- a/contrib/libio/editbuf.cc
+++ /dev/null
@@ -1,717 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License.
-
-Written by Per Bothner (bothner@cygnus.com). */
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
-#include "libioP.h"
-#include "editbuf.h"
-#include <stddef.h>
-#include <stdlib.h>
-
-/* NOTE: Some of the code here is taken from GNU emacs */
-/* Hence this file falls under the GNU License! */
-
-// Invariants for edit_streambuf:
-// An edit_streambuf is associated with a specific edit_string,
-// which again is a sub-string of a specific edit_buffer.
-// An edit_streambuf is always in either get mode or put mode, never both.
-// In get mode, gptr() is the current position,
-// and pbase(), pptr(), and epptr() are all NULL.
-// In put mode, pptr() is the current position,
-// and eback(), gptr(), and egptr() are all NULL.
-// Any edit_streambuf that is actively doing insertion (as opposed to
-// replacing) // must have its pptr() pointing to the start of the gap.
-// Only one edit_streambuf can be actively inserting into a specific
-// edit_buffer; the edit_buffer's _writer field points to that edit_streambuf.
-// That edit_streambuf "owns" the gap, and the actual start of the
-// gap is the pptr() of the edit_streambuf; the edit_buffer::_gap_start pointer
-// will only be updated on an edit_streambuf::overflow().
-
-int edit_streambuf::truncate()
-{
- str->buffer->delete_range(str->buffer->tell((buf_char*)pptr()),
- str->buffer->tell(str->end));
- return 0;
-}
-
-#ifdef OLD_STDIO
-inline void disconnect_gap_from_file(edit_buffer* buffer, FILE* fp)
-{
- if (buffer->gap_start_ptr != &fp->__bufp)
- return;
- buffer->gap_start_normal = fp->__bufp;
- buffer->gap_start_ptr = &buffer->gap_start_normal;
-}
-#endif
-
-void edit_streambuf::flush_to_buffer(edit_buffer* buffer)
-{
- if (pptr() > buffer->_gap_start && pptr() < buffer->gap_end())
- buffer->_gap_start = pptr();
-}
-
-void edit_streambuf::disconnect_gap_from_file(edit_buffer* buffer)
-{
- if (buffer->_writer != this) return;
- flush_to_buffer(buffer);
- setp(pptr(),pptr());
- buffer->_writer = NULL;
-}
-
-buf_index edit_buffer::tell(buf_char *ptr)
-{
- if (ptr <= gap_start())
- return ptr - data;
- else
- return ptr - gap_end() + size1();
-}
-
-#if 0
-buf_index buf_cookie::tell()
-{
- return str->buffer->tell(file->__bufp);
-}
-#endif
-
-buf_index edit_buffer::tell(edit_mark*mark)
-{
- return tell(data + mark->index_in_buffer(this));
-}
-
-// adjust the position of the gap
-
-void edit_buffer::move_gap(buf_offset pos)
-{
- if (pos < size1())
- gap_left (pos);
- else if (pos > size1())
- gap_right (pos);
-}
-
-void edit_buffer::gap_left (int pos)
-{
- register buf_char *to, *from;
- register int i;
- int new_s1;
-
- i = size1();
- from = gap_start();
- to = from + gap_size();
- new_s1 = size1();
-
- /* Now copy the characters. To move the gap down,
- copy characters up. */
-
- for (;;)
- {
- /* I gets number of characters left to copy. */
- i = new_s1 - pos;
- if (i == 0)
- break;
-#if 0
- /* If a quit is requested, stop copying now.
- Change POS to be where we have actually moved the gap to. */
- if (QUITP)
- {
- pos = new_s1;
- break;
- }
-#endif
- /* Move at most 32000 chars before checking again for a quit. */
- if (i > 32000)
- i = 32000;
- new_s1 -= i;
- while (--i >= 0)
- *--to = *--from;
- }
-
- /* Adjust markers, and buffer data structure, to put the gap at POS.
- POS is where the loop above stopped, which may be what was specified
- or may be where a quit was detected. */
- adjust_markers (pos << 1, size1() << 1, gap_size(), data);
-#ifndef OLD_STDIO
- _gap_start = data + pos;
-#else
- if (gap_start_ptr == &gap_start_normal)
- gap_start_normal = data + pos;
-#endif
- __gap_end_pos = to - data;
-/* QUIT;*/
-}
-
-void edit_buffer::gap_right (int pos)
-{
- register buf_char *to, *from;
- register int i;
- int new_s1;
-
- i = size1();
- to = gap_start();
- from = i + gap_end();
- new_s1 = i;
-
- /* Now copy the characters. To move the gap up,
- copy characters down. */
-
- while (1)
- {
- /* I gets number of characters left to copy. */
- i = pos - new_s1;
- if (i == 0)
- break;
-#if 0
- /* If a quit is requested, stop copying now.
- Change POS to be where we have actually moved the gap to. */
- if (QUITP)
- {
- pos = new_s1;
- break;
- }
-#endif
- /* Move at most 32000 chars before checking again for a quit. */
- if (i > 32000)
- i = 32000;
- new_s1 += i;
- while (--i >= 0)
- *to++ = *from++;
- }
-
- adjust_markers ((size1() + gap_size()) << 1, (pos + gap_size()) << 1,
- - gap_size(), data);
-#ifndef OLD_STDIO
- _gap_start = data+pos;
-#else
- if (gap_start_ptr == &gap_start_normal)
- gap_start_normal = data + pos;
-#endif
- __gap_end_pos = from - data;
-/* QUIT;*/
-}
-
-/* make sure that the gap in the current buffer is at least k
- characters wide */
-
-void edit_buffer::make_gap(buf_offset k)
-{
- register buf_char *p1, *p2, *lim;
- buf_char *old_data = data;
- int s1 = size1();
-
- if (gap_size() >= k)
- return;
-
- /* Get more than just enough */
- if (buf_size > 1000) k += 2000;
- else k += /*200;*/ 20; // for testing!
-
- p1 = (buf_char *) realloc (data, s1 + size2() + k);
- if (p1 == 0)
- abort(); /*memory_full ();*/
-
- k -= gap_size(); /* Amount of increase. */
-
- /* Record new location of text */
- data = p1;
-
- /* Transfer the new free space from the end to the gap
- by shifting the second segment upward */
- p2 = data + buf_size;
- p1 = p2 + k;
- lim = p2 - size2();
- while (lim < p2)
- *--p1 = *--p2;
-
- /* Finish updating text location data */
- __gap_end_pos += k;
-
-#ifndef OLD_STDIO
- _gap_start = data + s1;
-#else
- if (gap_start_ptr == &gap_start_normal)
- gap_start_normal = data + s1;
-#endif
-
- /* adjust markers */
- adjust_markers (s1 << 1, (buf_size << 1) + 1, k, old_data);
- buf_size += k;
-}
-
-/* Add `amount' to the position of every marker in the current buffer
- whose current position is between `from' (exclusive) and `to' (inclusive).
- Also, any markers past the outside of that interval, in the direction
- of adjustment, are first moved back to the near end of the interval
- and then adjusted by `amount'. */
-
-void edit_buffer::adjust_markers(register mark_pointer low,
- register mark_pointer high,
- int amount, buf_char *old_data)
-{
- register struct edit_mark *m;
- register mark_pointer mpos;
- /* convert to mark_pointer */
- amount <<= 1;
-
- if (_writer)
- _writer->disconnect_gap_from_file(this);
-
- for (m = mark_list(); m != NULL; m = m->chain)
- {
- mpos = m->_pos;
- if (amount > 0)
- {
- if (mpos > high && mpos < high + amount)
- mpos = high + amount;
- }
- else
- {
- if (mpos > low + amount && mpos <= low)
- mpos = low + amount;
- }
- if (mpos > low && mpos <= high)
- mpos += amount;
- m->_pos = mpos;
- }
-
- // Now adjust files
- edit_streambuf *file;
-
- for (file = files; file != NULL; file = file->next) {
- mpos = file->current() - old_data;
- if (amount > 0)
- {
- if (mpos > high && mpos < high + amount)
- mpos = high + amount;
- }
- else
- {
- if (mpos > low + amount && mpos <= low)
- mpos = low + amount;
- }
- if (mpos > low && mpos <= high)
- mpos += amount;
- char* new_pos = data + mpos;
- file->set_current(new_pos, file->is_reading());
- }
-}
-
-#if 0
-stdio_
- __off == index at start of buffer (need only be valid after seek ? )
- __buf ==
-
-if read/read_delete/overwrite mode:
- __endp <= min(*gap_start_ptr, edit_string->end->ptr(buffer))
-
-if inserting:
- must have *gap_start_ptr == __bufp && *gap_start_ptr+gap == __endp
- file->edit_string->end->ptr(buffer) == *gap_start_ptr+end
-if write_mode:
- if before gap
-#endif
-
-int edit_streambuf::underflow()
-{
- if (!(_mode & ios::in))
- return EOF;
- struct edit_buffer *buffer = str->buffer;
- if (!is_reading()) { // Must switch from put to get mode.
- disconnect_gap_from_file(buffer);
- set_current(pptr(), 1);
- }
- buf_char *str_end = str->end->ptr(buffer);
- retry:
- if (gptr() < egptr()) {
- return *gptr();
- }
- if ((buf_char*)gptr() == str_end)
- return EOF;
- if (str_end <= buffer->gap_start()) {
- setg(eback(), gptr(), str_end);
- goto retry;
- }
- if (gptr() < buffer->gap_start()) {
- setg(eback(), gptr(), buffer->gap_start());
- goto retry;
- }
- if (gptr() == buffer->gap_start()) {
- disconnect_gap_from_file(buffer);
-// fp->__offset += fp->__bufp - fp->__buffer;
- setg(buffer->gap_end(), buffer->gap_end(), str_end);
- }
- else
- setg(eback(), gptr(), str_end);
- goto retry;
-}
-
-int edit_streambuf::overflow(int ch)
-{
- if (_mode == ios::in)
- return EOF;
- struct edit_buffer *buffer = str->buffer;
- flush_to_buffer(buffer);
- if (ch == EOF)
- return 0;
- if (is_reading()) { // Must switch from get to put mode.
- set_current(gptr(), 0);
- }
- buf_char *str_end = str->end->ptr(buffer);
- retry:
- if (pptr() < epptr()) {
- *pptr() = ch;
- pbump(1);
- return (unsigned char)ch;
- }
- if ((buf_char*)pptr() == str_end || inserting()) {
- /* insert instead */
- if (buffer->_writer)
- buffer->_writer->flush_to_buffer(); // Redundant?
- buffer->_writer = NULL;
- if (pptr() >= buffer->gap_end())
- buffer->move_gap(pptr() - buffer->gap_size());
- else
- buffer->move_gap(pptr());
- buffer->make_gap(1);
- setp(buffer->gap_start(), buffer->gap_end());
- buffer->_writer = this;
- *pptr() = ch;
- pbump(1);
- return (unsigned char)ch;
- }
- if (str_end <= buffer->gap_start()) {
- // Entire string is left of gap.
- setp(pptr(), str_end);
- }
- else if (pptr() < buffer->gap_start()) {
- // Current pos is left of gap.
- setp(pptr(), buffer->gap_start());
- goto retry;
- }
- else if (pptr() == buffer->gap_start()) {
- // Current pos is at start of gap; move to end of gap.
-// disconnect_gap_from_file(buffer);
- setp(buffer->gap_end(), str_end);
-// __offset += __bufp - __buffer;
- }
- else {
- // Otherwise, current pos is right of gap.
- setp(pptr(), str_end);
- }
- goto retry;
-}
-
-void edit_streambuf::set_current(char *new_pos, int reading)
-{
- if (reading) {
- setg(new_pos, new_pos, new_pos);
- setp(NULL, NULL);
- }
- else {
- setg(NULL, NULL, NULL);
- setp(new_pos, new_pos);
- }
-}
-
-// Called by fseek(fp, pos, whence) if fp is bound to a edit_buffer.
-
-streampos edit_streambuf::seekoff(streamoff offset, _seek_dir dir,
- int /* =ios::in|ios::out*/)
-{
- struct edit_buffer *buffer = str->buffer;
- disconnect_gap_from_file(buffer);
- buf_index cur_pos = buffer->tell((buf_char*)current());;
- buf_index start_pos = buffer->tell(str->start);
- buf_index end_pos = buffer->tell(str->end);
- switch (dir) {
- case ios::beg:
- offset += start_pos;
- break;
- case ios::cur:
- offset += cur_pos;
- break;
- case ios::end:
- offset += end_pos;
- break;
- }
- if (offset < start_pos || offset > end_pos)
- return EOF;
- buf_char *new_pos = buffer->data + offset;
- buf_char* gap_start = buffer->gap_start();
- if (new_pos > gap_start) {
- buf_char* gap_end = buffer->gap_end();
- new_pos += gap_end - gap_start;
- if (new_pos >= buffer->data + buffer->buf_size) abort(); // Paranoia.
- }
- set_current(new_pos, is_reading());
- return EOF;
-}
-
-#if 0
-int buf_seek(void *arg_cookie, fpos_t * pos, int whence)
-{
- struct buf_cookie *cookie = arg_cookie;
- FILE *file = cookie->file;
- struct edit_buffer *buffer = cookie->str->buffer;
- buf_char *str_start = cookie->str->start->ptr(buffer);
- disconnect_gap_from_file(buffer, cookie->file);
- fpos_t cur_pos, new_pos;
- if (file->__bufp <= *buffer->gap_start_ptr
- || str_start >= buffer->__gap_end)
- cur_pos = str_start - file->__bufp;
- else
- cur_pos =
- (*buffer->gap_start_ptr - str_start) + (file->__bufp - __gap_end);
- end_pos = ...;
- switch (whence) {
- case SEEK_SET:
- new_pos = *pos;
- break;
- case SEEK_CUR:
- new_pos = cur_pos + *pos;
- break;
- case SEEK_END:
- new_pos = end_pos + *pos;
- break;
- }
- if (new_pos > end_pos) {
- seek to end_pos;
- insert_nulls(new_pos - end_pos);
- return;
- }
- if (str_start + new_pos <= *gap_start_ptr &* *gap_start_ptr < end) {
- __buffer = str_start;
- __off = 0;
- __bufp = str_start + new_pos;
- file->__get_limit =
- *buffer->gap_start_ptr; /* what if gap_start_ptr == &bufp ??? */
- } else if () {
-
- }
- *pos = new_pos;
-}
-#endif
-
-/* Delete characters from `from' up to (but not incl) `to' */
-
-void edit_buffer::delete_range (buf_index from, buf_index to)
-{
- register int numdel;
-
- if ((numdel = to - from) <= 0)
- return;
-
- /* Make sure the gap is somewhere in or next to what we are deleting */
- if (from > size1())
- gap_right (from);
- if (to < size1())
- gap_left (to);
-
- /* Relocate all markers pointing into the new, larger gap
- to point at the end of the text before the gap. */
- adjust_markers ((to + gap_size()) << 1, (to + gap_size()) << 1,
- - numdel - gap_size(), data);
-
- __gap_end_pos = to + gap_size();
- _gap_start = data + from;
-}
-
-void edit_buffer::delete_range(struct edit_mark *start, struct edit_mark *end)
-{
- delete_range(tell(start), tell(end));
-}
-
-void buf_delete_chars(struct edit_buffer *, struct edit_mark *, size_t)
-{
- abort();
-}
-
-edit_streambuf::edit_streambuf(edit_string* bstr, int mode)
-{
- _mode = mode;
- str = bstr;
- edit_buffer* buffer = bstr->buffer;
- next = buffer->files;
- buffer->files = this;
- char* buf_ptr = bstr->start->ptr(buffer);
- _inserting = 0;
-// setb(buf_ptr, buf_ptr, 0);
- set_current(buf_ptr, !(mode & ios::out+ios::trunc+ios::app));
- if (_mode & ios::trunc)
- truncate();
- if (_mode & ios::ate)
- seekoff(0, ios::end);
-}
-
-// Called by fclose(fp) if fp is bound to a edit_buffer.
-
-#if 0
-static int buf_close(void *arg)
-{
- register struct buf_cookie *cookie = arg;
- struct edit_buffer *buffer = cookie->str->buffer;
- struct buf_cookie **ptr;
- for (ptr = &buffer->files; *ptr != cookie; ptr = &(*ptr)->next) ;
- *ptr = cookie->next;
- disconnect_gap_from_file(buffer, cookie->file);
- free (cookie);
- return 0;
-}
-#endif
-
-edit_streambuf::~edit_streambuf()
-{
- if (_mode == ios::out)
- truncate();
- // Unlink this from list of files associated with bstr->buffer.
- edit_streambuf **ptr = &str->buffer->files;
- for (; *ptr != this; ptr = &(*ptr)->next) { }
- *ptr = next;
-
- disconnect_gap_from_file(str->buffer);
-}
-
-edit_buffer::edit_buffer()
-{
- buf_size = /*200;*/ 15; /* for testing! */
- data = (buf_char*)malloc(buf_size);
- files = NULL;
-#ifndef OLD_STDIO
- _gap_start = data;
- _writer = NULL;
-#else
- gap_start_normal = data;
- gap_start_ptr = &gap_start_normal;
-#endif
- __gap_end_pos = buf_size;
- start_mark.chain = &end_mark;
- start_mark._pos = 0;
- end_mark.chain = NULL;
- end_mark._pos = 2 * buf_size + 1;
-}
-
-// Allocate a new mark, which is adjusted by 'delta' bytes from 'this'.
-// Restrict new mark to lie within 'str'.
-
-edit_mark::edit_mark(struct edit_string *str, long delta)
-{
- struct edit_buffer *buf = str->buffer;
- chain = buf->start_mark.chain;
- buf->start_mark.chain = this;
- mark_pointer size1 = buf->size1() << 1;
- int gap_size = buf->gap_size() << 1;
- delta <<= 1;
-
- // check if new and old marks are opposite sides of gap
- if (_pos <= size1 && _pos + delta > size1)
- delta += gap_size;
- else if (_pos >= size1 + gap_size && _pos + delta < size1 + gap_size)
- delta -= gap_size;
-
- _pos = _pos + delta;
- if (_pos < str->start->_pos & ~1)
- _pos = (str->start->_pos & ~ 1) + (_pos & 1);
- else if (_pos >= str->end->_pos)
- _pos = (str->end->_pos & ~ 1) + (_pos & 1);
-}
-
-// A (slow) way to find the buffer a mark belongs to.
-
-edit_buffer * edit_mark::buffer()
-{
- struct edit_mark *mark;
- for (mark = this; mark->chain != NULL; mark = mark->chain) ;
- // Assume that the last mark on the chain is the end_mark.
- return (edit_buffer *)((char*)mark - offsetof(edit_buffer, end_mark));
-}
-
-edit_mark::~edit_mark()
-{
- // Must unlink mark from chain of owning buffer
- struct edit_buffer *buf = buffer();
- if (this == &buf->start_mark || this == &buf->end_mark) abort();
- edit_mark **ptr;
- for (ptr = &buf->start_mark.chain; *ptr != this; ptr = &(*ptr)->chain) ;
- *ptr = this->chain;
-}
-
-int edit_string::length() const
-{
- ptrdiff_t delta = end->ptr(buffer) - start->ptr(buffer);
- if (end->ptr(buffer) <= buffer->gap_start() ||
- start->ptr(buffer) >= buffer->gap_end())
- return delta;
- return delta - buffer->gap_size();
-}
-
-buf_char * edit_string::copy_bytes(int *lenp) const
-{
- char *new_str;
- int len1, len2;
- buf_char *start1, *start2;
- start1 = start->ptr(buffer);
- if (end->ptr(buffer) <= buffer->gap_start()
- || start->ptr(buffer) >= buffer->gap_end()) {
- len1 = end->ptr(buffer) - start1;
- len2 = 0;
- start2 = NULL; // To avoid a warning from g++.
- }
- else {
- len1 = buffer->gap_start() - start1;
- start2 = buffer->gap_end();
- len2 = end->ptr(buffer) - start2;
- }
- new_str = (char*)malloc(len1 + len2 + 1);
- memcpy(new_str, start1, len1);
- if (len2 > 0) memcpy(new_str + len1, start2, len2);
- new_str[len1+len2] = '\0';
- *lenp = len1+len2;
- return new_str;
-}
-
-// Replace the buf_chars in 'this' with ones from 'src'.
-// Equivalent to deleting this, then inserting src, except tries
-// to leave marks in place: Marks whose offset from the start
-// of 'this' is less than 'src->length()' will still have the
-// same offset in 'this' when done.
-
-void edit_string::assign(struct edit_string *src)
-{
- edit_streambuf dst_file(this, ios::out);
- if (buffer == src->buffer /*&& ???*/) { /* overly conservative */
- int src_len;
- buf_char *new_str;
- new_str = src->copy_bytes(&src_len);
- dst_file.sputn(new_str, src_len);
- free (new_str);
- } else {
- edit_streambuf src_file(src, ios::in);
- for ( ; ; ) {
- int ch = src_file.sbumpc();
- if (ch == EOF) break;
- dst_file.sputc(ch);
- }
- }
-}
diff --git a/contrib/libio/editbuf.h b/contrib/libio/editbuf.h
deleted file mode 100644
index d15758f..0000000
--- a/contrib/libio/editbuf.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License.
-
-Written by Per Bothner (bothner@cygnus.com). */
-
-#ifndef _EDITBUF_H
-#define _EDITBUF_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-#include <stdio.h>
-#include <fstream.h>
-
-extern "C++" {
-typedef unsigned long mark_pointer;
-// At some point, it might be nice to parameterize this code
-// in terms of buf_char.
-typedef /*unsigned*/ char buf_char;
-
-// Logical pos from start of buffer (does not count gap).
-typedef long buf_index;
-
-// Pos from start of buffer, possibly including gap_size.
-typedef long buf_offset;
-
-#if 0
-struct buf_cookie {
- FILE *file;
- struct edit_string *str;
- struct buf_cookie *next;
- buf_index tell();
-};
-#endif
-
-struct edit_buffer;
-struct edit_mark;
-
-// A edit_string is defined as the region between the 'start' and 'end' marks.
-// Normally (always?) 'start->insert_before()' should be false,
-// and 'end->insert_before()' should be true.
-
-struct edit_string {
- struct edit_buffer *buffer; // buffer that 'start' and 'end' belong to
- struct edit_mark *start, *end;
- int length() const; // count of buf_chars currently in string
- edit_string(struct edit_buffer *b,
- struct edit_mark *ms, struct edit_mark *me)
- { buffer = b; start = ms; end = me; }
-/* Make a fresh, contiguous copy of the data in STR.
- Assign length of STR to *LENP.
- (Output has extra NUL at out[*LENP].) */
- buf_char *copy_bytes(int *lenp) const;
-// FILE *open_file(char *mode);
- void assign(struct edit_string *src); // copy bytes from src to this
-};
-
-struct edit_streambuf : public streambuf {
- friend edit_buffer;
- edit_string *str;
- edit_streambuf* next; // Chain of edit_streambuf's for a edit_buffer.
- short _mode;
- edit_streambuf(edit_string* bstr, int mode);
- ~edit_streambuf();
- virtual int underflow();
- virtual int overflow(int c = EOF);
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- void flush_to_buffer();
- void flush_to_buffer(edit_buffer* buffer);
- int _inserting;
- int inserting() { return _inserting; }
- void inserting(int i) { _inserting = i; }
-// int delete_chars(int count, char* cut_buf); Not implemented.
- int truncate();
- int is_reading() { return gptr() != NULL; }
- buf_char* current() { return is_reading() ? gptr() : pptr(); }
- void set_current(char *p, int is_reading);
- protected:
- void disconnect_gap_from_file(edit_buffer* buffer);
-};
-
-// A 'edit_mark' indicates a position in a buffer.
-// It is "attached" the text (rather than the offset).
-// There are two kinds of mark, which have different behavior
-// when text is inserted at the mark:
-// If 'insert_before()' is true the mark will be adjusted to be
-// *after* the new text.
-
-struct edit_mark {
- struct edit_mark *chain;
- mark_pointer _pos;
- inline int insert_before() { return _pos & 1; }
- inline unsigned long index_in_buffer(struct edit_buffer *)
- { return _pos >> 1; }
- inline buf_char *ptr(struct edit_buffer *buf);
- buf_index tell();
- edit_mark() { }
- edit_mark(struct edit_string *str, long delta);
- edit_buffer *buffer();
- ~edit_mark();
-};
-
-// A 'edit_buffer' consists of a sequence of buf_chars (the data),
-// a list of edit_marks pointing into the data, and a list of FILEs
-// also pointing into the data.
-// A 'edit_buffer' coerced to a edit_string is the string of
-// all the buf_chars in the buffer.
-
-// This implementation uses a conventional buffer gap (as in Emacs).
-// The gap start is defined by de-referencing a (buf_char**).
-// This is because sometimes a FILE is inserting into the buffer,
-// so rather than having each putc adjust the gap, we use indirection
-// to have the gap be defined as the write pointer of the FILE.
-// (This assumes that putc adjusts a pointer (as in GNU's libc), not an index.)
-
-struct edit_buffer {
- buf_char *data; /* == emacs buffer_text.p1+1 */
- buf_char *_gap_start;
- edit_streambuf* _writer; // If non-NULL, currently writing stream
- inline buf_char *gap_start()
- { return _writer ? _writer->pptr() : _gap_start; }
- buf_offset __gap_end_pos; // size of part 1 + size of gap
- /* int gap; implicit: buf_size - size1 - size2 */
- int buf_size;
- struct edit_streambuf *files;
- struct edit_mark start_mark;
- struct edit_mark end_mark;
- edit_buffer();
- inline buf_offset gap_end_pos() { return __gap_end_pos; }
- inline struct edit_mark *start_marker() { return &start_mark; }
- inline struct edit_mark *end_marker() { return &end_mark; }
-/* these should be protected, ultimately */
- buf_index tell(edit_mark*);
- buf_index tell(buf_char*);
- inline buf_char *gap_end() { return data + gap_end_pos(); }
- inline int gap_size() { return gap_end() - gap_start(); }
- inline int size1() { return gap_start() - data; }
- inline int size2() { return buf_size - gap_end_pos(); }
- inline struct edit_mark * mark_list() { return &start_mark; }
- void make_gap (buf_offset);
- void move_gap (buf_offset pos);
- void move_gap (buf_char *pos) { move_gap(pos - data); }
- void gap_left (int pos);
- void gap_right (int pos);
- void adjust_markers(mark_pointer low, mark_pointer high,
- int amount, buf_char *old_data);
- void delete_range(buf_index from, buf_index to);
- void delete_range(struct edit_mark *start, struct edit_mark *end);
-};
-
-extern buf_char * bstr_copy(struct edit_string *str, int *lenp);
-
-// Convert a edit_mark to a (buf_char*)
-
-inline buf_char *edit_mark::ptr(struct edit_buffer *buf)
- { return buf->data + index_in_buffer(buf); }
-
-inline void edit_streambuf::flush_to_buffer()
-{
- edit_buffer* buffer = str->buffer;
- if (buffer->_writer == this) flush_to_buffer(buffer);
-}
-} // extern "C++"
-#endif /* !_EDITBUF_H*/
-
diff --git a/contrib/libio/filebuf.cc b/contrib/libio/filebuf.cc
deleted file mode 100644
index 0b0fd6d..0000000
--- a/contrib/libio/filebuf.cc
+++ /dev/null
@@ -1,223 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993, 1995, 1999 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License.
-
-Written by Per Bothner (bothner@cygnus.com). */
-
-#include "iostreamP.h"
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#include "builtinbuf.h"
-
-void filebuf::init()
-{
- _IO_file_init(this);
-}
-
-filebuf::filebuf()
-{
- _IO_file_init(this);
-}
-
-#if !_IO_UNIFIED_JUMPTABLES
-/* This is like "new filebuf()", but it uses the _IO_file_jump jumptable,
- for eficiency. */
-
-filebuf* filebuf::__new()
-{
- filebuf *fb = new filebuf;
- _IO_JUMPS(fb) = &_IO_file_jumps;
- fb->_vtable() = builtinbuf_vtable;
- return fb;
-}
-#endif
-
-filebuf::filebuf(int fd)
-{
- _IO_file_init(this);
- _IO_file_attach(this, fd);
-}
-
-filebuf::filebuf(int fd, char* p, int len)
-{
- _IO_file_init(this);
- _IO_file_attach(this, fd);
- setbuf(p, len);
-}
-
-filebuf::~filebuf()
-{
- if (_IO_file_is_open(this))
- {
- _IO_do_flush (this);
- if (!(xflags() & _IO_DELETE_DONT_CLOSE))
- _IO_SYSCLOSE (this);
- }
-}
-
-filebuf* filebuf::open(const char *filename, ios::openmode mode, int prot)
-{
- if (_IO_file_is_open (this))
- return NULL;
- int posix_mode;
- int read_write;
- if (mode & ios::app)
- mode |= ios::out;
- if ((mode & (ios::in|ios::out)) == (ios::in|ios::out)) {
- posix_mode = O_RDWR;
- read_write = 0;
- }
- else if (mode & ios::out)
- posix_mode = O_WRONLY, read_write = _IO_NO_READS;
- else if (mode & (int)ios::in)
- posix_mode = O_RDONLY, read_write = _IO_NO_WRITES;
- else
- posix_mode = 0, read_write = _IO_NO_READS+_IO_NO_WRITES;
- if (mode & ios::binary)
- {
- mode &= ~ios::binary;
-#ifdef O_BINARY
- /* This is a (mis-)feature of DOS/Windows C libraries. */
- posix_mode |= O_BINARY;
-#endif
- }
- if ((mode & (int)ios::trunc) || mode == (int)ios::out)
- posix_mode |= O_TRUNC;
- if (mode & ios::app)
- posix_mode |= O_APPEND, read_write |= _IO_IS_APPENDING;
- if (!(mode & (int)ios::nocreate) && mode != ios::in)
- posix_mode |= O_CREAT;
- if (mode & (int)ios::noreplace)
- posix_mode |= O_EXCL;
-#if _G_HAVE_IO_FILE_OPEN
- if (!_IO_file_open (this, filename, posix_mode, prot,
- read_write, 0))
- return NULL;
- if (mode & ios::ate) {
- if (pubseekoff(0, ios::end) == EOF) {
- _IO_un_link (this);
- return NULL;
- }
- }
- return this;
-#else
- int fd = ::open(filename, posix_mode, prot);
- if (fd < 0)
- return NULL;
- _fileno = fd;
- xsetflags(read_write, _IO_NO_READS+_IO_NO_WRITES+_IO_IS_APPENDING);
- if (mode & ios::ate) {
- if (pubseekoff(0, ios::end) == EOF)
- return NULL;
- }
- _IO_link_in(this);
- return this;
-#endif
-}
-
-filebuf* filebuf::open(const char *filename, const char *mode)
-{
-#if _G_IO_IO_FILE_VERSION == 0x20001
- return (filebuf*)_IO_file_fopen(this, filename, mode, 0);
-#else
- return (filebuf*)_IO_file_fopen(this, filename, mode);
-#endif
-}
-
-filebuf* filebuf::attach(int fd)
-{
- return (filebuf*)_IO_file_attach(this, fd);
-}
-
-streambuf* filebuf::setbuf(char* p, int len)
-{
- return (streambuf*)_IO_file_setbuf (this, p, len);
-}
-
-int filebuf::doallocate() { return _IO_file_doallocate(this); }
-
-int filebuf::overflow(int c)
-{
- return _IO_file_overflow(this, c);
-}
-
-int filebuf::underflow()
-{
- return _IO_file_underflow(this);
-}
-
-int filebuf::sync()
-{
- return _IO_file_sync(this);
-}
-
-streampos filebuf::seekoff(streamoff offset, _seek_dir dir, int mode)
-{
- return _IO_file_seekoff (this, offset, dir, mode);
-}
-
-filebuf* filebuf::close()
-{
- return (_IO_file_close_it(this) ? (filebuf*)NULL : this);
-}
-
-streamsize filebuf::sys_read(char* buf, streamsize size)
-{
- return _IO_file_read(this, buf, size);
-}
-
-streampos filebuf::sys_seek(streamoff offset, _seek_dir dir)
-{
- return _IO_file_seek(this, offset, dir);
-}
-
-streamsize filebuf::sys_write(const char *buf, streamsize n)
-{
- return _IO_file_write (this, buf, n);
-}
-
-int filebuf::sys_stat(void* st)
-{
- return _IO_file_stat (this, st);
-}
-
-int filebuf::sys_close()
-{
- return _IO_file_close (this);
-}
-
-streamsize filebuf::xsputn(const char *s, streamsize n)
-{
- return _IO_file_xsputn(this, s, n);
-}
-
-streamsize filebuf::xsgetn(char *s, streamsize n)
-{
- // FIXME: OPTIMIZE THIS (specifically, when unbuffered()).
- return streambuf::xsgetn(s, n);
-}
-
-// Non-ANSI AT&T-ism: Default open protection.
-const int filebuf::openprot = 0644;
diff --git a/contrib/libio/filedoalloc.c b/contrib/libio/filedoalloc.c
deleted file mode 100644
index 52b5544..0000000
--- a/contrib/libio/filedoalloc.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-/*
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-/* Modified for GNU iostream by Per Bothner 1991, 1992. */
-
-#include "libioP.h"
-#include <sys/types.h>
-#include <sys/stat.h>
-#ifdef __STDC__
-#include <stdlib.h>
-#include <unistd.h>
-#endif
-
-#ifdef _LIBC
-# undef isatty
-# define isatty(Fd) __isatty (Fd)
-#endif
-
-/*
- * Allocate a file buffer, or switch to unbuffered I/O.
- * Per the ANSI C standard, ALL tty devices default to line buffered.
- *
- * As a side effect, we set __SOPT or __SNPT (en/dis-able fseek
- * optimisation) right after the _fstat() that finds the buffer size.
- */
-
-int
-_IO_file_doallocate (fp)
- _IO_FILE *fp;
-{
- _IO_size_t size;
- int couldbetty;
- char *p;
- struct stat st;
-
-#if !defined(_LIBC) && !defined(__linux__)
- /* If _IO_cleanup_registration_needed is non-zero, we should call the
- function it points to. This is to make sure _IO_cleanup gets called
- on exit. We call it from _IO_file_doallocate, since that is likely
- to get called by any program that does buffered I/O. */
- if (_IO_cleanup_registration_needed)
- (*_IO_cleanup_registration_needed) ();
-#endif
-
- if (fp->_fileno < 0 || _IO_SYSSTAT (fp, &st) < 0)
- {
- couldbetty = 0;
- size = _IO_BUFSIZ;
-#if 0
- /* do not try to optimise fseek() */
- fp->_flags |= __SNPT;
-#endif
- }
- else
- {
- couldbetty = S_ISCHR (st.st_mode);
-#if _IO_HAVE_ST_BLKSIZE
- size = st.st_blksize <= 0 ? _IO_BUFSIZ : st.st_blksize;
-#else
- size = _IO_BUFSIZ;
-#endif
- }
- ALLOC_BUF (p, size, EOF);
- _IO_setb (fp, p, p + size, 1);
- if (couldbetty && isatty (fp->_fileno))
- fp->_flags |= _IO_LINE_BUF;
- return 1;
-}
diff --git a/contrib/libio/fileops.c b/contrib/libio/fileops.c
deleted file mode 100644
index 54e13d3..0000000
--- a/contrib/libio/fileops.c
+++ /dev/null
@@ -1,811 +0,0 @@
-/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
- Written by Per Bothner <bothner@cygnus.com>.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-
-#include "libioP.h"
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#ifndef errno
-extern int errno;
-#endif
-
-
-#ifdef _LIBC
-# define open(Name, Flags, Prot) __open (Name, Flags, Prot)
-# define close(FD) __close (FD)
-# define fstat(FD, Statbuf) __fstat (FD, Statbuf)
-# define lseek(FD, Offset, Whence) __lseek (FD, Offset, Whence)
-# define read(FD, Buf, NBytes) __read (FD, Buf, NBytes)
-# define write(FD, Buf, NBytes) __write (FD, Buf, NBytes)
-#endif
-
-/* An fstream can be in at most one of put mode, get mode, or putback mode.
- Putback mode is a variant of get mode.
-
- In a filebuf, there is only one current position, instead of two
- separate get and put pointers. In get mode, the current position
- is that of gptr(); in put mode that of pptr().
-
- The position in the buffer that corresponds to the position
- in external file system is normally _IO_read_end, except in putback
- mode, when it is _IO_save_end.
- If the field _fb._offset is >= 0, it gives the offset in
- the file as a whole corresponding to eGptr(). (?)
-
- PUT MODE:
- If a filebuf is in put mode, then all of _IO_read_ptr, _IO_read_end,
- and _IO_read_base are equal to each other. These are usually equal
- to _IO_buf_base, though not necessarily if we have switched from
- get mode to put mode. (The reason is to maintain the invariant
- that _IO_read_end corresponds to the external file position.)
- _IO_write_base is non-NULL and usually equal to _IO_base_base.
- We also have _IO_write_end == _IO_buf_end, but only in fully buffered mode.
- The un-flushed character are those between _IO_write_base and _IO_write_ptr.
-
- GET MODE:
- If a filebuf is in get or putback mode, eback() != egptr().
- In get mode, the unread characters are between gptr() and egptr().
- The OS file position corresponds to that of egptr().
-
- PUTBACK MODE:
- Putback mode is used to remember "excess" characters that have
- been sputbackc'd in a separate putback buffer.
- In putback mode, the get buffer points to the special putback buffer.
- The unread characters are the characters between gptr() and egptr()
- in the putback buffer, as well as the area between save_gptr()
- and save_egptr(), which point into the original reserve buffer.
- (The pointers save_gptr() and save_egptr() are the values
- of gptr() and egptr() at the time putback mode was entered.)
- The OS position corresponds to that of save_egptr().
-
- LINE BUFFERED OUTPUT:
- During line buffered output, _IO_write_base==base() && epptr()==base().
- However, ptr() may be anywhere between base() and ebuf().
- This forces a call to filebuf::overflow(int C) on every put.
- If there is more space in the buffer, and C is not a '\n',
- then C is inserted, and pptr() incremented.
-
- UNBUFFERED STREAMS:
- If a filebuf is unbuffered(), the _shortbuf[1] is used as the buffer.
-*/
-
-#define CLOSED_FILEBUF_FLAGS \
- (_IO_IS_FILEBUF+_IO_NO_READS+_IO_NO_WRITES+_IO_TIED_PUT_GET)
-
-
-void
-_IO_file_init (fp)
- _IO_FILE *fp;
-{
- /* POSIX.1 allows another file handle to be used to change the position
- of our file descriptor. Hence we actually don't know the actual
- position before we do the first fseek (and until a following fflush). */
- fp->_offset = _IO_pos_BAD;
- fp->_IO_file_flags |= CLOSED_FILEBUF_FLAGS;
-
- _IO_link_in(fp);
- fp->_fileno = -1;
-}
-
-int
-_IO_file_close_it (fp)
- _IO_FILE *fp;
-{
- int write_status, close_status;
- if (!_IO_file_is_open (fp))
- return EOF;
-
- write_status = _IO_do_flush (fp);
-
- _IO_unsave_markers(fp);
-
- close_status = _IO_SYSCLOSE (fp);
-
- /* Free buffer. */
- _IO_setb (fp, NULL, NULL, 0);
- _IO_setg (fp, NULL, NULL, NULL);
- _IO_setp (fp, NULL, NULL);
-
- _IO_un_link (fp);
- fp->_flags = _IO_MAGIC|CLOSED_FILEBUF_FLAGS;
- fp->_fileno = EOF;
- fp->_offset = _IO_pos_BAD;
-
- return close_status ? close_status : write_status;
-}
-
-void
-_IO_file_finish (fp, dummy)
- _IO_FILE *fp;
- int dummy;
-{
- if (_IO_file_is_open (fp))
- {
- _IO_do_flush (fp);
- if (!(fp->_flags & _IO_DELETE_DONT_CLOSE))
- _IO_SYSCLOSE (fp);
- }
- _IO_default_finish (fp, 0);
-}
-
-_IO_FILE *
-_IO_file_fopen (fp, filename, mode)
- _IO_FILE *fp;
- const char *filename;
- const char *mode;
-{
- int oflags = 0, omode;
- int read_write, fdesc;
- int oprot = 0666;
- if (_IO_file_is_open (fp))
- return 0;
- switch (*mode++)
- {
- case 'r':
- omode = O_RDONLY;
- read_write = _IO_NO_WRITES;
- break;
- case 'w':
- omode = O_WRONLY;
- oflags = O_CREAT|O_TRUNC;
- read_write = _IO_NO_READS;
- break;
- case 'a':
- omode = O_WRONLY;
- oflags = O_CREAT|O_APPEND;
- read_write = _IO_NO_READS|_IO_IS_APPENDING;
- break;
- default:
- __set_errno (EINVAL);
- return NULL;
- }
- if (mode[0] == '+' || (mode[0] == 'b' && mode[1] == '+'))
- {
- omode = O_RDWR;
- read_write &= _IO_IS_APPENDING;
- }
- fdesc = open (filename, omode|oflags, oprot);
- if (fdesc < 0)
- return NULL;
- fp->_fileno = fdesc;
- _IO_mask_flags (fp, read_write,_IO_NO_READS+_IO_NO_WRITES+_IO_IS_APPENDING);
- if (read_write & _IO_IS_APPENDING)
- if (_IO_SEEKOFF (fp, (_IO_off_t)0, _IO_seek_end, _IOS_INPUT|_IOS_OUTPUT)
- == _IO_pos_BAD && errno != ESPIPE)
- return NULL;
- _IO_link_in (fp);
- return fp;
-}
-
-_IO_FILE *
-_IO_file_attach (fp, fd)
- _IO_FILE *fp;
- int fd;
-{
- if (_IO_file_is_open (fp))
- return NULL;
- fp->_fileno = fd;
- fp->_flags &= ~(_IO_NO_READS+_IO_NO_WRITES);
- fp->_flags |= _IO_DELETE_DONT_CLOSE;
- /* Get the current position of the file. */
- /* We have to do that since that may be junk. */
- fp->_offset = _IO_pos_BAD;
- if (_IO_SEEKOFF (fp, (_IO_off_t)0, _IO_seek_cur, _IOS_INPUT|_IOS_OUTPUT)
- == _IO_pos_BAD && errno != ESPIPE)
- return NULL;
- return fp;
-}
-
-_IO_FILE *
-_IO_file_setbuf (fp, p, len)
- _IO_FILE *fp;
- char *p;
- _IO_ssize_t len;
-{
- if (_IO_default_setbuf (fp, p, len) == NULL)
- return NULL;
-
- fp->_IO_write_base = fp->_IO_write_ptr = fp->_IO_write_end
- = fp->_IO_buf_base;
- _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base, fp->_IO_buf_base);
-
- return fp;
-}
-
-/* Write TO_DO bytes from DATA to FP.
- Then mark FP as having empty buffers. */
-
-int
-_IO_do_write (fp, data, to_do)
- _IO_FILE *fp;
- const char *data;
- _IO_size_t to_do;
-{
- _IO_size_t count;
- if (to_do == 0)
- return 0;
- if (fp->_flags & _IO_IS_APPENDING)
- /* On a system without a proper O_APPEND implementation,
- you would need to sys_seek(0, SEEK_END) here, but it
- is not needed nor desirable for Unix- or Posix-like systems.
- Instead, just indicate that offset (before and after) is
- unpredictable. */
- fp->_offset = _IO_pos_BAD;
- else if (fp->_IO_read_end != fp->_IO_write_base)
- {
- _IO_pos_t new_pos
- = _IO_SYSSEEK (fp, fp->_IO_write_base - fp->_IO_read_end, 1);
- if (new_pos == _IO_pos_BAD)
- return EOF;
- fp->_offset = new_pos;
- }
- count = _IO_SYSWRITE (fp, data, to_do);
- if (fp->_cur_column)
- fp->_cur_column = _IO_adjust_column (fp->_cur_column - 1, data, to_do) + 1;
- _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base, fp->_IO_buf_base);
- fp->_IO_write_base = fp->_IO_write_ptr = fp->_IO_buf_base;
- fp->_IO_write_end = ((fp->_flags & (_IO_LINE_BUF+_IO_UNBUFFERED))
- ? fp->_IO_buf_base : fp->_IO_buf_end);
- return count != to_do ? EOF : 0;
-}
-
-int
-_IO_file_underflow (fp)
- _IO_FILE *fp;
-{
- _IO_ssize_t count;
-#if 0
- /* SysV does not make this test; take it out for compatibility */
- if (fp->_flags & _IO_EOF_SEEN)
- return (EOF);
-#endif
-
- if (fp->_flags & _IO_NO_READS)
- {
- __set_errno (EBADF);
- return EOF;
- }
- if (fp->_IO_read_ptr < fp->_IO_read_end)
- return *(unsigned char *) fp->_IO_read_ptr;
-
- if (fp->_IO_buf_base == NULL)
- _IO_doallocbuf (fp);
-
- /* Flush all line buffered files before reading. */
- /* FIXME This can/should be moved to genops ?? */
- if (fp->_flags & (_IO_LINE_BUF|_IO_UNBUFFERED))
- _IO_flush_all_linebuffered ();
-
- _IO_switch_to_get_mode (fp);
-
- /* This is very tricky. We have to adjust those
- pointers before we call _IO_SYSREAD () since
- we may longjump () out while waiting for
- input. Those pointers may be screwed up. H.J. */
- fp->_IO_read_base = fp->_IO_read_ptr = fp->_IO_buf_base;
- fp->_IO_read_end = fp->_IO_buf_base;
- fp->_IO_write_base = fp->_IO_write_ptr = fp->_IO_write_end
- = fp->_IO_buf_base;
-
- count = _IO_SYSREAD (fp, fp->_IO_buf_base,
- fp->_IO_buf_end - fp->_IO_buf_base);
- if (count <= 0)
- {
- if (count == 0)
- fp->_flags |= _IO_EOF_SEEN;
- else
- fp->_flags |= _IO_ERR_SEEN, count = 0;
- }
- fp->_IO_read_end += count;
- if (count == 0)
- return EOF;
- if (fp->_offset != _IO_pos_BAD)
- _IO_pos_adjust (fp->_offset, count);
- return *(unsigned char *) fp->_IO_read_ptr;
-}
-
-int
-_IO_file_overflow (f, ch)
- _IO_FILE *f;
- int ch;
-{
- if (f->_flags & _IO_NO_WRITES) /* SET ERROR */
- {
- f->_flags |= _IO_ERR_SEEN;
- __set_errno (EBADF);
- return EOF;
- }
- /* If currently reading or no buffer allocated. */
- if ((f->_flags & _IO_CURRENTLY_PUTTING) == 0)
- {
- /* Allocate a buffer if needed. */
- if (f->_IO_write_base == 0)
- {
- _IO_doallocbuf (f);
- _IO_setg (f, f->_IO_buf_base, f->_IO_buf_base, f->_IO_buf_base);
- }
- /* Otherwise must be currently reading.
- If _IO_read_ptr (and hence also _IO_read_end) is at the buffer end,
- logically slide the buffer forwards one block (by setting the
- read pointers to all point at the beginning of the block). This
- makes room for subsequent output.
- Otherwise, set the read pointers to _IO_read_end (leaving that
- alone, so it can continue to correspond to the external position). */
- if (f->_IO_read_ptr == f->_IO_buf_end)
- f->_IO_read_end = f->_IO_read_ptr = f->_IO_buf_base;
- f->_IO_write_ptr = f->_IO_read_ptr;
- f->_IO_write_base = f->_IO_write_ptr;
- f->_IO_write_end = f->_IO_buf_end;
- f->_IO_read_base = f->_IO_read_ptr = f->_IO_read_end;
-
- if (f->_flags & (_IO_LINE_BUF+_IO_UNBUFFERED))
- f->_IO_write_end = f->_IO_write_ptr;
- f->_flags |= _IO_CURRENTLY_PUTTING;
- }
- if (ch == EOF)
- return _IO_do_flush (f);
- if (f->_IO_write_ptr == f->_IO_buf_end ) /* Buffer is really full */
- if (_IO_do_flush (f) == EOF)
- return EOF;
- *f->_IO_write_ptr++ = ch;
- if ((f->_flags & _IO_UNBUFFERED)
- || ((f->_flags & _IO_LINE_BUF) && ch == '\n'))
- if (_IO_do_flush (f) == EOF)
- return EOF;
- return (unsigned char) ch;
-}
-
-int
-_IO_file_sync (fp)
- _IO_FILE *fp;
-{
- _IO_size_t delta;
- int retval = 0;
-
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- /* char* ptr = cur_ptr(); */
- if (fp->_IO_write_ptr > fp->_IO_write_base)
- if (_IO_do_flush(fp)) return EOF;
- delta = fp->_IO_read_ptr - fp->_IO_read_end;
- if (delta != 0)
- {
-#ifdef TODO
- if (_IO_in_backup (fp))
- delta -= eGptr () - Gbase ();
-#endif
- _IO_off_t new_pos = _IO_SYSSEEK (fp, delta, 1);
- if (new_pos != (_IO_off_t) EOF)
- fp->_IO_read_end = fp->_IO_read_ptr;
-#ifdef ESPIPE
- else if (errno == ESPIPE)
- ; /* Ignore error from unseekable devices. */
-#endif
- else
- retval = EOF;
- }
- if (retval != EOF)
- fp->_offset = _IO_pos_BAD;
- /* FIXME: Cleanup - can this be shared? */
- /* setg(base(), ptr, ptr); */
- _IO_cleanup_region_end (1);
- return retval;
-}
-
-_IO_pos_t
-_IO_file_seekoff (fp, offset, dir, mode)
- _IO_FILE *fp;
- _IO_off_t offset;
- int dir;
- int mode;
-{
- _IO_pos_t result;
- _IO_off_t delta, new_offset;
- long count;
- /* POSIX.1 8.2.3.7 says that after a call the fflush() the file
- offset of the underlying file must be exact. */
- int must_be_exact = (fp->_IO_read_base == fp->_IO_read_end
- && fp->_IO_write_base == fp->_IO_write_ptr);
-
- if (mode == 0)
- dir = _IO_seek_cur, offset = 0; /* Don't move any pointers. */
-
- /* Flush unwritten characters.
- (This may do an unneeded write if we seek within the buffer.
- But to be able to switch to reading, we would need to set
- egptr to ptr. That can't be done in the current design,
- which assumes file_ptr() is eGptr. Anyway, since we probably
- end up flushing when we close(), it doesn't make much difference.)
- FIXME: simulate mem-papped files. */
-
- if (fp->_IO_write_ptr > fp->_IO_write_base || _IO_in_put_mode (fp))
- if (_IO_switch_to_get_mode (fp))
- return EOF;
-
- if (fp->_IO_buf_base == NULL)
- {
- _IO_doallocbuf (fp);
- _IO_setp (fp, fp->_IO_buf_base, fp->_IO_buf_base);
- _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base, fp->_IO_buf_base);
- }
-
- switch (dir)
- {
- case _IO_seek_cur:
- /* Adjust for read-ahead (bytes is buffer). */
- offset -= fp->_IO_read_end - fp->_IO_read_ptr;
- if (fp->_offset == _IO_pos_BAD)
- goto dumb;
- /* Make offset absolute, assuming current pointer is file_ptr(). */
- offset += _IO_pos_as_off (fp->_offset);
-
- dir = _IO_seek_set;
- break;
- case _IO_seek_set:
- break;
- case _IO_seek_end:
- {
- struct stat st;
- if (_IO_SYSSTAT (fp, &st) == 0 && S_ISREG (st.st_mode))
- {
- offset += st.st_size;
- dir = _IO_seek_set;
- }
- else
- goto dumb;
- }
- }
- /* At this point, dir==_IO_seek_set. */
-
- /* If destination is within current buffer, optimize: */
- if (fp->_offset != _IO_pos_BAD && fp->_IO_read_base != NULL
- && !_IO_in_backup (fp))
- {
- /* Offset relative to start of main get area. */
- _IO_pos_t rel_offset = (offset - fp->_offset
- + (fp->_IO_read_end - fp->_IO_read_base));
- if (rel_offset >= 0)
- {
-#if 0
- if (_IO_in_backup (fp))
- _IO_switch_to_main_get_area (fp);
-#endif
- if (rel_offset <= fp->_IO_read_end - fp->_IO_read_base)
- {
- _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base + rel_offset,
- fp->_IO_read_end);
- _IO_setp (fp, fp->_IO_buf_base, fp->_IO_buf_base);
- return offset;
- }
-#ifdef TODO
- /* If we have streammarkers, seek forward by reading ahead. */
- if (_IO_have_markers (fp))
- {
- int to_skip = rel_offset
- - (fp->_IO_read_ptr - fp->_IO_read_base);
- if (ignore (to_skip) != to_skip)
- goto dumb;
- return offset;
- }
-#endif
- }
-#ifdef TODO
- if (rel_offset < 0 && rel_offset >= Bbase () - Bptr ())
- {
- if (!_IO_in_backup (fp))
- _IO_switch_to_backup_area (fp);
- gbump (fp->_IO_read_end + rel_offset - fp->_IO_read_ptr);
- return offset;
- }
-#endif
- }
-
-#ifdef TODO
- _IO_unsave_markers (fp);
-#endif
-
- if (fp->_flags & _IO_NO_READS)
- goto dumb;
-
- /* Try to seek to a block boundary, to improve kernel page management. */
- new_offset = offset & ~(fp->_IO_buf_end - fp->_IO_buf_base - 1);
- delta = offset - new_offset;
- if (delta > fp->_IO_buf_end - fp->_IO_buf_base)
- {
- new_offset = offset;
- delta = 0;
- }
- result = _IO_SYSSEEK (fp, new_offset, 0);
- if (result < 0)
- return EOF;
- if (delta == 0)
- count = 0;
- else
- {
- count = _IO_SYSREAD (fp, fp->_IO_buf_base,
- (must_be_exact
- ? delta : fp->_IO_buf_end - fp->_IO_buf_base));
- if (count < delta)
- {
- /* We weren't allowed to read, but try to seek the remainder. */
- offset = count == EOF ? delta : delta-count;
- dir = _IO_seek_cur;
- goto dumb;
- }
- }
- _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base + delta,
- fp->_IO_buf_base + count);
- _IO_setp (fp, fp->_IO_buf_base, fp->_IO_buf_base);
- fp->_offset = result + count;
- _IO_mask_flags (fp, 0, _IO_EOF_SEEN);
- return offset;
- dumb:
-
- _IO_unsave_markers (fp);
- result = _IO_SYSSEEK (fp, offset, dir);
- if (result != EOF)
- _IO_mask_flags (fp, 0, _IO_EOF_SEEN);
- fp->_offset = result;
- _IO_setg (fp, fp->_IO_buf_base, fp->_IO_buf_base, fp->_IO_buf_base);
- _IO_setp (fp, fp->_IO_buf_base, fp->_IO_buf_base);
- return result;
-}
-
-_IO_ssize_t
-_IO_file_read (fp, buf, size)
- _IO_FILE *fp;
- void *buf;
- _IO_ssize_t size;
-{
- return read (fp->_fileno, buf, size);
-}
-
-_IO_pos_t
-_IO_file_seek (fp, offset, dir)
- _IO_FILE *fp;
- _IO_off_t offset;
- int dir;
-{
- return lseek (fp->_fileno, offset, dir);
-}
-
-int
-_IO_file_stat (fp, st)
- _IO_FILE *fp;
- void *st;
-{
- return fstat (fp->_fileno, (struct stat *) st);
-}
-
-int
-_IO_file_close (fp)
- _IO_FILE *fp;
-{
- return close (fp->_fileno);
-}
-
-_IO_ssize_t
-_IO_file_write (f, data, n)
- _IO_FILE *f;
- const void *data;
- _IO_ssize_t n;
-{
- _IO_ssize_t to_do = n;
- while (to_do > 0)
- {
- _IO_ssize_t count = write (f->_fileno, data, to_do);
- if (count == EOF)
- {
- f->_flags |= _IO_ERR_SEEN;
- break;
- }
- to_do -= count;
- data = (void *) ((char *) data + count);
- }
- n -= to_do;
- if (f->_offset >= 0)
- f->_offset += n;
- return n;
-}
-
-_IO_size_t
-_IO_file_xsputn (f, data, n)
- _IO_FILE *f;
- const void *data;
- _IO_size_t n;
-{
- register const char *s = (char *) data;
- _IO_size_t to_do = n;
- int must_flush = 0;
- _IO_size_t count;
-
- if (n <= 0)
- return 0;
- /* This is an optimized implementation.
- If the amount to be written straddles a block boundary
- (or the filebuf is unbuffered), use sys_write directly. */
-
- /* First figure out how much space is available in the buffer. */
- count = f->_IO_write_end - f->_IO_write_ptr; /* Space available. */
- if ((f->_flags & _IO_LINE_BUF) && (f->_flags & _IO_CURRENTLY_PUTTING))
- {
- count = f->_IO_buf_end - f->_IO_write_ptr;
- if (count >= n)
- {
- register const char *p;
- for (p = s + n; p > s; )
- {
- if (*--p == '\n')
- {
- count = p - s + 1;
- must_flush = 1;
- break;
- }
- }
- }
- }
- /* Then fill the buffer. */
- if (count > 0)
- {
- if (count > to_do)
- count = to_do;
- if (count > 20)
- {
- memcpy (f->_IO_write_ptr, s, count);
- s += count;
- }
- else
- {
- register char *p = f->_IO_write_ptr;
- register int i = (int) count;
- while (--i >= 0)
- *p++ = *s++;
- }
- f->_IO_write_ptr += count;
- to_do -= count;
- }
- if (to_do + must_flush > 0)
- {
- _IO_size_t block_size, dont_write;
- /* Next flush the (full) buffer. */
- if (__overflow (f, EOF) == EOF)
- return n - to_do;
-
- /* Try to maintain alignment: write a whole number of blocks.
- dont_write is what gets left over. */
- block_size = f->_IO_buf_end - f->_IO_buf_base;
- dont_write = block_size >= 128 ? to_do % block_size : 0;
-
- count = to_do - dont_write;
- if (_IO_do_write (f, s, count) == EOF)
- return n - to_do;
- to_do = dont_write;
-
- /* Now write out the remainder. Normally, this will fit in the
- buffer, but it's somewhat messier for line-buffered files,
- so we let _IO_default_xsputn handle the general case. */
- if (dont_write)
- to_do -= _IO_default_xsputn (f, s+count, dont_write);
- }
- return n - to_do;
-}
-
-#if 0
-/* Work in progress */
-_IO_size_t
-_IO_file_xsgetn (fp, data, n)
- _IO_FILE *fp;
- void *data;
- _IO_size_t n;
-{
- register _IO_size_t more = n;
- register char *s = data;
- for (;;)
- {
- /* Data available. */
- _IO_ssize_t count = fp->_IO_read_end - fp->_IO_read_ptr;
- if (count > 0)
- {
- if (count > more)
- count = more;
- if (count > 20)
- {
- memcpy (s, fp->_IO_read_ptr, count);
- s += count;
- fp->_IO_read_ptr += count;
- }
- else if (count <= 0)
- count = 0;
- else
- {
- register char *p = fp->_IO_read_ptr;
- register int i = (int) count;
- while (--i >= 0)
- *s++ = *p++;
- fp->_IO_read_ptr = p;
- }
- more -= count;
- }
-#if 0
- if (! _IO_in put_mode (fp)
- && ! _IO_have_markers (fp) && ! IO_have_backup (fp))
- {
- /* This is an optimization of _IO_file_underflow */
- if (fp->_flags & _IO_NO_READS)
- break;
- /* If we're reading a lot of data, don't bother allocating
- a buffer. But if we're only reading a bit, perhaps we should ??*/
- if (count <= 512 && fp->_IO_buf_base == NULL)
- _IO_doallocbuf (fp);
- if (fp->_flags & (_IO_LINE_BUF|_IO_UNBUFFERED))
- _IO_flush_all_linebuffered ();
-
- _IO_switch_to_get_mode (fp); ???;
- count = _IO_SYSREAD (fp, s, more);
- if (count <= 0)
- {
- if (count == 0)
- fp->_flags |= _IO_EOF_SEEN;
- else
- fp->_flags |= _IO_ERR_SEEN, count = 0;
- }
-
- s += count;
- more -= count;
- }
-#endif
- if (more == 0 || __underflow (fp) == EOF)
- break;
- }
- return n - more;
-}
-#endif
-
-struct _IO_jump_t _IO_file_jumps =
-{
- JUMP_INIT_DUMMY,
- JUMP_INIT(finish, _IO_file_finish),
- JUMP_INIT(overflow, _IO_file_overflow),
- JUMP_INIT(underflow, _IO_file_underflow),
- JUMP_INIT(uflow, _IO_default_uflow),
- JUMP_INIT(pbackfail, _IO_default_pbackfail),
- JUMP_INIT(xsputn, _IO_file_xsputn),
- JUMP_INIT(xsgetn, _IO_default_xsgetn),
- JUMP_INIT(seekoff, _IO_file_seekoff),
- JUMP_INIT(seekpos, _IO_default_seekpos),
- JUMP_INIT(setbuf, _IO_file_setbuf),
- JUMP_INIT(sync, _IO_file_sync),
- JUMP_INIT(doallocate, _IO_file_doallocate),
- JUMP_INIT(read, _IO_file_read),
- JUMP_INIT(write, _IO_file_write),
- JUMP_INIT(seek, _IO_file_seek),
- JUMP_INIT(close, _IO_file_close),
- JUMP_INIT(stat, _IO_file_stat)
-};
diff --git a/contrib/libio/floatconv.c b/contrib/libio/floatconv.c
deleted file mode 100644
index 9503187..0000000
--- a/contrib/libio/floatconv.c
+++ /dev/null
@@ -1,2375 +0,0 @@
-/*
-Copyright (C) 1993, 1994 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include <libioP.h>
-#ifdef _IO_USE_DTOA
-/****************************************************************
- *
- * The author of this software is David M. Gay.
- *
- * Copyright (c) 1991 by AT&T.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose without fee is hereby granted, provided that this entire notice
- * is included in all copies of any software which is or includes a copy
- * or modification of this software and in all copies of the supporting
- * documentation for such software.
- *
- * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
- * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
- * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
- *
- ***************************************************************/
-
-/* Some cleaning up by Per Bothner, bothner@cygnus.com, 1992, 1993.
- Re-written to not need static variables
- (except result, result_k, HIWORD, LOWORD). */
-
-/* Note that the checking of _DOUBLE_IS_32BITS is for use with the
- cross targets that employ the newlib ieeefp.h header. -- brendan */
-
-/* Please send bug reports to
- David M. Gay
- AT&T Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-2070
- U.S.A.
- dmg@research.att.com or research!dmg
- */
-
-/* strtod for IEEE-, VAX-, and IBM-arithmetic machines.
- *
- * This strtod returns a nearest machine number to the input decimal
- * string (or sets errno to ERANGE). With IEEE arithmetic, ties are
- * broken by the IEEE round-even rule. Otherwise ties are broken by
- * biased rounding (add half and chop).
- *
- * Inspired loosely by William D. Clinger's paper "How to Read Floating
- * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101].
- *
- * Modifications:
- *
- * 1. We only require IEEE, IBM, or VAX double-precision
- * arithmetic (not IEEE double-extended).
- * 2. We get by with floating-point arithmetic in a case that
- * Clinger missed -- when we're computing d * 10^n
- * for a small integer d and the integer n is not too
- * much larger than 22 (the maximum integer k for which
- * we can represent 10^k exactly), we may be able to
- * compute (d*10^k) * 10^(e-k) with just one roundoff.
- * 3. Rather than a bit-at-a-time adjustment of the binary
- * result in the hard case, we use floating-point
- * arithmetic to determine the adjustment to within
- * one bit; only in really hard cases do we need to
- * compute a second residual.
- * 4. Because of 3., we don't need a large table of powers of 10
- * for ten-to-e (just some small tables, e.g. of 10^k
- * for 0 <= k <= 22).
- */
-
-/*
- * #define IEEE_8087 for IEEE-arithmetic machines where the least
- * significant byte has the lowest address.
- * #define IEEE_MC68k for IEEE-arithmetic machines where the most
- * significant byte has the lowest address.
- * #define Sudden_Underflow for IEEE-format machines without gradual
- * underflow (i.e., that flush to zero on underflow).
- * #define IBM for IBM mainframe-style floating-point arithmetic.
- * #define VAX for VAX-style floating-point arithmetic.
- * #define Unsigned_Shifts if >> does treats its left operand as unsigned.
- * #define No_leftright to omit left-right logic in fast floating-point
- * computation of dtoa.
- * #define Check_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3.
- * #define RND_PRODQUOT to use rnd_prod and rnd_quot (assembly routines
- * that use extended-precision instructions to compute rounded
- * products and quotients) with IBM.
- * #define ROUND_BIASED for IEEE-format with biased rounding.
- * #define Inaccurate_Divide for IEEE-format with correctly rounded
- * products but inaccurate quotients, e.g., for Intel i860.
- * #define KR_headers for old-style C function headers.
- */
-
-#ifdef DEBUG
-#include <stdio.h>
-#define Bug(x) {fprintf(stderr, "%s\n", x); exit(1);}
-#endif
-
-#ifdef __STDC__
-#include <stdlib.h>
-#include <string.h>
-#include <float.h>
-#define CONST const
-#else
-#define CONST
-#define KR_headers
-
-/* In this case, we assume IEEE floats. */
-#define FLT_ROUNDS 1
-#define FLT_RADIX 2
-#define DBL_MANT_DIG 53
-#define DBL_DIG 15
-#define DBL_MAX_10_EXP 308
-#define DBL_MAX_EXP 1024
-#endif
-
-#include <errno.h>
-#ifndef __MATH_H__
-#include <math.h>
-#endif
-
-#ifdef Unsigned_Shifts
-#define Sign_Extend(a,b) if (b < 0) a |= 0xffff0000;
-#else
-#define Sign_Extend(a,b) /*no-op*/
-#endif
-
-#if defined(__i386__) || defined(__i860__) || defined(clipper)
-#define IEEE_8087
-#endif
-#if defined(MIPSEL) || defined(__alpha__)
-#define IEEE_8087
-#endif
-#if defined(__sparc__) || defined(sparc) || defined(MIPSEB)
-#define IEEE_MC68k
-#endif
-
-#if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(VAX) + defined(IBM) != 1
-
-#ifndef _DOUBLE_IS_32BITS
-#if FLT_RADIX==16
-#define IBM
-#else
-#if DBL_MANT_DIG==56
-#define VAX
-#else
-#if DBL_MANT_DIG==53 && DBL_MAX_10_EXP==308
-#define IEEE_Unknown
-#else
-Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.
-#endif
-#endif
-#endif
-#endif /* !_DOUBLE_IS_32BITS */
-#endif
-
-typedef _G_uint32_t unsigned32;
-
-union doubleword {
- double d;
- unsigned32 u[2];
-};
-
-#ifdef IEEE_8087
-#define HIWORD 1
-#define LOWORD 0
-#define TEST_ENDIANNESS /* nothing */
-#else
-#if defined(IEEE_MC68k)
-#define HIWORD 0
-#define LOWORD 1
-#define TEST_ENDIANNESS /* nothing */
-#else
-static int HIWORD = -1, LOWORD;
-static void test_endianness()
-{
- union doubleword dw;
- dw.d = 10;
- if (dw.u[0] != 0) /* big-endian */
- HIWORD=0, LOWORD=1;
- else
- HIWORD=1, LOWORD=0;
-}
-#define TEST_ENDIANNESS if (HIWORD<0) test_endianness();
-#endif
-#endif
-
-#if 0
-union doubleword _temp;
-#endif
-#if defined(__GNUC__) && !defined(_DOUBLE_IS_32BITS)
-#define word0(x) ({ union doubleword _du; _du.d = (x); _du.u[HIWORD]; })
-#define word1(x) ({ union doubleword _du; _du.d = (x); _du.u[LOWORD]; })
-#define setword0(D,W) \
- ({ union doubleword _du; _du.d = (D); _du.u[HIWORD]=(W); (D)=_du.d; })
-#define setword1(D,W) \
- ({ union doubleword _du; _du.d = (D); _du.u[LOWORD]=(W); (D)=_du.d; })
-#define setwords(D,W0,W1) ({ union doubleword _du; \
- _du.u[HIWORD]=(W0); _du.u[LOWORD]=(W1); (D)=_du.d; })
-#define addword0(D,W) \
- ({ union doubleword _du; _du.d = (D); _du.u[HIWORD]+=(W); (D)=_du.d; })
-#else
-#define word0(x) ((unsigned32 *)&x)[HIWORD]
-#ifndef _DOUBLE_IS_32BITS
-#define word1(x) ((unsigned32 *)&x)[LOWORD]
-#else
-#define word1(x) 0
-#endif
-#define setword0(D,W) word0(D) = (W)
-#ifndef _DOUBLE_IS_32BITS
-#define setword1(D,W) word1(D) = (W)
-#define setwords(D,W0,W1) (setword0(D,W0),setword1(D,W1))
-#else
-#define setword1(D,W)
-#define setwords(D,W0,W1) (setword0(D,W0))
-#endif
-#define addword0(D,X) (word0(D) += (X))
-#endif
-
-/* The following definition of Storeinc is appropriate for MIPS processors. */
-#if defined(IEEE_8087) + defined(VAX)
-#define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \
-((unsigned short *)a)[0] = (unsigned short)c, a++)
-#else
-#if defined(IEEE_MC68k)
-#define Storeinc(a,b,c) (((unsigned short *)a)[0] = (unsigned short)b, \
-((unsigned short *)a)[1] = (unsigned short)c, a++)
-#else
-#define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
-#endif
-#endif
-
-/* #define P DBL_MANT_DIG */
-/* Ten_pmax = floor(P*log(2)/log(5)) */
-/* Bletch = (highest power of 2 < DBL_MAX_10_EXP) / 16 */
-/* Quick_max = floor((P-1)*log(FLT_RADIX)/log(10) - 1) */
-/* Int_max = floor(P*log(FLT_RADIX)/log(10) - 1) */
-
-#if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(IEEE_Unknown)
-#define Exp_shift 20
-#define Exp_shift1 20
-#define Exp_msk1 0x100000
-#define Exp_msk11 0x100000
-#define Exp_mask 0x7ff00000
-#define P 53
-#define Bias 1023
-#define IEEE_Arith
-#define Emin (-1022)
-#define Exp_1 0x3ff00000
-#define Exp_11 0x3ff00000
-#define Ebits 11
-#define Frac_mask 0xfffff
-#define Frac_mask1 0xfffff
-#define Ten_pmax 22
-#define Bletch 0x10
-#define Bndry_mask 0xfffff
-#define Bndry_mask1 0xfffff
-#define LSB 1
-#define Sign_bit 0x80000000
-#define Log2P 1
-#define Tiny0 0
-#define Tiny1 1
-#define Quick_max 14
-#define Int_max 14
-#define Infinite(x) (word0(x) == 0x7ff00000) /* sufficient test for here */
-#else
-#undef Sudden_Underflow
-#define Sudden_Underflow
-#ifdef IBM
-#define Exp_shift 24
-#define Exp_shift1 24
-#define Exp_msk1 0x1000000
-#define Exp_msk11 0x1000000
-#define Exp_mask 0x7f000000
-#define P 14
-#define Bias 65
-#define Exp_1 0x41000000
-#define Exp_11 0x41000000
-#define Ebits 8 /* exponent has 7 bits, but 8 is the right value in b2d */
-#define Frac_mask 0xffffff
-#define Frac_mask1 0xffffff
-#define Bletch 4
-#define Ten_pmax 22
-#define Bndry_mask 0xefffff
-#define Bndry_mask1 0xffffff
-#define LSB 1
-#define Sign_bit 0x80000000
-#define Log2P 4
-#define Tiny0 0x100000
-#define Tiny1 0
-#define Quick_max 14
-#define Int_max 15
-#else /* VAX */
-#define Exp_shift 23
-#define Exp_shift1 7
-#define Exp_msk1 0x80
-#define Exp_msk11 0x800000
-#define Exp_mask 0x7f80
-#define P 56
-#define Bias 129
-#define Exp_1 0x40800000
-#define Exp_11 0x4080
-#define Ebits 8
-#define Frac_mask 0x7fffff
-#define Frac_mask1 0xffff007f
-#define Ten_pmax 24
-#define Bletch 2
-#define Bndry_mask 0xffff007f
-#define Bndry_mask1 0xffff007f
-#define LSB 0x10000
-#define Sign_bit 0x8000
-#define Log2P 1
-#define Tiny0 0x80
-#define Tiny1 0
-#define Quick_max 15
-#define Int_max 15
-#endif
-#endif
-
-#ifndef IEEE_Arith
-#define ROUND_BIASED
-#endif
-
-#ifdef RND_PRODQUOT
-#define rounded_product(a,b) a = rnd_prod(a, b)
-#define rounded_quotient(a,b) a = rnd_quot(a, b)
-extern double rnd_prod(double, double), rnd_quot(double, double);
-#else
-#define rounded_product(a,b) a *= b
-#define rounded_quotient(a,b) a /= b
-#endif
-
-#define Big0 (Frac_mask1 | Exp_msk1*(DBL_MAX_EXP+Bias-1))
-#define Big1 0xffffffff
-
-#define Kmax 15
-
-/* (1<<BIGINT_MINIMUM_K) is the minimum number of words to allocate
- in a Bigint. dtoa usually manages with 1<<2, and has not been
- known to need more than 1<<3. */
-
-#define BIGINT_MINIMUM_K 3
-
-struct Bigint {
- struct Bigint *next;
- int k; /* Parameter given to Balloc(k) */
- int maxwds; /* Allocated space: equals 1<<k. */
- short on_stack; /* 1 if stack-allocated. */
- short sign; /* 0 if value is positive or zero; 1 if negative. */
- int wds; /* Current length. */
- unsigned32 x[1<<BIGINT_MINIMUM_K]; /* Actually: x[maxwds] */
-};
-
-#define BIGINT_HEADER_SIZE \
- (sizeof(Bigint) - (1<<BIGINT_MINIMUM_K) * sizeof(unsigned32))
-
-typedef struct Bigint Bigint;
-
-/* Initialize a stack-allocated Bigint. */
-
-static Bigint *
-Binit
-#ifdef KR_headers
- (v) Bigint *v;
-#else
- (Bigint *v)
-#endif
-{
- v->on_stack = 1;
- v->k = BIGINT_MINIMUM_K;
- v->maxwds = 1 << BIGINT_MINIMUM_K;
- v->sign = v->wds = 0;
- return v;
-}
-
-/* Allocate a Bigint with '1<<k' big digits. */
-
-static Bigint *
-Balloc
-#ifdef KR_headers
- (k) int k;
-#else
- (int k)
-#endif
-{
- int x;
- Bigint *rv;
-
- if (k < BIGINT_MINIMUM_K)
- k = BIGINT_MINIMUM_K;
-
- x = 1 << k;
- rv = (Bigint *)
- malloc(BIGINT_HEADER_SIZE + x * sizeof(unsigned32));
- rv->k = k;
- rv->maxwds = x;
- rv->sign = rv->wds = 0;
- rv->on_stack = 0;
- return rv;
-}
-
-static void
-Bfree
-#ifdef KR_headers
- (v) Bigint *v;
-#else
- (Bigint *v)
-#endif
-{
- if (v && !v->on_stack)
- free (v);
-}
-
-static void
-Bcopy
-#ifdef KR_headers
- (x, y) Bigint *x, *y;
-#else
- (Bigint *x, Bigint *y)
-#endif
-{
- register unsigned32 *xp, *yp;
- register int i = y->wds;
- x->sign = y->sign;
- x->wds = i;
- for (xp = x->x, yp = y->x; --i >= 0; )
- *xp++ = *yp++;
-}
-
-/* Make sure b has room for at least 1<<k big digits. */
-
-static Bigint *
-Brealloc
-#ifdef KR_headers
- (b, k) Bigint *b; int k;
-#else
- (Bigint * b, int k)
-#endif
-{
- if (b == NULL)
- return Balloc(k);
- if (b->k >= k)
- return b;
- else
- {
- Bigint *rv = Balloc (k);
- Bcopy(rv, b);
- Bfree(b);
- return rv;
- }
-}
-
-/* Return b*m+a. b is modified.
- Assumption: 0xFFFF*m+a fits in 32 bits. */
-
-static Bigint *
-multadd
-#ifdef KR_headers
- (b, m, a) Bigint *b; int m, a;
-#else
- (Bigint *b, int m, int a)
-#endif
-{
- int i, wds;
- unsigned32 *x, y;
- unsigned32 xi, z;
-
- wds = b->wds;
- x = b->x;
- i = 0;
- do {
- xi = *x;
- y = (xi & 0xffff) * m + a;
- z = (xi >> 16) * m + (y >> 16);
- a = (int)(z >> 16);
- *x++ = (z << 16) + (y & 0xffff);
- }
- while(++i < wds);
- if (a) {
- if (wds >= b->maxwds)
- b = Brealloc(b, b->k+1);
- b->x[wds++] = a;
- b->wds = wds;
- }
- return b;
- }
-
-static Bigint *
-s2b
-#ifdef KR_headers
- (result, s, nd0, nd, y9)
- Bigint *result; CONST char *s; int nd0, nd; unsigned32 y9;
-#else
- (Bigint *result, CONST char *s, int nd0, int nd, unsigned32 y9)
-#endif
-{
- int i, k;
- _G_int32_t x, y;
-
- x = (nd + 8) / 9;
- for(k = 0, y = 1; x > y; y <<= 1, k++) ;
- result = Brealloc(result, k);
- result->x[0] = y9;
- result->wds = 1;
-
- i = 9;
- if (9 < nd0)
- {
- s += 9;
- do
- result = multadd(result, 10, *s++ - '0');
- while (++i < nd0);
- s++;
- }
- else
- s += 10;
- for(; i < nd; i++)
- result = multadd(result, 10, *s++ - '0');
- return result;
-}
-
-static int
-hi0bits
-#ifdef KR_headers
- (x) register unsigned32 x;
-#else
- (register unsigned32 x)
-#endif
-{
- register int k = 0;
-
- if (!(x & 0xffff0000)) {
- k = 16;
- x <<= 16;
- }
- if (!(x & 0xff000000)) {
- k += 8;
- x <<= 8;
- }
- if (!(x & 0xf0000000)) {
- k += 4;
- x <<= 4;
- }
- if (!(x & 0xc0000000)) {
- k += 2;
- x <<= 2;
- }
- if (!(x & 0x80000000)) {
- k++;
- if (!(x & 0x40000000))
- return 32;
- }
- return k;
- }
-
-static int
-lo0bits
-#ifdef KR_headers
- (y) unsigned32 *y;
-#else
- (unsigned32 *y)
-#endif
-{
- register int k;
- register unsigned32 x = *y;
-
- if (x & 7) {
- if (x & 1)
- return 0;
- if (x & 2) {
- *y = x >> 1;
- return 1;
- }
- *y = x >> 2;
- return 2;
- }
- k = 0;
- if (!(x & 0xffff)) {
- k = 16;
- x >>= 16;
- }
- if (!(x & 0xff)) {
- k += 8;
- x >>= 8;
- }
- if (!(x & 0xf)) {
- k += 4;
- x >>= 4;
- }
- if (!(x & 0x3)) {
- k += 2;
- x >>= 2;
- }
- if (!(x & 1)) {
- k++;
- x >>= 1;
- if (!x & 1)
- return 32;
- }
- *y = x;
- return k;
- }
-
-static Bigint *
-i2b
-#ifdef KR_headers
- (result, i) Bigint *result; int i;
-#else
- (Bigint* result, int i)
-#endif
-{
- result = Brealloc(result, 1);
- result->x[0] = i;
- result->wds = 1;
- return result;
-}
-
-/* Do: c = a * b. */
-
-static Bigint *
-mult
-#ifdef KR_headers
- (c, a, b) Bigint *a, *b, *c;
-#else
- (Bigint *c, Bigint *a, Bigint *b)
-#endif
-{
- int k, wa, wb, wc;
- unsigned32 carry, y, z;
- unsigned32 *x, *xa, *xae, *xb, *xbe, *xc, *xc0;
- unsigned32 z2;
- if (a->wds < b->wds) {
- Bigint *tmp = a;
- a = b;
- b = tmp;
- }
- k = a->k;
- wa = a->wds;
- wb = b->wds;
- wc = wa + wb;
- if (wc > a->maxwds)
- k++;
- c = Brealloc(c, k);
- for(x = c->x, xa = x + wc; x < xa; x++)
- *x = 0;
- xa = a->x;
- xae = xa + wa;
- xb = b->x;
- xbe = xb + wb;
- xc0 = c->x;
- for(; xb < xbe; xb++, xc0++) {
- if ((y = *xb & 0xffff)) {
- x = xa;
- xc = xc0;
- carry = 0;
- do {
- z = (*x & 0xffff) * y + (*xc & 0xffff) + carry;
- carry = z >> 16;
- z2 = (*x++ >> 16) * y + (*xc >> 16) + carry;
- carry = z2 >> 16;
- Storeinc(xc, z2, z);
- }
- while(x < xae);
- *xc = carry;
- }
- if ((y = *xb >> 16)) {
- x = xa;
- xc = xc0;
- carry = 0;
- z2 = *xc;
- do {
- z = (*x & 0xffff) * y + (*xc >> 16) + carry;
- carry = z >> 16;
- Storeinc(xc, z, z2);
- z2 = (*x++ >> 16) * y + (*xc & 0xffff) + carry;
- carry = z2 >> 16;
- }
- while(x < xae);
- *xc = z2;
- }
- }
- for(xc0 = c->x, xc = xc0 + wc; wc > 0 && !*--xc; --wc) ;
- c->wds = wc;
- return c;
- }
-
-/* Returns b*(5**k). b is modified. */
-/* Re-written by Per Bothner to not need a static list. */
-
-static Bigint *
-pow5mult
-#ifdef KR_headers
- (b, k) Bigint *b; int k;
-#else
- (Bigint *b, int k)
-#endif
-{
- static int p05[6] = { 5, 25, 125, 625, 3125, 15625 };
-
- for (; k > 6; k -= 6)
- b = multadd(b, 15625, 0); /* b *= 5**6 */
- if (k == 0)
- return b;
- else
- return multadd(b, p05[k-1], 0);
-}
-
-/* Re-written by Per Bothner so shift can be in place. */
-
-static Bigint *
-lshift
-#ifdef KR_headers
- (b, k) Bigint *b; int k;
-#else
- (Bigint *b, int k)
-#endif
-{
- int i;
- unsigned32 *x, *x1, *xe;
- int old_wds = b->wds;
- int n = k >> 5;
- int k1 = b->k;
- int n1 = n + old_wds + 1;
-
- if (k == 0)
- return b;
-
- for(i = b->maxwds; n1 > i; i <<= 1)
- k1++;
- b = Brealloc(b, k1);
-
- xe = b->x; /* Source limit */
- x = xe + old_wds; /* Source pointer */
- x1 = x + n; /* Destination pointer */
- if (k &= 0x1f) {
- int k1 = 32 - k;
- unsigned32 z = *--x;
- if ((*x1 = (z >> k1)) != 0) {
- ++n1;
- }
- while (x > xe) {
- unsigned32 w = *--x;
- *--x1 = (z << k) | (w >> k1);
- z = w;
- }
- *--x1 = z << k;
- }
- else
- do {
- *--x1 = *--x;
- } while(x > xe);
- while (x1 > xe)
- *--x1 = 0;
- b->wds = n1 - 1;
- return b;
-}
-
-static int
-cmp
-#ifdef KR_headers
- (a, b) Bigint *a, *b;
-#else
- (Bigint *a, Bigint *b)
-#endif
-{
- unsigned32 *xa, *xa0, *xb, *xb0;
- int i, j;
-
- i = a->wds;
- j = b->wds;
-#ifdef DEBUG
- if (i > 1 && !a->x[i-1])
- Bug("cmp called with a->x[a->wds-1] == 0");
- if (j > 1 && !b->x[j-1])
- Bug("cmp called with b->x[b->wds-1] == 0");
-#endif
- if (i -= j)
- return i;
- xa0 = a->x;
- xa = xa0 + j;
- xb0 = b->x;
- xb = xb0 + j;
- for(;;) {
- if (*--xa != *--xb)
- return *xa < *xb ? -1 : 1;
- if (xa <= xa0)
- break;
- }
- return 0;
- }
-
-/* Do: c = a-b. */
-
-static Bigint *
-diff
-#ifdef KR_headers
- (c, a, b) Bigint *c, *a, *b;
-#else
- (Bigint *c, Bigint *a, Bigint *b)
-#endif
-{
- int i, wa, wb;
- _G_int32_t borrow, y; /* We need signed shifts here. */
- unsigned32 *xa, *xae, *xb, *xbe, *xc;
- _G_int32_t z;
-
- i = cmp(a,b);
- if (!i) {
- c = Brealloc(c, 0);
- c->wds = 1;
- c->x[0] = 0;
- return c;
- }
- if (i < 0) {
- Bigint *tmp = a;
- a = b;
- b = tmp;
- i = 1;
- }
- else
- i = 0;
- c = Brealloc(c, a->k);
- c->sign = i;
- wa = a->wds;
- xa = a->x;
- xae = xa + wa;
- wb = b->wds;
- xb = b->x;
- xbe = xb + wb;
- xc = c->x;
- borrow = 0;
- do {
- y = (*xa & 0xffff) - (*xb & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend(borrow, y);
- z = (*xa++ >> 16) - (*xb++ >> 16) + borrow;
- borrow = z >> 16;
- Sign_Extend(borrow, z);
- Storeinc(xc, z, y);
- }
- while(xb < xbe);
- while(xa < xae) {
- y = (*xa & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend(borrow, y);
- z = (*xa++ >> 16) + borrow;
- borrow = z >> 16;
- Sign_Extend(borrow, z);
- Storeinc(xc, z, y);
- }
- while(!*--xc)
- wa--;
- c->wds = wa;
- return c;
- }
-
-static double
-ulp
-#ifdef KR_headers
- (x) double x;
-#else
- (double x)
-#endif
-{
- register _G_int32_t L;
- double a;
-
- L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1;
-#ifndef Sudden_Underflow
- if (L > 0) {
-#endif
-#ifdef IBM
- L |= Exp_msk1 >> 4;
-#endif
- setwords(a, L, 0);
-#ifndef Sudden_Underflow
- }
- else {
- L = -L >> Exp_shift;
- if (L < Exp_shift)
- setwords(a, 0x80000 >> L, 0);
- else {
- L -= Exp_shift;
- setwords(a, 0, L >= 31 ? 1 : 1 << (31 - L));
- }
- }
-#endif
- return a;
- }
-
-static double
-b2d
-#ifdef KR_headers
- (a, e) Bigint *a; int *e;
-#else
- (Bigint *a, int *e)
-#endif
-{
- unsigned32 *xa, *xa0, w, y, z;
- int k;
- double d;
- unsigned32 d0, d1;
-
- xa0 = a->x;
- xa = xa0 + a->wds;
- y = *--xa;
-#ifdef DEBUG
- if (!y) Bug("zero y in b2d");
-#endif
- k = hi0bits(y);
- *e = 32 - k;
- if (k < Ebits) {
- d0 = Exp_1 | y >> (Ebits - k);
- w = xa > xa0 ? *--xa : 0;
-#ifndef _DOUBLE_IS_32BITS
- d1 = y << ((32-Ebits) + k) | w >> (Ebits - k);
-#endif
- goto ret_d;
- }
- z = xa > xa0 ? *--xa : 0;
- if (k -= Ebits) {
- d0 = Exp_1 | y << k | z >> (32 - k);
- y = xa > xa0 ? *--xa : 0;
-#ifndef _DOUBLE_IS_32BITS
- d1 = z << k | y >> (32 - k);
-#endif
- }
- else {
- d0 = Exp_1 | y;
-#ifndef _DOUBLE_IS_32BITS
- d1 = z;
-#endif
- }
- ret_d:
-#ifdef VAX
- setwords(d, d0 >> 16 | d0 << 16, d1 >> 16 | d1 << 16);
-#else
- setwords (d, d0, d1);
-#endif
- return d;
- }
-
-static Bigint *
-d2b
-#ifdef KR_headers
- (result, d, e, bits) Bigint *result; double d; _G_int32_t *e, *bits;
-#else
- (Bigint *result, double d, _G_int32_t *e, _G_int32_t *bits)
-#endif
-{
- int de, i, k;
- unsigned32 *x, y, z;
- unsigned32 d0, d1;
-#ifdef VAX
- d0 = word0(d) >> 16 | word0(d) << 16;
- d1 = word1(d) >> 16 | word1(d) << 16;
-#else
- d0 = word0(d);
- d1 = word1(d);
-#endif
-
- result = Brealloc(result, 1);
- x = result->x;
-
- z = d0 & Frac_mask;
- d0 &= 0x7fffffff; /* clear sign bit, which we ignore */
-
- de = (int)(d0 >> Exp_shift); /* The exponent part of d. */
-
- /* Put back the suppressed high-order bit, if normalized. */
-#ifndef IBM
-#ifndef Sudden_Underflow
- if (de)
-#endif
- z |= Exp_msk11;
-#endif
-
-#ifndef _DOUBLE_IS_32BITS
- if ((y = d1)) {
- if ((k = lo0bits(&y))) {
- x[0] = y | z << (32 - k);
- z >>= k;
- }
- else
- x[0] = y;
- i = result->wds = (x[1] = z) ? 2 : 1;
- }
- else {
-#endif /* !_DOUBLE_IS_32BITS */
-#ifdef DEBUG
- if (!z)
- Bug("Zero passed to d2b");
-#endif
- k = lo0bits(&z);
- x[0] = z;
- i = result->wds = 1;
-#ifndef _DOUBLE_IS_32BITS
- k += 32;
- }
-#endif
-#ifndef Sudden_Underflow
- if (de) {
-#endif
-#ifdef IBM
- *e = (de - Bias - (P-1) << 2) + k;
- *bits = 4*P + 8 - k - hi0bits(word0(d) & Frac_mask);
-#else
- *e = de - Bias - (P-1) + k;
- *bits = P - k;
-#endif
-#ifndef Sudden_Underflow
- }
- else {
- *e = de - Bias - (P-1) + 1 + k;
- *bits = 32*i - hi0bits(x[i-1]);
- }
-#endif
- return result;
- }
-
-static double
-ratio
-#ifdef KR_headers
- (a, b) Bigint *a, *b;
-#else
- (Bigint *a, Bigint *b)
-#endif
-{
- double da, db;
- int k, ka, kb;
-
- da = b2d(a, &ka);
- db = b2d(b, &kb);
- k = ka - kb + 32*(a->wds - b->wds);
-#ifdef IBM
- if (k > 0) {
- addword0(da, (k >> 2)*Exp_msk1);
- if (k &= 3)
- da *= 1 << k;
- }
- else {
- k = -k;
- addword0(db,(k >> 2)*Exp_msk1);
- if (k &= 3)
- db *= 1 << k;
- }
-#else
- if (k > 0)
- addword0(da, k*Exp_msk1);
- else {
- k = -k;
- addword0(db, k*Exp_msk1);
- }
-#endif
- return da / db;
- }
-
-static CONST double
-tens[] = {
- 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
- 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,
- 1e20, 1e21, 1e22
-#ifdef VAX
- , 1e23, 1e24
-#endif
- };
-
-#ifdef IEEE_Arith
-static CONST double bigtens[] = { 1e16, 1e32, 1e64, 1e128, 1e256 };
-static CONST double tinytens[] = { 1e-16, 1e-32, 1e-64, 1e-128, 1e-256 };
-#define n_bigtens 5
-#else
-#ifdef IBM
-static CONST double bigtens[] = { 1e16, 1e32, 1e64 };
-static CONST double tinytens[] = { 1e-16, 1e-32, 1e-64 };
-#define n_bigtens 3
-#else
-/* Also used for the case when !_DOUBLE_IS_32BITS. */
-static CONST double bigtens[] = { 1e16, 1e32 };
-static CONST double tinytens[] = { 1e-16, 1e-32 };
-#define n_bigtens 2
-#endif
-#endif
-
- double
-_IO_strtod
-#ifdef KR_headers
- (s00, se) CONST char *s00; char **se;
-#else
- (CONST char *s00, char **se)
-#endif
-{
- _G_int32_t bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, dsign,
- e, e1, esign, i, j, k, nd, nd0, nf, nz, nz0, sign;
- CONST char *s, *s0, *s1;
- double aadj, aadj1, adj, rv, rv0;
- _G_int32_t L;
- unsigned32 y, z;
- Bigint _bb, _b_avail, _bd, _bd0, _bs, _delta;
- Bigint *bb = Binit(&_bb);
- Bigint *bd = Binit(&_bd);
- Bigint *bd0 = Binit(&_bd0);
- Bigint *bs = Binit(&_bs);
- Bigint *b_avail = Binit(&_b_avail);
- Bigint *delta = Binit(&_delta);
-
- TEST_ENDIANNESS;
- sign = nz0 = nz = 0;
- rv = 0.;
- (void)&rv; /* Force rv into the stack */
- for(s = s00;;s++) switch(*s) {
- case '-':
- sign = 1;
- /* no break */
- case '+':
- if (*++s)
- goto break2;
- /* no break */
- case 0:
- /* "+" and "-" should be reported as an error? */
- sign = 0;
- s = s00;
- goto ret;
- case '\t':
- case '\n':
- case '\v':
- case '\f':
- case '\r':
- case ' ':
- continue;
- default:
- goto break2;
- }
- break2:
- if (*s == '0') {
- nz0 = 1;
- while(*++s == '0') ;
- if (!*s)
- goto ret;
- }
- s0 = s;
- y = z = 0;
- for(nd = nf = 0; (c = *s) >= '0' && c <= '9'; nd++, s++)
- if (nd < 9)
- y = 10*y + c - '0';
- else if (nd < 16)
- z = 10*z + c - '0';
- nd0 = nd;
- if (c == '.') {
- c = *++s;
- if (!nd) {
- for(; c == '0'; c = *++s)
- nz++;
- if (c > '0' && c <= '9') {
- s0 = s;
- nf += nz;
- nz = 0;
- goto have_dig;
- }
- goto dig_done;
- }
- for(; c >= '0' && c <= '9'; c = *++s) {
- have_dig:
- nz++;
- if (c -= '0') {
- nf += nz;
- for(i = 1; i < nz; i++)
- if (nd++ < 9)
- y *= 10;
- else if (nd <= DBL_DIG + 1)
- z *= 10;
- if (nd++ < 9)
- y = 10*y + c;
- else if (nd <= DBL_DIG + 1)
- z = 10*z + c;
- nz = 0;
- }
- }
- }
- dig_done:
- e = 0;
- if (c == 'e' || c == 'E') {
- if (!nd && !nz && !nz0) {
- s = s00;
- goto ret;
- }
- s00 = s;
- esign = 0;
- switch(c = *++s) {
- case '-':
- esign = 1;
- case '+':
- c = *++s;
- }
- if (c >= '0' && c <= '9') {
- while(c == '0')
- c = *++s;
- if (c > '0' && c <= '9') {
- e = c - '0';
- s1 = s;
- while((c = *++s) >= '0' && c <= '9')
- e = 10*e + c - '0';
- if (s - s1 > 8)
- /* Avoid confusion from exponents
- * so large that e might overflow.
- */
- e = 9999999;
- if (esign)
- e = -e;
- }
- else
- e = 0;
- }
- else
- s = s00;
- }
- if (!nd) {
- if (!nz && !nz0)
- s = s00;
- goto ret;
- }
- e1 = e -= nf;
-
- /* Now we have nd0 digits, starting at s0, followed by a
- * decimal point, followed by nd-nd0 digits. The number we're
- * after is the integer represented by those digits times
- * 10**e */
-
- if (!nd0)
- nd0 = nd;
- k = nd < DBL_DIG + 1 ? nd : DBL_DIG + 1;
- rv = y;
- if (k > 9)
- rv = tens[k - 9] * rv + z;
- if (nd <= DBL_DIG
-#ifndef RND_PRODQUOT
- && FLT_ROUNDS == 1
-#endif
- ) {
- if (!e)
- goto ret;
- if (e > 0) {
- if (e <= Ten_pmax) {
-#ifdef VAX
- goto vax_ovfl_check;
-#else
- /* rv = */ rounded_product(rv, tens[e]);
- goto ret;
-#endif
- }
- i = DBL_DIG - nd;
- if (e <= Ten_pmax + i) {
- /* A fancier test would sometimes let us do
- * this for larger i values.
- */
- e -= i;
- rv *= tens[i];
-#ifdef VAX
- /* VAX exponent range is so narrow we must
- * worry about overflow here...
- */
- vax_ovfl_check:
- addword0(rv, - P*Exp_msk1);
- /* rv = */ rounded_product(rv, tens[e]);
- if ((word0(rv) & Exp_mask)
- > Exp_msk1*(DBL_MAX_EXP+Bias-1-P))
- goto ovfl;
- addword0(rv, P*Exp_msk1);
-#else
- /* rv = */ rounded_product(rv, tens[e]);
-#endif
- goto ret;
- }
- }
-#ifndef Inaccurate_Divide
- else if (e >= -Ten_pmax) {
- /* rv = */ rounded_quotient(rv, tens[-e]);
- goto ret;
- }
-#endif
- }
- e1 += nd - k;
-
- /* Get starting approximation = rv * 10**e1 */
-
- if (e1 > 0) {
- if ((i = e1 & 15))
- rv *= tens[i];
- if (e1 &= ~15) {
- if (e1 > DBL_MAX_10_EXP) {
- ovfl:
- errno = ERANGE;
-#if defined(sun) && !defined(__svr4__)
-/* SunOS defines HUGE_VAL as __infinity(), which is in libm. */
-#undef HUGE_VAL
-#endif
-#ifndef HUGE_VAL
-#define HUGE_VAL 1.7976931348623157E+308
-#endif
- rv = HUGE_VAL;
- goto ret;
- }
- if (e1 >>= 4) {
- for(j = 0; e1 > 1; j++, e1 >>= 1)
- if (e1 & 1)
- rv *= bigtens[j];
- /* The last multiplication could overflow. */
- addword0(rv, -P*Exp_msk1);
- rv *= bigtens[j];
- if ((z = word0(rv) & Exp_mask)
- > Exp_msk1*(DBL_MAX_EXP+Bias-P))
- goto ovfl;
- if (z > Exp_msk1*(DBL_MAX_EXP+Bias-1-P)) {
- /* set to largest number */
- /* (Can't trust DBL_MAX) */
- setwords(rv, Big0, Big1);
- }
- else
- addword0(rv, P*Exp_msk1);
- }
-
- }
- }
- else if (e1 < 0) {
- e1 = -e1;
- if ((i = e1 & 15))
- rv /= tens[i];
- if (e1 &= ~15) {
- e1 >>= 4;
- for(j = 0; e1 > 1; j++, e1 >>= 1)
- if (e1 & 1)
- rv *= tinytens[j];
- /* The last multiplication could underflow. */
- rv0 = rv;
- rv *= tinytens[j];
- if (!rv) {
- rv = 2.*rv0;
- rv *= tinytens[j];
- if (!rv) {
- undfl:
- rv = 0.;
- errno = ERANGE;
- goto ret;
- }
- setwords(rv, Tiny0, Tiny1);
- /* The refinement below will clean
- * this approximation up.
- */
- }
- }
- }
-
- /* Now the hard part -- adjusting rv to the correct value.*/
-
- /* Put digits into bd: true value = bd * 10^e */
-
- bd0 = s2b(bd0, s0, nd0, nd, y);
- bd = Brealloc(bd, bd0->k);
-
- for(;;) {
- Bcopy(bd, bd0);
- bb = d2b(bb, rv, &bbe, &bbbits); /* rv = bb * 2^bbe */
- bs = i2b(bs, 1);
-
- if (e >= 0) {
- bb2 = bb5 = 0;
- bd2 = bd5 = e;
- }
- else {
- bb2 = bb5 = -e;
- bd2 = bd5 = 0;
- }
- if (bbe >= 0)
- bb2 += bbe;
- else
- bd2 -= bbe;
- bs2 = bb2;
-#ifdef Sudden_Underflow
-#ifdef IBM
- j = 1 + 4*P - 3 - bbbits + ((bbe + bbbits - 1) & 3);
-#else
- j = P + 1 - bbbits;
-#endif
-#else
- i = bbe + bbbits - 1; /* logb(rv) */
- if (i < Emin) /* denormal */
- j = bbe + (P-Emin);
- else
- j = P + 1 - bbbits;
-#endif
- bb2 += j;
- bd2 += j;
- i = bb2 < bd2 ? bb2 : bd2;
- if (i > bs2)
- i = bs2;
- if (i > 0) {
- bb2 -= i;
- bd2 -= i;
- bs2 -= i;
- }
- if (bb5 > 0) {
- Bigint *b_tmp;
- bs = pow5mult(bs, bb5);
- b_tmp = mult(b_avail, bs, bb);
- b_avail = bb;
- bb = b_tmp;
- }
- if (bb2 > 0)
- bb = lshift(bb, bb2);
- if (bd5 > 0)
- bd = pow5mult(bd, bd5);
- if (bd2 > 0)
- bd = lshift(bd, bd2);
- if (bs2 > 0)
- bs = lshift(bs, bs2);
- delta = diff(delta, bb, bd);
- dsign = delta->sign;
- delta->sign = 0;
- i = cmp(delta, bs);
- if (i < 0) {
- /* Error is less than half an ulp -- check for
- * special case of mantissa a power of two.
- */
- if (dsign || word1(rv) || word0(rv) & Bndry_mask)
- break;
- delta = lshift(delta,Log2P);
- if (cmp(delta, bs) > 0)
- goto drop_down;
- break;
- }
- if (i == 0) {
- /* exactly half-way between */
- if (dsign) {
- if ((word0(rv) & Bndry_mask1) == Bndry_mask1
- && word1(rv) == 0xffffffff) {
- /*boundary case -- increment exponent*/
- setword0(rv, (word0(rv) & Exp_mask)
- + Exp_msk1);
-#ifdef IBM
- setword0 (rv,
- word0(rv) | (Exp_msk1 >> 4));
-#endif
- setword1(rv, 0);
- break;
- }
- }
- else if (!(word0(rv) & Bndry_mask) && !word1(rv)) {
- drop_down:
- /* boundary case -- decrement exponent */
-#ifdef Sudden_Underflow
- L = word0(rv) & Exp_mask;
-#ifdef IBM
- if (L < Exp_msk1)
-#else
- if (L <= Exp_msk1)
-#endif
- goto undfl;
- L -= Exp_msk1;
-#else
- L = (word0(rv) & Exp_mask) - Exp_msk1;
-#endif
- setwords(rv, L | Bndry_mask1, 0xffffffff);
-#ifdef IBM
- continue;
-#else
- break;
-#endif
- }
-#ifndef ROUND_BIASED
- if (!(word1(rv) & LSB))
- break;
-#endif
- if (dsign)
- rv += ulp(rv);
-#ifndef ROUND_BIASED
- else {
- rv -= ulp(rv);
-#ifndef Sudden_Underflow
- if (!rv)
- goto undfl;
-#endif
- }
-#endif
- break;
- }
- if ((aadj = ratio(delta, bs)) <= 2.) {
- if (dsign)
- aadj = aadj1 = 1.;
- else if (word1(rv) || word0(rv) & Bndry_mask) {
-#ifndef Sudden_Underflow
- if (word1(rv) == Tiny1 && !word0(rv))
- goto undfl;
-#endif
- aadj = 1.;
- aadj1 = -1.;
- }
- else {
- /* special case -- power of FLT_RADIX to be */
- /* rounded down... */
-
- if (aadj < 2./FLT_RADIX)
- aadj = 1./FLT_RADIX;
- else
- aadj *= 0.5;
- aadj1 = -aadj;
- }
- }
- else {
- aadj *= 0.5;
- aadj1 = dsign ? aadj : -aadj;
-#ifdef Check_FLT_ROUNDS
- switch(FLT_ROUNDS) {
- case 2: /* towards +infinity */
- aadj1 -= 0.5;
- break;
- case 0: /* towards 0 */
- case 3: /* towards -infinity */
- aadj1 += 0.5;
- }
-#else
- if (FLT_ROUNDS == 0)
- aadj1 += 0.5;
-#endif
- }
- y = word0(rv) & Exp_mask;
-
- /* Check for overflow */
-
- if (y == Exp_msk1*(DBL_MAX_EXP+Bias-1)) {
- rv0 = rv;
- addword0(rv, - P*Exp_msk1);
- adj = aadj1 * ulp(rv);
- rv += adj;
- if ((word0(rv) & Exp_mask) >=
- Exp_msk1*(DBL_MAX_EXP+Bias-P)) {
- if (word0(rv0) == Big0 && word1(rv0) == Big1)
- goto ovfl;
- setwords(rv, Big0, Big1);
- continue;
- }
- else
- addword0(rv, P*Exp_msk1);
- }
- else {
-#ifdef Sudden_Underflow
- if ((word0(rv) & Exp_mask) <= P*Exp_msk1) {
- rv0 = rv;
- addword0(rv, P*Exp_msk1);
- adj = aadj1 * ulp(rv);
- rv += adj;
-#ifdef IBM
- if ((word0(rv) & Exp_mask) < P*Exp_msk1)
-#else
- if ((word0(rv) & Exp_mask) <= P*Exp_msk1)
-#endif
- {
- if (word0(rv0) == Tiny0
- && word1(rv0) == Tiny1)
- goto undfl;
- setwords(rv, Tiny0, Tiny1);
- continue;
- }
- else
- addword0(rv, -P*Exp_msk1);
- }
- else {
- adj = aadj1 * ulp(rv);
- rv += adj;
- }
-#else
- /* Compute adj so that the IEEE rounding rules will
- * correctly round rv + adj in some half-way cases.
- * If rv * ulp(rv) is denormalized (i.e.,
- * y <= (P-1)*Exp_msk1), we must adjust aadj to avoid
- * trouble from bits lost to denormalization;
- * example: 1.2e-307 .
- */
- if (y <= (P-1)*Exp_msk1 && aadj >= 1.) {
- aadj1 = (double)(int)(aadj + 0.5);
- if (!dsign)
- aadj1 = -aadj1;
- }
- adj = aadj1 * ulp(rv);
- rv += adj;
-#endif
- }
- z = word0(rv) & Exp_mask;
- if (y == z) {
- /* Can we stop now? */
- L = (_G_int32_t)aadj;
- aadj -= L;
- /* The tolerances below are conservative. */
- if (dsign || word1(rv) || word0(rv) & Bndry_mask) {
- if (aadj < .4999999 || aadj > .5000001)
- break;
- }
- else if (aadj < .4999999/FLT_RADIX)
- break;
- }
- }
- Bfree(bb);
- Bfree(bd);
- Bfree(bs);
- Bfree(bd0);
- Bfree(delta);
- Bfree(b_avail);
- ret:
- if (se)
- *se = (char *)s;
- return sign ? -rv : rv;
- }
-
-static int
-quorem
-#ifdef KR_headers
- (b, S) Bigint *b, *S;
-#else
- (Bigint *b, Bigint *S)
-#endif
-{
- int n;
- _G_int32_t borrow, y;
- unsigned32 carry, q, ys;
- unsigned32 *bx, *bxe, *sx, *sxe;
- _G_int32_t z;
- unsigned32 si, zs;
-
- n = S->wds;
-#ifdef DEBUG
- /*debug*/ if (b->wds > n)
- /*debug*/ Bug("oversize b in quorem");
-#endif
- if (b->wds < n)
- return 0;
- sx = S->x;
- sxe = sx + --n;
- bx = b->x;
- bxe = bx + n;
- q = *bxe / (*sxe + 1); /* ensure q <= true quotient */
-#ifdef DEBUG
- /*debug*/ if (q > 9)
- /*debug*/ Bug("oversized quotient in quorem");
-#endif
- if (q) {
- borrow = 0;
- carry = 0;
- do {
- si = *sx++;
- ys = (si & 0xffff) * q + carry;
- zs = (si >> 16) * q + (ys >> 16);
- carry = zs >> 16;
- y = (*bx & 0xffff) - (ys & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend(borrow, y);
- z = (*bx >> 16) - (zs & 0xffff) + borrow;
- borrow = z >> 16;
- Sign_Extend(borrow, z);
- Storeinc(bx, z, y);
- }
- while(sx <= sxe);
- if (!*bxe) {
- bx = b->x;
- while(--bxe > bx && !*bxe)
- --n;
- b->wds = n;
- }
- }
- if (cmp(b, S) >= 0) {
- q++;
- borrow = 0;
- carry = 0;
- bx = b->x;
- sx = S->x;
- do {
- si = *sx++;
- ys = (si & 0xffff) + carry;
- zs = (si >> 16) + (ys >> 16);
- carry = zs >> 16;
- y = (*bx & 0xffff) - (ys & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend(borrow, y);
- z = (*bx >> 16) - (zs & 0xffff) + borrow;
- borrow = z >> 16;
- Sign_Extend(borrow, z);
- Storeinc(bx, z, y);
- }
- while(sx <= sxe);
- bx = b->x;
- bxe = bx + n;
- if (!*bxe) {
- while(--bxe > bx && !*bxe)
- --n;
- b->wds = n;
- }
- }
- return q;
- }
-
-/* dtoa for IEEE arithmetic (dmg): convert double to ASCII string.
- *
- * Inspired by "How to Print Floating-Point Numbers Accurately" by
- * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 92-101].
- *
- * Modifications:
- * 1. Rather than iterating, we use a simple numeric overestimate
- * to determine k = floor(log10(d)). We scale relevant
- * quantities using O(log2(k)) rather than O(k) multiplications.
- * 2. For some modes > 2 (corresponding to ecvt and fcvt), we don't
- * try to generate digits strictly left to right. Instead, we
- * compute with fewer bits and propagate the carry if necessary
- * when rounding the final digit up. This is often faster.
- * 3. Under the assumption that input will be rounded nearest,
- * mode 0 renders 1e23 as 1e23 rather than 9.999999999999999e22.
- * That is, we allow equality in stopping tests when the
- * round-nearest rule will give the same floating-point value
- * as would satisfaction of the stopping test with strict
- * inequality.
- * 4. We remove common factors of powers of 2 from relevant
- * quantities.
- * 5. When converting floating-point integers less than 1e16,
- * we use floating-point arithmetic rather than resorting
- * to multiple-precision integers.
- * 6. When asked to produce fewer than 15 digits, we first try
- * to get by with floating-point arithmetic; we resort to
- * multiple-precision integer arithmetic only if we cannot
- * guarantee that the floating-point calculation has given
- * the correctly rounded result. For k requested digits and
- * "uniformly" distributed input, the probability is
- * something like 10^(k-15) that we must resort to the long
- * calculation.
- */
-
- char *
-_IO_dtoa
-#ifdef KR_headers
- (d, mode, ndigits, decpt, sign, rve)
- double d; int mode, ndigits, *decpt, *sign; char **rve;
-#else
- (double d, int mode, int ndigits, int *decpt, int *sign, char **rve)
-#endif
-{
- /* Arguments ndigits, decpt, sign are similar to those
- of ecvt and fcvt; trailing zeros are suppressed from
- the returned string. If not null, *rve is set to point
- to the end of the return value. If d is +-Infinity or NaN,
- then *decpt is set to 9999.
-
- mode:
- 0 ==> shortest string that yields d when read in
- and rounded to nearest.
- 1 ==> like 0, but with Steele & White stopping rule;
- e.g. with IEEE P754 arithmetic , mode 0 gives
- 1e23 whereas mode 1 gives 9.999999999999999e22.
- 2 ==> max(1,ndigits) significant digits. This gives a
- return value similar to that of ecvt, except
- that trailing zeros are suppressed.
- 3 ==> through ndigits past the decimal point. This
- gives a return value similar to that from fcvt,
- except that trailing zeros are suppressed, and
- ndigits can be negative.
- 4-9 should give the same return values as 2-3, i.e.,
- 4 <= mode <= 9 ==> same return as mode
- 2 + (mode & 1). These modes are mainly for
- debugging; often they run slower but sometimes
- faster than modes 2-3.
- 4,5,8,9 ==> left-to-right digit generation.
- 6-9 ==> don't try fast floating-point estimate
- (if applicable).
-
- Values of mode other than 0-9 are treated as mode 0.
-
- Sufficient space is allocated to the return value
- to hold the suppressed trailing zeros.
- */
-
- _G_int32_t bbits, b2, b5, be, dig, i, ieps, ilim, ilim0, ilim1,
- j, j1, k, k0, k_check, leftright, m2, m5, s2, s5,
- spec_case, try_quick;
- _G_int32_t L;
-#ifndef Sudden_Underflow
- int denorm;
-#endif
- Bigint _b_avail, _b, _mhi, _mlo, _S;
- Bigint *b_avail = Binit(&_b_avail);
- Bigint *b = Binit(&_b);
- Bigint *S = Binit(&_S);
- /* mhi and mlo are only set and used if leftright. */
- Bigint *mhi = NULL, *mlo = NULL;
- double d2, ds, eps;
- char *s, *s0;
- static Bigint *result = NULL;
- static int result_k;
-
- TEST_ENDIANNESS;
- if (result) {
- /* result is contains a string, so its fields (interpreted
- as a Bigint have been trashed. Restore them.
- This is a really ugly interface - result should
- not be static, since that is not thread-safe. FIXME. */
- result->k = result_k;
- result->maxwds = 1 << result_k;
- result->on_stack = 0;
- }
-
- if (word0(d) & Sign_bit) {
- /* set sign for everything, including 0's and NaNs */
- *sign = 1;
- setword0(d, word0(d) & ~Sign_bit); /* clear sign bit */
- }
- else
- *sign = 0;
-
-#if defined(IEEE_Arith) + defined(VAX)
-#ifdef IEEE_Arith
- if ((word0(d) & Exp_mask) == Exp_mask)
-#else
- if (word0(d) == 0x8000)
-#endif
- {
- /* Infinity or NaN */
- *decpt = 9999;
-#ifdef IEEE_Arith
- if (!word1(d) && !(word0(d) & 0xfffff))
- {
- s = "Infinity";
- if (rve)
- *rve = s + 8;
- }
- else
-#endif
- {
- s = "NaN";
- if (rve)
- *rve = s +3;
- }
- return s;
- }
-#endif
-#ifdef IBM
- d += 0; /* normalize */
-#endif
- if (!d) {
- *decpt = 1;
- s = "0";
- if (rve)
- *rve = s + 1;
- return s;
- }
-
- b = d2b(b, d, &be, &bbits);
- i = (int)(word0(d) >> Exp_shift1 & (Exp_mask>>Exp_shift1));
-#ifndef Sudden_Underflow
- if (i) {
-#endif
- d2 = d;
- setword0(d2, (word0(d2) & Frac_mask1) | Exp_11);
-#ifdef IBM
- if (j = 11 - hi0bits(word0(d2) & Frac_mask))
- d2 /= 1 << j;
-#endif
-
- i -= Bias;
-#ifdef IBM
- i <<= 2;
- i += j;
-#endif
-#ifndef Sudden_Underflow
- denorm = 0;
- }
- else {
- /* d is denormalized */
- unsigned32 x;
-
- i = bbits + be + (Bias + (P-1) - 1);
- x = i > 32 ? word0(d) << (64 - i) | word1(d) >> (i - 32)
- : word1(d) << (32 - i);
- d2 = x;
- addword0(d2, - 31*Exp_msk1); /* adjust exponent */
- i -= (Bias + (P-1) - 1) + 1;
- denorm = 1;
- }
-#endif
-
- /* Now i is the unbiased base-2 exponent. */
-
- /* log(x) ~=~ log(1.5) + (x-1.5)/1.5
- * log10(x) = log(x) / log(10)
- * ~=~ log(1.5)/log(10) + (x-1.5)/(1.5*log(10))
- * log10(d) = i*log(2)/log(10) + log10(d2)
- *
- * This suggests computing an approximation k to log10(d) by
- *
- * k = i*0.301029995663981
- * + ( (d2-1.5)*0.289529654602168 + 0.176091259055681 );
- *
- * We want k to be too large rather than too small.
- * The error in the first-order Taylor series approximation
- * is in our favor, so we just round up the constant enough
- * to compensate for any error in the multiplication of
- * (i) by 0.301029995663981; since |i| <= 1077,
- * and 1077 * 0.30103 * 2^-52 ~=~ 7.2e-14,
- * adding 1e-13 to the constant term more than suffices.
- * Hence we adjust the constant term to 0.1760912590558.
- * (We could get a more accurate k by invoking log10,
- * but this is probably not worthwhile.)
- */
-
- ds = (d2-1.5)*0.289529654602168 + 0.1760912590558 + i*0.301029995663981;
- k = (int)ds;
- if (ds < 0. && ds != k)
- k--; /* want k = floor(ds) */
- k_check = 1;
- if (k >= 0 && k <= Ten_pmax) {
- if (d < tens[k])
- k--;
- k_check = 0;
- }
- j = bbits - i - 1;
- if (j >= 0) {
- b2 = 0;
- s2 = j;
- }
- else {
- b2 = -j;
- s2 = 0;
- }
- if (k >= 0) {
- b5 = 0;
- s5 = k;
- s2 += k;
- }
- else {
- b2 -= k;
- b5 = -k;
- s5 = 0;
- }
- if (mode < 0 || mode > 9)
- mode = 0;
- try_quick = 1;
- if (mode > 5) {
- mode -= 4;
- try_quick = 0;
- }
- leftright = 1;
- switch(mode) {
- case 0:
- case 1:
- ilim = ilim1 = -1;
- i = 18;
- ndigits = 0;
- break;
- case 2:
- leftright = 0;
- /* no break */
- case 4:
- if (ndigits <= 0)
- ndigits = 1;
- ilim = ilim1 = i = ndigits;
- break;
- case 3:
- leftright = 0;
- /* no break */
- case 5:
- i = ndigits + k + 1;
- ilim = i;
- ilim1 = i - 1;
- if (i <= 0)
- i = 1;
- }
- /* i is now an upper bound of the number of digits to generate. */
- j = sizeof(unsigned32) * (1<<BIGINT_MINIMUM_K);
- /* The test is <= so as to allow room for the final '\0'. */
- for(result_k = BIGINT_MINIMUM_K; BIGINT_HEADER_SIZE + j <= i;
- j <<= 1) result_k++;
- if (!result || result_k > result->k)
- {
- Bfree (result);
- result = Balloc(result_k);
- }
- s = s0 = (char *)result;
-
- if (ilim >= 0 && ilim <= Quick_max && try_quick) {
-
- /* Try to get by with floating-point arithmetic. */
-
- i = 0;
- d2 = d;
- k0 = k;
- ilim0 = ilim;
- ieps = 2; /* conservative */
- if (k > 0) {
- ds = tens[k&0xf];
- j = k >> 4;
- if (j & Bletch) {
- /* prevent overflows */
- j &= Bletch - 1;
- d /= bigtens[n_bigtens-1];
- ieps++;
- }
- for(; j; j >>= 1, i++)
- if (j & 1) {
- ieps++;
- ds *= bigtens[i];
- }
- d /= ds;
- }
- else if ((j1 = -k)) {
- d *= tens[j1 & 0xf];
- for(j = j1 >> 4; j; j >>= 1, i++)
- if (j & 1) {
- ieps++;
- d *= bigtens[i];
- }
- }
- if (k_check && d < 1. && ilim > 0) {
- if (ilim1 <= 0)
- goto fast_failed;
- ilim = ilim1;
- k--;
- d *= 10.;
- ieps++;
- }
- eps = ieps*d + 7.;
- addword0(eps, - (P-1)*Exp_msk1);
- if (ilim == 0) {
- d -= 5.;
- if (d > eps)
- goto one_digit;
- if (d < -eps)
- goto no_digits;
- goto fast_failed;
- }
-#ifndef No_leftright
- if (leftright) {
- /* Use Steele & White method of only
- * generating digits needed.
- */
- eps = 0.5/tens[ilim-1] - eps;
- for(i = 0;;) {
- L = (_G_int32_t)d;
- d -= L;
- *s++ = '0' + (int)L;
- if (d < eps)
- goto ret1;
- if (1. - d < eps)
- goto bump_up;
- if (++i >= ilim)
- break;
- eps *= 10.;
- d *= 10.;
- }
- }
- else {
-#endif
- /* Generate ilim digits, then fix them up. */
- eps *= tens[ilim-1];
- for(i = 1;; i++, d *= 10.) {
- L = (_G_int32_t)d;
- d -= L;
- *s++ = '0' + (int)L;
- if (i == ilim) {
- if (d > 0.5 + eps)
- goto bump_up;
- else if (d < 0.5 - eps) {
- while(*--s == '0');
- s++;
- goto ret1;
- }
- break;
- }
- }
-#ifndef No_leftright
- }
-#endif
- fast_failed:
- s = s0;
- d = d2;
- k = k0;
- ilim = ilim0;
- }
-
- /* Do we have a "small" integer? */
-
- if (be >= 0 && k <= Int_max) {
- /* Yes. */
- ds = tens[k];
- if (ndigits < 0 && ilim <= 0) {
- if (ilim < 0 || d <= 5*ds)
- goto no_digits;
- goto one_digit;
- }
- for(i = 1;; i++) {
- L = (_G_int32_t)(d / ds);
- d -= L*ds;
-#ifdef Check_FLT_ROUNDS
- /* If FLT_ROUNDS == 2, L will usually be high by 1 */
- if (d < 0) {
- L--;
- d += ds;
- }
-#endif
- *s++ = '0' + (int)L;
- if (i == ilim) {
- d += d;
- if (d > ds || (d == ds && L & 1)) {
- bump_up:
- while(*--s == '9')
- if (s == s0) {
- k++;
- *s = '0';
- break;
- }
- ++*s++;
- }
- break;
- }
- if (!(d *= 10.))
- break;
- }
- goto ret1;
- }
-
- m2 = b2;
- m5 = b5;
- if (leftright) {
- if (mode < 2) {
- i =
-#ifndef Sudden_Underflow
- denorm ? be + (Bias + (P-1) - 1 + 1) :
-#endif
-#ifdef IBM
- 1 + 4*P - 3 - bbits + ((bbits + be - 1) & 3);
-#else
- 1 + P - bbits;
-#endif
- }
- else {
- j = ilim - 1;
- if (m5 >= j)
- m5 -= j;
- else {
- s5 += j -= m5;
- b5 += j;
- m5 = 0;
- }
- if ((i = ilim) < 0) {
- m2 -= i;
- i = 0;
- }
- }
- b2 += i;
- s2 += i;
- mhi = i2b(Binit(&_mhi), 1);
- }
- if (m2 > 0 && s2 > 0) {
- i = m2 < s2 ? m2 : s2;
- b2 -= i;
- m2 -= i;
- s2 -= i;
- }
- if (b5 > 0) {
- if (leftright) {
- if (m5 > 0) {
- Bigint *b_tmp;
- mhi = pow5mult(mhi, m5);
- b_tmp = mult(b_avail, mhi, b);
- b_avail = b;
- b = b_tmp;
- }
- if ((j = b5 - m5))
- b = pow5mult(b, j);
- }
- else
- b = pow5mult(b, b5);
- }
- S = i2b(S, 1);
- if (s5 > 0)
- S = pow5mult(S, s5);
-
- /* Check for special case that d is a normalized power of 2. */
-
- if (mode < 2) {
- if (!word1(d) && !(word0(d) & Bndry_mask)
-#ifndef Sudden_Underflow
- && word0(d) & Exp_mask
-#endif
- ) {
- /* The special case */
- b2 += Log2P;
- s2 += Log2P;
- spec_case = 1;
- }
- else
- spec_case = 0;
- }
-
- /* Arrange for convenient computation of quotients:
- * shift left if necessary so divisor has 4 leading 0 bits.
- *
- * Perhaps we should just compute leading 28 bits of S once
- * and for all and pass them and a shift to quorem, so it
- * can do shifts and ors to compute the numerator for q.
- */
- if ((i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0x1f))
- i = 32 - i;
- if (i > 4) {
- i -= 4;
- b2 += i;
- m2 += i;
- s2 += i;
- }
- else if (i < 4) {
- i += 28;
- b2 += i;
- m2 += i;
- s2 += i;
- }
- if (b2 > 0)
- b = lshift(b, b2);
- if (s2 > 0)
- S = lshift(S, s2);
- if (k_check) {
- if (cmp(b,S) < 0) {
- k--;
- b = multadd(b, 10, 0); /* we botched the k estimate */
- if (leftright)
- mhi = multadd(mhi, 10, 0);
- ilim = ilim1;
- }
- }
- if (ilim <= 0 && mode > 2) {
- if (ilim < 0 || cmp(b,S = multadd(S,5,0)) <= 0) {
- /* no digits, fcvt style */
- no_digits:
- k = -1 - ndigits;
- goto ret;
- }
- one_digit:
- *s++ = '1';
- k++;
- goto ret;
- }
- if (leftright) {
- if (m2 > 0)
- mhi = lshift(mhi, m2);
-
- /* Compute mlo -- check for special case
- * that d is a normalized power of 2.
- */
-
- if (spec_case) {
- mlo = Brealloc(Binit(&_mlo), mhi->k);
- Bcopy(mlo, mhi);
- mhi = lshift(mhi, Log2P);
- }
- else
- mlo = mhi;
-
- for(i = 1;;i++) {
- dig = quorem(b,S) + '0';
- /* Do we yet have the shortest decimal string
- * that will round to d?
- */
- j = cmp(b, mlo);
- b_avail = diff(b_avail, S, mhi); /* b_avail = S - mi */
- j1 = b_avail->sign ? 1 : cmp(b, b_avail);
-#ifndef ROUND_BIASED
- if (j1 == 0 && !mode && !(word1(d) & 1)) {
- if (dig == '9')
- goto round_9_up;
- if (j > 0)
- dig++;
- *s++ = dig;
- goto ret;
- }
-#endif
- if (j < 0 || (j == 0 && !mode
-#ifndef ROUND_BIASED
- && !(word1(d) & 1)
-#endif
- )) {
- if (j1 > 0) {
- b = lshift(b, 1);
- j1 = cmp(b, S);
- if ((j1 > 0 || (j1 == 0 && dig & 1))
- && dig++ == '9')
- goto round_9_up;
- }
- *s++ = dig;
- goto ret;
- }
- if (j1 > 0) {
- if (dig == '9') { /* possible if i == 1 */
- round_9_up:
- *s++ = '9';
- goto roundoff;
- }
- *s++ = dig + 1;
- goto ret;
- }
- *s++ = dig;
- if (i == ilim)
- break;
- b = multadd(b, 10, 0);
- if (mlo == mhi)
- mlo = mhi = multadd(mhi, 10, 0);
- else {
- mlo = multadd(mlo, 10, 0);
- mhi = multadd(mhi, 10, 0);
- }
- }
- }
- else
- for(i = 1;; i++) {
- *s++ = dig = quorem(b,S) + '0';
- if (i >= ilim)
- break;
- b = multadd(b, 10, 0);
- }
-
- /* Round off last digit */
-
- b = lshift(b, 1);
- j = cmp(b, S);
- if (j > 0 || (j == 0 && dig & 1)) {
- roundoff:
- while(*--s == '9')
- if (s == s0) {
- k++;
- *s++ = '1';
- goto ret;
- }
- ++*s++;
- }
- else {
- while(*--s == '0');
- s++;
- }
- ret:
- Bfree(b_avail);
- Bfree(S);
- if (mhi) {
- if (mlo && mlo != mhi)
- Bfree(mlo);
- Bfree(mhi);
- }
- ret1:
- Bfree(b);
- *s = 0;
- *decpt = k + 1;
- if (rve)
- *rve = s;
- return s0;
- }
-#endif /* _IO_USE_DTOA */
diff --git a/contrib/libio/floatio.h b/contrib/libio/floatio.h
deleted file mode 100644
index 827767b..0000000
--- a/contrib/libio/floatio.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/*
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * %W% (Berkeley) %G%
- */
-
-/*
- * Floating point scanf/printf (input/output) definitions.
- */
-
-/* 11-bit exponent (VAX G floating point) is 308 decimal digits */
-#define MAXEXP 308
-/* 128 bit fraction takes up 39 decimal digits; max reasonable precision */
-#define MAXFRACT 39
diff --git a/contrib/libio/fstream.cc b/contrib/libio/fstream.cc
deleted file mode 100644
index 8930e0b..0000000
--- a/contrib/libio/fstream.cc
+++ /dev/null
@@ -1,110 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License.
-
-Written by Per Bothner (bothner@cygnus.com). */
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
-#define _STREAM_COMPAT
-extern "C" {
-#include "libioP.h"
-}
-#include <fstream.h>
-
-inline void
-fstreambase::__fb_init()
-{
-#ifdef _IO_NEW_STREAMS
-#if !_IO_UNIFIED_JUMPTABLES
- /* Uses the _IO_file_jump jumptable, for eficiency. */
- __my_fb._jumps = &_IO_file_jumps;
- __my_fb._vtable() = builtinbuf_vtable;
-#endif
- init (&__my_fb);
-#else
- init(filebuf::__new());
- _flags &= ~ios::dont_close;
-#endif
-}
-
-fstreambase::fstreambase()
-{
- __fb_init ();
-}
-
-fstreambase::fstreambase(int fd)
-{
- __fb_init ();
- _IO_file_attach(rdbuf(), fd);
-}
-
-fstreambase::fstreambase(const char *name, int mode, int prot)
-{
- __fb_init ();
- if (!rdbuf()->open(name, mode, prot))
- set(ios::badbit);
-}
-
-fstreambase::fstreambase(int fd, char *p, int l)
-{
-#ifdef _IO_NEW_STREAMS
- __fb_init ();
-#else
- init(filebuf::__new());
-#endif
- _IO_file_attach(rdbuf(), fd);
- _IO_file_setbuf(rdbuf(), p, l);
-}
-
-void fstreambase::open(const char *name, int mode, int prot)
-{
- clear();
- if (!rdbuf()->open(name, mode, prot))
- set(ios::badbit);
-}
-
-void fstreambase::close()
-{
- if (!rdbuf()->close())
- set(ios::failbit);
-}
-
-void fstreambase::attach(int fd)
-{
- if (!rdbuf()->attach(fd))
- set(ios::failbit);
-}
-
-#if 0
-static int mode_to_sys(enum open_mode mode)
-{
- return O_WRONLY;
-}
-
-static char* fopen_cmd_arg(io_mode i)
-{
- return "w";
-}
-#endif
diff --git a/contrib/libio/fstream.h b/contrib/libio/fstream.h
deleted file mode 100644
index b5f6598..0000000
--- a/contrib/libio/fstream.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993, 2000 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#ifndef _FSTREAM_H
-#define _FSTREAM_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-#include <iostream.h>
-
-extern "C++" {
-class fstreambase : virtual public ios {
-#ifdef _IO_NEW_STREAMS
- mutable filebuf __my_fb; // mutable so rdbuf() can be const
-#endif
- void __fb_init ();
- public:
- fstreambase();
- fstreambase(int fd);
- fstreambase(int fd, char *p, int l); /* Deprecated */
- fstreambase(const char *name, int mode, int prot=0664);
- void close();
-#ifdef _IO_NEW_STREAMS
- filebuf* rdbuf() const { return &__my_fb; }
-#else
- filebuf* rdbuf() const { return (filebuf*) ios::rdbuf(); }
-#endif
- void open(const char *name, int mode, int prot=0664);
- int is_open() const { return rdbuf()->is_open(); }
- void setbuf(char *ptr, int len) { rdbuf()->setbuf(ptr, len); }
- void attach(int fd);
-#ifdef _STREAM_COMPAT
- int filedesc() { return rdbuf()->fd(); }
- fstreambase& raw() { rdbuf()->setbuf(NULL, 0); return *this; }
-#endif
-};
-
-class ifstream : public fstreambase, public istream {
- public:
- ifstream() : fstreambase() { }
- ifstream(int fd) : fstreambase(fd) { }
- ifstream(int fd, char *p, int l) : fstreambase(fd, p, l) { } /*Deprecated*/
- ifstream(const char *name, int mode=ios::in, int prot=0664)
- : fstreambase(name, mode | ios::in, prot) { }
- void open(const char *name, int mode=ios::in, int prot=0664)
- { fstreambase::open(name, mode | ios::in, prot); }
-};
-
-class ofstream : public fstreambase, public ostream {
- public:
- ofstream() : fstreambase() { }
- ofstream(int fd) : fstreambase(fd) { }
- ofstream(int fd, char *p, int l) : fstreambase(fd, p, l) { } /*Deprecated*/
- ofstream(const char *name, int mode=ios::out, int prot=0664)
- : fstreambase(name, mode | ios::out, prot) { }
- void open(const char *name, int mode=ios::out, int prot=0664)
- { fstreambase::open(name, mode | ios::out, prot); }
-};
-
-class fstream : public fstreambase, public iostream {
- public:
- fstream() : fstreambase() { }
- fstream(int fd) : fstreambase(fd) { }
- fstream(const char *name, int mode, int prot=0664)
- : fstreambase(name, mode, prot) { }
- fstream(int fd, char *p, int l) : fstreambase(fd, p, l) { } /*Deprecated*/
- void open(const char *name, int mode, int prot=0664)
- { fstreambase::open(name, mode, prot); }
-};
-} // extern "C++"
-#endif /*!_FSTREAM_H*/
diff --git a/contrib/libio/gen-params b/contrib/libio/gen-params
deleted file mode 100755
index afb8f3b..0000000
--- a/contrib/libio/gen-params
+++ /dev/null
@@ -1,739 +0,0 @@
-#!/bin/sh
-# Copyright (C) 1992, 1993, 1994, 1997, 1998, 1999 Free Software Foundation
-#
-# This file is part of the GNU IO Library. This library is free
-# software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this library; see the file COPYING. If not, write to the Free
-# Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Written by Per Bothner (bothner@cygnus.com)
-
-# This is a shell-script that figures out various things about a
-# system, and writes (to stdout) a C-style include files with
-# suitable definitions, including all the standard Posix types.
-# It works by compiling various test programs -- some are run through
-# the C pre-processor, and the output examined.
-# The test programs are only compiled, not executed, so the script
-# should even if you're cross-compiling.
-# It uses $CC (which defaults to cc) to compile C programs (extension .c),
-# and $CXX (which defaults to gcc) to compile C++ programs (extension .C).
-# The shell-script is written for libg++.a.
-
-# Usage: gen-params [NAME1=name1 ...]
-# - where an assignment (such as size_t="unsigned int" means to
-# use that value, instead of trying to figure it out.
-
-# Uncomment following line for debugging
-# set -x
-
-SED=sed
-
-# Evaluate the arguments (which should be assignments):
-for arg in "$@"; do
- # Quote arg (i.e. FOO=bar => FOO='bar'), then eval it.
- eval `echo "$arg" | ${SED} -e "s|^\(.*\)=\(.*\)|\1='\2'|"`
-done
-
-macro_prefix=${macro_prefix-"_G_"}
-rootdir=`pwd`/..
-gccdir=${gccdir-${rootdir}/gcc}
-binutilsdir=${binutilsdir-${rootdir}/binutils}
-CC=${CC-`if [ -f ${gccdir}/xgcc ] ; \
- then echo ${gccdir}/xgcc -B${gccdir}/ ; \
- else echo cc ; fi`}
-CXX=${CXX-`if [ -f ${gccdir}/xgcc ] ; \
- then echo ${gccdir}/xgcc -B${gccdir}/ ; \
- else echo gcc ; fi`}
-CPP=${CPP-`echo ${CC} -E`}
-CONFIG_NM=${CONFIG_NM-`if [ -f ${binutilsdir}/nm.new ] ; \
- then echo ${binutilsdir}/nm.new ; \
- else echo nm ; fi`}
-
-cat <<!EOF!
-/* AUTOMATICALLY GENERATED; DO NOT EDIT! */
-#ifndef ${macro_prefix}config_h
-#define ${macro_prefix}config_h
-!EOF!
-
-if [ x"${LIB_VERSION}" != "x" ] ; then
- echo "#define ${macro_prefix}LIB_VERSION" '"'${LIB_VERSION}'"'
-fi
-
-# This program is used to test if the compiler prepends '_' before identifiers.
-# It is also used to check the g++ uses '$' or '.' various places.
-
-if test -z "${NAMES_HAVE_UNDERSCORE}" \
- || test -z "${DOLLAR_IN_LABEL}" \
- || test -z "${VTABLE_LABEL_PREFIX}"; then
- cat >dummy.h <<!EOF!
-#ifdef __GNUG__
-#pragma interface
-#endif
- struct filebuf {
- virtual int foo();
- };
-!EOF!
- cat >dummy.C <<!EOF!
-#ifdef __GNUG__
-#pragma implementation
-#endif
-#include "dummy.h"
- int filebuf::foo() { return 0; }
- extern "C" int FUNC(int);
- int FUNC(int i) { return i+10; }
-!EOF!
-
- if ${CXX} -O -c dummy.C ; then
- if test -z "${NAMES_HAVE_UNDERSCORE}" ; then
- if test "`${CONFIG_NM} dummy.o | grep _FUNC`" != ""; then
- NAMES_HAVE_UNDERSCORE=1
- elif test "`${CONFIG_NM} dummy.o | grep FUNC`" != ""; then
- NAMES_HAVE_UNDERSCORE=0
- else
- echo "${CONFIG_NM} failed to find FUNC in dummy.o!" 1>&2; exit -1;
- fi
- fi
- echo "#define ${macro_prefix}NAMES_HAVE_UNDERSCORE ${NAMES_HAVE_UNDERSCORE}"
-
- if test -z "${VTABLE_LABEL_PREFIX}" ; then
- # Determine how virtual function tables are named. This is fragile,
- # because different nm's produce output in different formats.
- ${CONFIG_NM} dummy.o >TMP
- if [ -n "`${SED} -n -e 's/ virtual table/nope/p' <TMP`" ] ; then
- ${CONFIG_NM} --no-cplus dummy.o >TMP 2>/dev/null ||
- ${CONFIG_NM} --no-demangle dummy.o >TMP 2>/dev/null ||
- ${CONFIG_NM} dummy.o >TMP 2>/dev/null
- fi
- # First we look for a pattern that matches historical output from g++.
- # We surround the actual label name by <> to separate it from
- # other nm junk.
- ${SED} -n -e 's/_*vt[$_.]7*filebuf/<&>/p' <TMP >dummy.out
- # For paranoia's sake (e.g. if we're using some other C++ compiler)
- # we try a more general pattern, and append the result.
- grep -v foo <TMP \
- | ${SED} -n -e 's/[a-zA-Z0-9_.$]*filebuf[a-zA-Z0-9_.$]*/<&>/p' \
- >>dummy.out
- # Now we get rid of the <>, and any other junk on the nm output line.
- # (We get rid of <filebuf> in case nm included debugging output for
- # class filebuf itself.) On windows32, we also need to delete the
- # unique sections (.data$_vt$*), otherwise we get the wrong result.
- # Finally, we select the first line of the result, and hope that's
- # what we wanted!
- vtab_name=`${SED} -n -e '/<filebuf>/d' \
- -e '/\.data[$_.]<_vt\$7filebuf>/d' \
- -e 's/^.*<\(.*\)>.*$/\1/p' \
- <dummy.out | ${SED} -n -e '1p'`
- case "${vtab_name}" in
- *7filebuf) echo "#define ${macro_prefix}VTABLE_LABEL_HAS_LENGTH 1" ;;
- *) echo "#define ${macro_prefix}VTABLE_LABEL_HAS_LENGTH 0" ;;
- esac
- VTABLE_LABEL_PREFIX=`echo $vtab_name | ${SED} -e 's/7*filebuf//'`
- fi
- echo "#define ${macro_prefix}VTABLE_LABEL_PREFIX" '"'"${VTABLE_LABEL_PREFIX}"'"'
- if [ "${VTABLE_LABEL_PREFIX}" = "__vt_" -o \
- "${VTABLE_LABEL_PREFIX}" = "___vt_" ] ; then
- echo "#define ${macro_prefix}USING_THUNKS"
- fi
-
- # VTABLE_LABEL_PREFIX_ID is the same as VTABLE_LABEL_PREFIX,
- # but the former is a C identifier, while the latter is a quoted
- # st
- if [ -z ""`echo ${VTABLE_LABEL_PREFIX} | ${SED} -e 's/[a-zA-Z0-9_]//g'` ] ; then
- if [ "${NAMES_HAVE_UNDERSCORE}" = "1" ] ; then
- VTABLE_LABEL_PREFIX=`echo ${VTABLE_LABEL_PREFIX} | ${SED} -e 's/^_//'`
- fi
- echo "#define ${macro_prefix}VTABLE_LABEL_PREFIX_ID ${VTABLE_LABEL_PREFIX}"
- fi
-
-# if test -n "${DOLLAR_IN_LABEL}" ; then
-# echo "#define ${macro_prefix}DOLLAR_IN_LABEL ${DOLLAR_IN_LABEL}"
-# elif test "`${CONFIG_NM} dummy.o | grep 'vt[$$]7filebuf'`" != ""; then
-# echo "#define ${macro_prefix}DOLLAR_IN_LABEL 1"
-# elif test "`${CONFIG_NM} dummy.o | grep 'vt[.]7filebuf'`" != ""; then
-# echo "#define ${macro_prefix}DOLLAR_IN_LABEL 0"
-# elif test "`${CONFIG_NM} dummy.o | grep 'vtbl__7filebuf'`" != ""; then
-# echo "#define ${macro_prefix}DOLLAR_IN_LABEL 0"
-# else
-# echo "gen-params: ${CONFIG_NM} failed to find vt[.\$]filebuf in dummy.o!" 1>&2; exit 1
-# fi
- else
- # The compile failed for some reason (no C++?)
- echo "gen-params: could not compile dummy.C with ${CXX}" 1>&2; exit 1;
- fi
-fi
-
-# A little test program to check if struct stat has st_blksize.
-cat >dummy.c <<!EOF!
-#include <sys/types.h>
-#include <sys/stat.h>
-int BLKSIZE(struct stat *st)
-{
- return st->st_blksize;
-}
-!EOF!
-
-if ${CC} -c dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}HAVE_ST_BLKSIZE 1"
-else
- echo "#define ${macro_prefix}HAVE_ST_BLKSIZE 0"
-fi
-
-# A little test program to check if the name 'clog' is defined in libm,
-# as it is under DEC UNIX.
-cat >dummy.c <<!EOF!
-int clog;
-main () {}
-!EOF!
-
-if ${CC} dummy.c -lm 2>&1 >/dev/null | grep clog >/dev/null; then
- echo "#define ${macro_prefix}CLOG_CONFLICT 1"
-fi
-
-echo ""
-
-# Next, generate definitions for the standard types (such as mode_t)
-# compatible with those in the standard C header files.
-# It works by a dummy program through the C pre-processor, and then
-# using sed to search for typedefs in the output.
-
-for hdr in wchar wctype; do
- eval $hdr=0
- cat >dummy.c <<EOF
-#include <${hdr}.h>
-EOF
- if ${CPP} dummy.c >/dev/null 2>&1 ; then eval $hdr=1; fi
-done
-
-cat >dummy.c <<!EOF!
-#include <sys/types.h>
-#include <stddef.h>
-#ifdef __STDC__
-#include <stdarg.h>
-#else /* !__STDC__ */
-#include <varargs.h>
-#endif /* __STDC__ */
-#include <stdio.h>
-#include <time.h>
-#include <signal.h>
-#ifdef __STDC__
-#include <limits.h>
-#endif
-#if WCHAR == 1
-#include <wchar.h>
-#endif
-#if WCTYPE == 1
-#include <wctype.h>
-#endif
-#ifdef size_t
-typedef size_t Xsize_t;
-#elif defined(__SIZE_TYPE__)
-typedef __SIZE_TYPE__ Xsize_t;
-#endif
-#ifdef ptrdiff_t
-typedef ptrdiff_t Xptrdiff_t;
-#elif defined(__PTRDIFF_TYPE__)
-typedef __PTRDIFF_TYPE__ Xptrdiff_t;
-#endif
-#ifdef wchar_t
-typedef wchar_t Xwchar_t;
-#elif defined(__WCHAR_TYPE__)
-typedef __WCHAR_TYPE__ Xwchar_t;
-#endif
-#ifdef va_list
-typedef va_list XXXva_list;
-#endif
-#ifdef BUFSIZ
-long XBUFSIZ=BUFSIZ;
-#endif
-#ifdef FOPEN_MAX
-long XFOPEN_MAX=FOPEN_MAX;
-#endif
-#ifdef FILENAME_MAX
-long XFILENAME_MAX=FILENAME_MAX;
-#endif
-#ifdef SHRT_MAX
-long XSHRT_MAX=SHRT_MAX;
-#endif
-#ifdef INT_MAX
-long XINT_MAX=INT_MAX;
-#endif
-#ifdef LONG_MAX
-long XLONG_MAX=LONG_MAX;
-#endif
-#ifdef LONG_LONG_MAX
-long XLONG_LONG_MAX=LONG_LONG_MAX;
-#endif
-!EOF!
-
-if ${CPP} dummy.c -DWCHAR=$wchar -DWCTYPE=$wctype >TMP ; then true
-else
- echo "gen-params: could not invoke ${CPP} on dummy.c" 1>&2 ; exit 1
-fi
-tr ' ' ' ' <TMP >dummy.out
-
-for TYPE in dev_t clock_t fpos_t gid_t ino_t mode_t nlink_t off_t pid_t ptrdiff_t sigset_t size_t ssize_t time_t uid_t va_list wchar_t wint_t int16_t uint16_t int32_t uint_32_t u_int16_t u_int32_t; do
- eval IMPORTED=\$$TYPE
- if [ -n "${IMPORTED}" ] ; then
- eval "$TYPE='$IMPORTED'"
- else
- t=$TYPE
- VALUE=''
-
- # Follow `typedef VALUE TYPE' chains, but don't loop indefinitely.
- for iteration in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do
- # Search dummy.out for a typedef for X*$t.
- sed_script="
- s/unsigned long long int/_G_ullong/g
- s/long long int/_G_llong/g
- s/unsigned long long/_G_ullong/g
- s/long long/_G_llong/g
- /.*typedef *\\(.*[^ ]\\) *X*$t *;.*/{s||\1|;p;q;}
- /.*typedef *\\(.*[^ a-zA-Z0-9_]\\)X*$t *;.*/{s||\1|;p;q;}
- "
- t=`${SED} -n "$sed_script" <dummy.out`
- case "$t" in
- '')
- break;;
- *)
- # Found a type $t; save it in VALUE.
- VALUE=$t
- # If it won't cause problems in matching,
- # look for a typedef for it in turn.
- case "$VALUE" in
- *.* | */* | *\ * | *\** | *\[* | *\\*) break;;
- esac;;
- esac
- done
-
- case "$VALUE" in
- ?*) eval "$TYPE=\"$VALUE\""
- esac
- fi
-done
-
-# Look for some standard macros.
-for NAME in BUFSIZ FOPEN_MAX FILENAME_MAX NULL; do
- eval IMPORTED=\$$NAME
- if [ -n "${IMPORTED}" ] ; then
- eval "$NAME='$IMPORTED /* specified */'"
- else
- rm -f TMP
- ${SED} -n -e 's| *;|;|g' -e "s|long X${NAME}= *\(.*\);|\1|w TMP" \
- <dummy.out>/dev/null
- # Now select the first definition.
- if [ -s TMP ]; then
- eval "$NAME='"`${SED} -e '2,$d' <TMP`"'"
- fi
- fi
-done
-
-# These macros must be numerical constants; strip any trailing 'L's.
-for NAME in SHRT_MAX INT_MAX LONG_MAX LONG_LONG_MAX; do
- eval IMPORTED=\$$NAME
- if [ -n "${IMPORTED}" ] ; then
- eval "$NAME='$IMPORTED /* specified */'"
- else
- rm -f TMP
- ${SED} -n -e 's| *;|;|g' -e "s|long X${NAME}= *\([0-9]*\)L* *;|\1|w TMP" \
- <dummy.out>/dev/null
- # Now select the first definition.
- if [ -s TMP ]; then
- eval "$NAME='"`${SED} -e '2,$d' <TMP`"'"
- fi
- fi
-done
-
-# Figure out integral type sizes.
-
-default_int16='short /* deduction failed */'
-default_int32='long /* deduction failed */'
-INT16=32767
-INT32=2147483647
-
-if [ "${SHRT_MAX}" = $INT16 ] ; then
- default_int16='short /* deduced */'
- if [ "${LONG_MAX}" = $INT32 ] ; then
- default_int32='long /* deduced */'
- elif [ "${INT_MAX}" = $INT32 ] ; then
- default_int32='int /* deduced */'
- fi
-fi
-
-[ -n "$u_int16_t" ] && uint16_t="$u_int16_t"
-[ -n "$u_int32_t" ] && uint32_t="$u_int32_t"
-
-[ -z "$int16_t" ] && int16_t="$default_int16"
-[ -z "$uint16_t" ] && uint16_t="unsigned $int16_t"
-[ -z "$int32_t" ] && int32_t="$default_int32"
-[ -z "$uint32_t" ] && uint32_t="unsigned $int32_t"
-
-cat <<!EOF!
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-typedef int ${macro_prefix}int8_t __attribute__((__mode__(__QI__)));
-typedef unsigned int ${macro_prefix}uint8_t __attribute__((__mode__(__QI__)));
-typedef int ${macro_prefix}int16_t __attribute__((__mode__(__HI__)));
-typedef unsigned int ${macro_prefix}uint16_t __attribute__((__mode__(__HI__)));
-typedef int ${macro_prefix}int32_t __attribute__((__mode__(__SI__)));
-typedef unsigned int ${macro_prefix}uint32_t __attribute__((__mode__(__SI__)));
-typedef int ${macro_prefix}int64_t __attribute__((__mode__(__DI__)));
-typedef unsigned int ${macro_prefix}uint64_t __attribute__((__mode__(__DI__)));
-#if __GNUC__ > 2 || __GNUC_MINOR__ >= 8
-__extension__ typedef long long ${macro_prefix}llong;
-__extension__ typedef unsigned long long ${macro_prefix}ullong;
-#endif
-#else
-typedef $int16_t ${macro_prefix}int16_t;
-typedef $uint16_t ${macro_prefix}uint16_t;
-typedef $int32_t ${macro_prefix}int32_t;
-typedef $uint32_t ${macro_prefix}uint32_t;
-#endif
-
-typedef ${clock_t-int /* default */} ${macro_prefix}clock_t;
-typedef ${dev_t-int /* default */} ${macro_prefix}dev_t;
-typedef ${fpos_t-long /* default */} ${macro_prefix}fpos_t;
-typedef ${gid_t-int /* default */} ${macro_prefix}gid_t;
-typedef ${ino_t-int /* default */} ${macro_prefix}ino_t;
-typedef ${mode_t-int /* default */} ${macro_prefix}mode_t;
-typedef ${nlink_t-int /* default */} ${macro_prefix}nlink_t;
-typedef ${off_t-long /* default */} ${macro_prefix}off_t;
-typedef ${pid_t-int /* default */} ${macro_prefix}pid_t;
-#ifndef __PTRDIFF_TYPE__
-#define __PTRDIFF_TYPE__ ${ptrdiff_t-long int /* default */}
-#endif
-typedef __PTRDIFF_TYPE__ ${macro_prefix}ptrdiff_t;
-typedef ${sigset_t-int /* default */} ${macro_prefix}sigset_t;
-#ifndef __SIZE_TYPE__
-#define __SIZE_TYPE__ ${size_t-unsigned long /* default */}
-#endif
-typedef __SIZE_TYPE__ ${macro_prefix}size_t;
-typedef ${time_t-int /* default */} ${macro_prefix}time_t;
-typedef ${uid_t-int /* default */} ${macro_prefix}uid_t;
-typedef ${wchar_t-int /* default */} ${macro_prefix}wchar_t;
-
-#define ${macro_prefix}BUFSIZ ${BUFSIZ-1024 /* default */}
-#define ${macro_prefix}FOPEN_MAX ${FOPEN_MAX-32 /* default */}
-#define ${macro_prefix}FILENAME_MAX ${FILENAME_MAX-1024 /* default */}
-#if defined (__cplusplus) || defined (__STDC__)
-#define ${macro_prefix}ARGS(ARGLIST) ARGLIST
-#else
-#define ${macro_prefix}ARGS(ARGLIST) ()
-#endif
-#if !defined (__GNUG__) || defined (__STRICT_ANSI__)
-#define ${macro_prefix}NO_NRV
-#endif
-#if !defined (__GNUG__)
-#define _G_NO_EXTERN_TEMPLATES
-#endif
-!EOF!
-
-# ssize_t is the signed version of size_t
-if [ -n "${ssize_t}" ] ; then
- echo "typedef ${ssize_t} ${macro_prefix}ssize_t;"
-elif [ -z "${size_t}" ] ; then
- echo "typedef long ${macro_prefix}ssize_t;"
-else
- # Remove "unsigned" from ${size_t} to get ${ssize_t}.
- tmp="`echo ${size_t} | ${SED} -e 's|unsigned||g' -e 's| | |g'`"
- if [ -z "$tmp" ] ; then
- tmp=int
- else
- # check $tmp doesn't conflict with <unistd.h>
- echo "#include <unistd.h>
- extern $tmp read();" >dummy.c
- ${CC} -c dummy.c >/dev/null 2>&1 || tmp=int
- fi
- echo "typedef $tmp /* default */ ${macro_prefix}ssize_t;"
-fi
-
-# wint_t is often the integral type to which wchar_t promotes.
-if [ -z "${wint_t}" ] ; then
- for TYPE in int 'unsigned int' 'long int' 'long unsigned int'; do
- cat >dummy.C <<!EOF!
-#ifndef __WCHAR_TYPE__
-#define __WCHAR_TYPE__ ${wchar_t-int /* default */}
-#endif
-typedef __WCHAR_TYPE__ ${macro_prefix}wchar_t;
-void foo ($TYPE);
-void foo (double);
-void bar (${macro_prefix}wchar_t w)
-{
- foo (w);
-}
-!EOF!
- if ${CXX} -c dummy.C >/dev/null 2>&1 ; then
- wint_t="$TYPE /* default */"
- break
- fi
- done
-fi
-echo "typedef ${wint_t-int /* wchar_t is broken */} ${macro_prefix}wint_t;"
-
-# va_list can cause problems (e.g. some systems have va_list as a struct).
-# Check to see if ${va_list-char*} really is compatible with stdarg.h.
-cat >dummy.C <<!EOF!
-#define X_va_list ${va_list-char* /* default */}
-extern long foo(X_va_list ap); /* Check that X_va_list compiles on its own */
-extern "C" {
-#include <stdarg.h>
-}
-long foo(X_va_list ap) { return va_arg(ap, long); }
-long bar(int i, ...)
-{ va_list ap; long j; va_start(ap, i); j = foo(ap); va_end(ap); return j; }
-!EOF!
-if ${CXX} -c dummy.C >/dev/null 2>&1 ; then
- # Ok: We have something that works.
- echo "typedef ${va_list-char* /* default */} ${macro_prefix}va_list;"
-else
- echo "#define ${macro_prefix}NEED_STDARG_H"
- # Check and see if we have __gnuc_va_list, as we might set up define
- # loops if we use va_list.
- cat >dummy.C <<!EOF!
-#include <stdarg.h>
-long foo(__gnuc_va_list ap) { return va_arg(ap, long); }
-!EOF!
- if ${CXX} -c dummy.C >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}va_list __gnuc_va_list"
- else
- echo "#define ${macro_prefix}va_list va_list"
- fi
-fi
-
-cat >dummy.c <<!EOF!
-#include <signal.h>
-extern int (*signal())();
-extern int dummy (int);
-main()
-{
- int (*oldsig)(int) = signal (1, dummy);
- (void) signal (2, oldsig);
- return 0;
-}
-!EOF!
-if ${CC} -c dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}signal_return_type int"
-else
- echo "#define ${macro_prefix}signal_return_type void"
-fi
-
-# check sprintf return type
-
-cat >dummy.c <<!EOF!
-#include <stdio.h>
-extern int sprintf(); char buf[100];
-int main() { return sprintf(buf, "%d", 34); }
-!EOF!
-if ${CC} -c dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}sprintf_return_type int"
-else
- echo "#define ${macro_prefix}sprintf_return_type char*"
-fi
-
-if test -n "${HAVE_ATEXIT}" ; then
- echo "#define ${macro_prefix}HAVE_ATEXIT ${HAVE_ATEXIT}"
-else
- cat >dummy.c <<!EOF!
-#include <stdlib.h>
-int main()
-{
- atexit (0);
-}
-!EOF!
- if ${CC} dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}HAVE_ATEXIT 1"
- else
- echo "#define ${macro_prefix}HAVE_ATEXIT 0"
- fi
-fi
-
-
-# *** Check for presence of certain include files ***
-
-# check for sys/resource.h
-
-if test -n "${HAVE_SYS_RESOURCE}" ; then
- echo "#define ${macro_prefix}HAVE_SYS_RESOURCE ${HAVE_SYS_RESOURCE}"
-else
- cat >dummy.c <<!EOF!
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/resource.h>
- int main()
- {
- struct rusage res;
- getrusage(RUSAGE_SELF, &res);
- return (int)(res.ru_utime.tv_sec + (res.ru_utime.tv_usec / 1000000.0));
- }
-!EOF!
- # Note: We link because some systems have sys/resource, but not getrusage().
- if ${CC} dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}HAVE_SYS_RESOURCE 1"
- else
- echo "#define ${macro_prefix}HAVE_SYS_RESOURCE 0"
- fi
-fi
-
-# check for struct tms in sys/times.h
-
-if test -n "${HAVE_SYS_TIMES}" ; then
- echo "#define ${macro_prefix}HAVE_SYS_TIMES ${HAVE_SYS_TIMES}"
-else
- cat >dummy.c <<!EOF!
-#include <sys/types.h>
-#include <sys/times.h>
- int main()
- {
- struct tms s;
- return s.tms_utime;
- }
-!EOF!
- if ${CC} -c dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}HAVE_SYS_TIMES 1"
- else
- echo "#define ${macro_prefix}HAVE_SYS_TIMES 0"
- fi
-fi
-
-# check for sys/socket.h
-
-if test -n "${HAVE_SYS_SOCKET}" ; then
- echo "#define ${macro_prefix}HAVE_SYS_SOCKET ${HAVE_SYS_SOCKET}"
-else
- echo '#include <sys/types.h>' >dummy.c
- echo '#include <sys/socket.h>' >>dummy.c
- if ${CC} -c dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}HAVE_SYS_SOCKET 1"
- else
- echo "#define ${macro_prefix}HAVE_SYS_SOCKET 0"
- fi
-fi
-
-# check for sys/cdefs.h
-
-if test -n "${HAVE_SYS_CDEFS}" ; then
- echo "#define ${macro_prefix}HAVE_SYS_CDEFS ${HAVE_SYS_CDEFS}"
-else
- echo '#include <sys/cdefs.h>' >dummy.c
- echo 'extern int myfunc __P((int, int));' >>dummy.c
- if ${CC} -c dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}HAVE_SYS_CDEFS 1"
- else
- echo "#define ${macro_prefix}HAVE_SYS_CDEFS 0"
- fi
-fi
-
-# Check for a (Posix-compatible) sys/wait.h */
-
-if test -n "${HAVE_SYS_WAIT}" ; then
- echo "#define ${macro_prefix}HAVE_SYS_WAIT ${HAVE_SYS_WAIT}"
-else
- cat >dummy.c <<!EOF!
-#include <sys/types.h>
-#include <sys/wait.h>
- int f() { int i; wait(&i); return i; }
-!EOF!
- if ${CC} -c dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}HAVE_SYS_WAIT 1"
- else
- echo "#define ${macro_prefix}HAVE_SYS_WAIT 0"
- fi
-fi
-
-if test -n "${HAVE_UNISTD}" ; then
- echo "#define ${macro_prefix}HAVE_UNISTD ${HAVE_UNISTD}"
-else
- echo '#include <unistd.h>' >dummy.c
- if ${CC} -c dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}HAVE_UNISTD 1"
- else
- echo "#define ${macro_prefix}HAVE_UNISTD 0"
- fi
-fi
-
-if test -n "${HAVE_DIRENT}" ; then
- echo "#define ${macro_prefix}HAVE_DIRENT ${HAVE_DIRENT}"
-else
- echo '#include <sys/types.h>
-#include <dirent.h>' >dummy.c
- if ${CC} -c dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}HAVE_DIRENT 1"
- else
- echo "#define ${macro_prefix}HAVE_DIRENT 0"
- fi
-fi
-
-if test -n "${HAVE_CURSES}" ; then
- echo "#define ${macro_prefix}HAVE_CURSES ${HAVE_CURSES}"
-else
- echo '#include <curses.h>' >dummy.c
- if ${CC} -c dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}HAVE_CURSES 1"
- else
- echo "#define ${macro_prefix}HAVE_CURSES 0"
- fi
-fi
-
-# There is no test for this at the moment; it is just set by the
-# configuration files.
-if test -n "${MATH_H_INLINES}" ; then
- echo "#define ${macro_prefix}MATH_H_INLINES ${MATH_H_INLINES}"
-else
- echo "#define ${macro_prefix}MATH_H_INLINES 0"
-fi
-
-if test -n "${HAVE_BOOL}" ; then
- echo "#define ${macro_prefix}HAVE_BOOL ${HAVE_BOOL}"
-else
- echo 'bool i=true,j=false;' >dummy.C
- if ${CXX} -c dummy.C >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}HAVE_BOOL 1"
- else
- echo "#define ${macro_prefix}HAVE_BOOL 0"
- fi
-fi
-
-if test -n "${NO_USE_DTOA}" ; then
- echo "#define ${macro_prefix}NO_USE_DTOA 1"
-fi
-if test -n "${USE_INT32_FLAGS}" ; then
- echo "#define ${macro_prefix}USE_INT32_FLAGS 1"
-fi
-
-# A little test program to check if __printf_fp is available.
-cat >dummy.c <<EOF
-int main()
-{
- return __printf_fp ();
-}
-EOF
-
-if ${CC} dummy.c >/dev/null 2>&1 ; then
- echo "#define ${macro_prefix}HAVE_PRINTF_FP 1"
- echo "#define ${macro_prefix}HAVE_LONG_DOUBLE_IO 1"
-else
- echo "#define ${macro_prefix}HAVE_PRINTF_FP 0"
- echo "#define ${macro_prefix}HAVE_LONG_DOUBLE_IO 0"
-fi
-
-# Uncomment the following line if you don't have working templates.
-# echo "#define ${macro_prefix}NO_TEMPLATES"
-
-# Override bogus definitions of NULL in system headers.
-cat <<EOF
-#undef NULL
-#define __need_NULL
-#include <stddef.h>
-EOF
-
-rm -f dummy.C dummy.o dummy.c dummy.out TMP core a.out
-
-echo "#endif /* !${macro_prefix}config_h */"
diff --git a/contrib/libio/genops.c b/contrib/libio/genops.c
deleted file mode 100644
index b899e15..0000000
--- a/contrib/libio/genops.c
+++ /dev/null
@@ -1,946 +0,0 @@
-/* Copyright (C) 1993, 1995, 1997, 1998 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-/* Generic or default I/O operations. */
-
-#include "libioP.h"
-#ifdef __STDC__
-#include <stdlib.h>
-#endif
-#include <string.h>
-
-void
-_IO_un_link (fp)
- _IO_FILE *fp;
-{
- if (fp->_flags & _IO_LINKED)
- {
- _IO_FILE **f;
- for (f = &_IO_list_all; *f != NULL; f = &(*f)->_chain)
- {
- if (*f == fp)
- {
- *f = fp->_chain;
- break;
- }
- }
- fp->_flags &= ~_IO_LINKED;
- }
-}
-
-void
-_IO_link_in (fp)
- _IO_FILE *fp;
-{
- if ((fp->_flags & _IO_LINKED) == 0)
- {
- fp->_flags |= _IO_LINKED;
- fp->_chain = _IO_list_all;
- _IO_list_all = fp;
- }
-}
-
-/* Return minimum _pos markers
- Assumes the current get area is the main get area. */
-static _IO_size_t _IO_least_marker __P ((_IO_FILE *fp));
-
-static _IO_size_t
-_IO_least_marker (fp)
- _IO_FILE *fp;
-{
- _IO_ssize_t least_so_far = fp->_IO_read_end - fp->_IO_read_base;
- struct _IO_marker *mark;
- for (mark = fp->_markers; mark != NULL; mark = mark->_next)
- if (mark->_pos < least_so_far)
- least_so_far = mark->_pos;
- return least_so_far;
-}
-
-/* Switch current get area from backup buffer to (start of) main get area. */
-
-void
-_IO_switch_to_main_get_area (fp)
- _IO_FILE *fp;
-{
- char *tmp;
- fp->_flags &= ~_IO_IN_BACKUP;
- /* Swap _IO_read_end and _IO_save_end. */
- tmp = fp->_IO_read_end;
- fp->_IO_read_end = fp->_IO_save_end;
- fp->_IO_save_end= tmp;
- /* Swap _IO_read_base and _IO_save_base. */
- tmp = fp->_IO_read_base;
- fp->_IO_read_base = fp->_IO_save_base;
- fp->_IO_save_base = tmp;
-
- fp->_IO_read_ptr = fp->_IO_read_base;
-}
-
-/* Switch current get area from main get area to (end of) backup area. */
-
-void
-_IO_switch_to_backup_area (fp)
- _IO_FILE *fp;
-{
- char *tmp;
- fp->_flags |= _IO_IN_BACKUP;
- /* Swap _IO_read_end and _IO_save_end. */
- tmp = fp->_IO_read_end;
- fp->_IO_read_end = fp->_IO_save_end;
- fp->_IO_save_end = tmp;
- /* Swap _gbase and _IO_save_base. */
- tmp = fp->_IO_read_base;
- fp->_IO_read_base = fp->_IO_save_base;
- fp->_IO_save_base = tmp;
-
- fp->_IO_read_ptr = fp->_IO_read_end;
-}
-
-int
-_IO_switch_to_get_mode (fp)
- _IO_FILE *fp;
-{
- if (fp->_IO_write_ptr > fp->_IO_write_base)
- if (_IO_OVERFLOW (fp, EOF) == EOF)
- return EOF;
- if (_IO_in_backup (fp))
- fp->_IO_read_base = fp->_IO_backup_base;
- else
- {
- fp->_IO_read_base = fp->_IO_buf_base;
- if (fp->_IO_write_ptr > fp->_IO_read_end)
- fp->_IO_read_end = fp->_IO_write_ptr;
- }
- fp->_IO_read_ptr = fp->_IO_write_ptr;
-
- fp->_IO_write_base = fp->_IO_write_ptr = fp->_IO_write_end = fp->_IO_read_ptr;
-
- fp->_flags &= ~_IO_CURRENTLY_PUTTING;
- return 0;
-}
-
-void
-_IO_free_backup_area (fp)
- _IO_FILE *fp;
-{
- if (_IO_in_backup (fp))
- _IO_switch_to_main_get_area (fp); /* Just in case. */
- free (fp->_IO_save_base);
- fp->_IO_save_base = NULL;
- fp->_IO_save_end = NULL;
- fp->_IO_backup_base = NULL;
-}
-
-#if 0
-int
-_IO_switch_to_put_mode (fp)
- _IO_FILE *fp;
-{
- fp->_IO_write_base = fp->_IO_read_ptr;
- fp->_IO_write_ptr = fp->_IO_read_ptr;
- /* Following is wrong if line- or un-buffered? */
- fp->_IO_write_end = (fp->_flags & _IO_IN_BACKUP
- ? fp->_IO_read_end : fp->_IO_buf_end);
-
- fp->_IO_read_ptr = fp->_IO_read_end;
- fp->_IO_read_base = fp->_IO_read_end;
-
- fp->_flags |= _IO_CURRENTLY_PUTTING;
- return 0;
-}
-#endif
-
-int
-__overflow (f, ch)
- _IO_FILE *f;
- int ch;
-{
- return _IO_OVERFLOW (f, ch);
-}
-
-static int save_for_backup __P ((_IO_FILE *fp));
-
- static int
-save_for_backup (fp)
- _IO_FILE *fp;
-{
- /* Append [_IO_read_base.._IO_read_end] to backup area. */
- int least_mark = _IO_least_marker (fp);
- /* needed_size is how much space we need in the backup area. */
- int needed_size = (fp->_IO_read_end - fp->_IO_read_base) - least_mark;
- int current_Bsize = fp->_IO_save_end - fp->_IO_save_base;
- int avail; /* Extra space available for future expansion. */
- int delta;
- struct _IO_marker *mark;
- if (needed_size > current_Bsize)
- {
- char *new_buffer;
- avail = 100;
- new_buffer = (char *) malloc (avail + needed_size);
- if (new_buffer == NULL)
- return EOF; /* FIXME */
- if (least_mark < 0)
- {
- memcpy (new_buffer + avail,
- fp->_IO_save_end + least_mark,
- -least_mark);
- memcpy (new_buffer + avail - least_mark,
- fp->_IO_read_base,
- fp->_IO_read_end - fp->_IO_read_base);
- }
- else
- memcpy (new_buffer + avail,
- fp->_IO_read_base + least_mark,
- needed_size);
- if (fp->_IO_save_base)
- free (fp->_IO_save_base);
- fp->_IO_save_base = new_buffer;
- fp->_IO_save_end = new_buffer + avail + needed_size;
- }
- else
- {
- avail = current_Bsize - needed_size;
- if (least_mark < 0)
- {
- memmove (fp->_IO_save_base + avail,
- fp->_IO_save_end + least_mark,
- -least_mark);
- memcpy (fp->_IO_save_base + avail - least_mark,
- fp->_IO_read_base,
- fp->_IO_read_end - fp->_IO_read_base);
- }
- else if (needed_size > 0)
- memcpy (fp->_IO_save_base + avail,
- fp->_IO_read_base + least_mark,
- needed_size);
- }
- /* FIXME: Dubious arithmetic if pointers are NULL */
- fp->_IO_backup_base = fp->_IO_save_base + avail;
- /* Adjust all the streammarkers. */
- delta = fp->_IO_read_end - fp->_IO_read_base;
- for (mark = fp->_markers; mark != NULL; mark = mark->_next)
- mark->_pos -= delta;
- return 0;
-}
-
-int
-__underflow (fp)
- _IO_FILE *fp;
-{
- if (_IO_in_put_mode (fp))
- if (_IO_switch_to_get_mode (fp) == EOF)
- return EOF;
- if (fp->_IO_read_ptr < fp->_IO_read_end)
- return *(unsigned char *) fp->_IO_read_ptr;
- if (_IO_in_backup (fp))
- {
- _IO_switch_to_main_get_area (fp);
- if (fp->_IO_read_ptr < fp->_IO_read_end)
- return *(unsigned char *) fp->_IO_read_ptr;
- }
- if (_IO_have_markers (fp))
- {
- if (save_for_backup (fp))
- return EOF;
- }
- else if (_IO_have_backup (fp))
- _IO_free_backup_area (fp);
- return _IO_UNDERFLOW (fp);
-}
-
-int
-__uflow (fp)
- _IO_FILE *fp;
-{
- if (_IO_in_put_mode (fp))
- if (_IO_switch_to_get_mode (fp) == EOF)
- return EOF;
- if (fp->_IO_read_ptr < fp->_IO_read_end)
- return *(unsigned char *) fp->_IO_read_ptr++;
- if (_IO_in_backup (fp))
- {
- _IO_switch_to_main_get_area (fp);
- if (fp->_IO_read_ptr < fp->_IO_read_end)
- return *(unsigned char *) fp->_IO_read_ptr++;
- }
- if (_IO_have_markers (fp))
- {
- if (save_for_backup (fp))
- return EOF;
- }
- else if (_IO_have_backup (fp))
- _IO_free_backup_area (fp);
- return _IO_UFLOW (fp);
-}
-
-void
-_IO_setb (f, b, eb, a)
- _IO_FILE *f;
- char *b;
- char *eb;
- int a;
-{
- if (f->_IO_buf_base && !(f->_flags & _IO_USER_BUF))
- FREE_BUF (f->_IO_buf_base, _IO_blen (f));
- f->_IO_buf_base = b;
- f->_IO_buf_end = eb;
- if (a)
- f->_flags &= ~_IO_USER_BUF;
- else
- f->_flags |= _IO_USER_BUF;
-}
-
-void
-_IO_doallocbuf (fp)
- _IO_FILE *fp;
-{
- if (fp->_IO_buf_base)
- return;
- if (!(fp->_flags & _IO_UNBUFFERED))
- if (_IO_DOALLOCATE (fp) != EOF)
- return;
- _IO_setb (fp, fp->_shortbuf, fp->_shortbuf+1, 0);
-}
-
-int
-_IO_default_underflow (fp)
- _IO_FILE *fp;
-{
- return EOF;
-}
-
-int
-_IO_default_uflow (fp)
- _IO_FILE *fp;
-{
- int ch = _IO_UNDERFLOW (fp);
- if (ch == EOF)
- return EOF;
- return *(unsigned char *) fp->_IO_read_ptr++;
-}
-
-_IO_size_t
-_IO_default_xsputn (f, data, n)
- _IO_FILE *f;
- const void *data;
- _IO_size_t n;
-{
- const char *s = (char *) data;
- _IO_size_t more = n;
- if (more <= 0)
- return 0;
- for (;;)
- {
- /* Space available. */
- _IO_ssize_t count = f->_IO_write_end - f->_IO_write_ptr;
- if (count > 0)
- {
- if ((_IO_size_t) count > more)
- count = more;
- if (count > 20)
- {
- memcpy (f->_IO_write_ptr, s, count);
- s += count;
- f->_IO_write_ptr += count;
- }
- else if (count <= 0)
- count = 0;
- else
- {
- char *p = f->_IO_write_ptr;
- _IO_ssize_t i;
- for (i = count; --i >= 0; )
- *p++ = *s++;
- f->_IO_write_ptr = p;
- }
- more -= count;
- }
- if (more == 0 || __overflow (f, (unsigned char) *s++) == EOF)
- break;
- more--;
- }
- return n - more;
-}
-
-_IO_size_t
-_IO_sgetn (fp, data, n)
- _IO_FILE *fp;
- void *data;
- _IO_size_t n;
-{
- /* FIXME handle putback buffer here! */
- return _IO_XSGETN (fp, data, n);
-}
-
-_IO_size_t
-_IO_default_xsgetn (fp, data, n)
- _IO_FILE *fp;
- void *data;
- _IO_size_t n;
-{
- _IO_size_t more = n;
- char *s = (char*) data;
- for (;;)
- {
- /* Data available. */
- _IO_ssize_t count = fp->_IO_read_end - fp->_IO_read_ptr;
- if (count > 0)
- {
- if ((_IO_size_t) count > more)
- count = more;
- if (count > 20)
- {
- memcpy (s, fp->_IO_read_ptr, count);
- s += count;
- fp->_IO_read_ptr += count;
- }
- else if (count <= 0)
- count = 0;
- else
- {
- char *p = fp->_IO_read_ptr;
- int i = (int) count;
- while (--i >= 0)
- *s++ = *p++;
- fp->_IO_read_ptr = p;
- }
- more -= count;
- }
- if (more == 0 || __underflow (fp) == EOF)
- break;
- }
- return n - more;
-}
-
-#if 0
-/* Seems not to be needed. --drepper */
-int
-_IO_sync (fp)
- _IO_FILE *fp;
-{
- return 0;
-}
-#endif
-
-_IO_FILE *
-_IO_default_setbuf (fp, p, len)
- _IO_FILE *fp;
- char *p;
- _IO_ssize_t len;
-{
- if (_IO_SYNC (fp) == EOF)
- return NULL;
- if (p == NULL || len == 0)
- {
- fp->_flags |= _IO_UNBUFFERED;
- _IO_setb (fp, fp->_shortbuf, fp->_shortbuf+1, 0);
- }
- else
- {
- fp->_flags &= ~_IO_UNBUFFERED;
- _IO_setb (fp, p, p+len, 0);
- }
- fp->_IO_write_base = fp->_IO_write_ptr = fp->_IO_write_end = 0;
- fp->_IO_read_base = fp->_IO_read_ptr = fp->_IO_read_end = 0;
- return fp;
-}
-
-_IO_pos_t
-_IO_default_seekpos (fp, pos, mode)
- _IO_FILE *fp;
- _IO_pos_t pos;
- int mode;
-{
- return _IO_SEEKOFF (fp, _IO_pos_as_off (pos), 0, mode);
-}
-
-int
-_IO_default_doallocate (fp)
- _IO_FILE *fp;
-{
- char *buf;
-
- ALLOC_BUF (buf, _IO_BUFSIZ, EOF);
- _IO_setb (fp, buf, buf+_IO_BUFSIZ, 1);
- return 1;
-}
-
-void
-_IO_init (fp, flags)
- _IO_FILE *fp;
- int flags;
-{
- fp->_flags = _IO_MAGIC|flags;
- fp->_IO_buf_base = NULL;
- fp->_IO_buf_end = NULL;
- fp->_IO_read_base = NULL;
- fp->_IO_read_ptr = NULL;
- fp->_IO_read_end = NULL;
- fp->_IO_write_base = NULL;
- fp->_IO_write_ptr = NULL;
- fp->_IO_write_end = NULL;
- fp->_chain = NULL; /* Not necessary. */
-
- fp->_IO_save_base = NULL;
- fp->_IO_backup_base = NULL;
- fp->_IO_save_end = NULL;
- fp->_markers = NULL;
- fp->_cur_column = 0;
-#ifdef _IO_MTSAFE_IO
- _IO_lock_init (*fp->_lock);
-#endif
-}
-
-int
-_IO_default_sync (fp)
- _IO_FILE *fp;
-{
- return 0;
-}
-
-/* The way the C++ classes are mapped into the C functions in the
- current implementation, this function can get called twice! */
-
-void
-_IO_default_finish (fp, dummy)
- _IO_FILE *fp;
- int dummy;
-{
- struct _IO_marker *mark;
- if (fp->_IO_buf_base && !(fp->_flags & _IO_USER_BUF))
- {
- FREE_BUF (fp->_IO_buf_base, _IO_blen (fp));
- fp->_IO_buf_base = fp->_IO_buf_end = NULL;
- }
-
- for (mark = fp->_markers; mark != NULL; mark = mark->_next)
- mark->_sbuf = NULL;
-
- if (fp->_IO_save_base)
- {
- free (fp->_IO_save_base);
- fp->_IO_save_base = NULL;
- }
-
-#ifdef _IO_MTSAFE_IO
- _IO_lock_fini (*fp->_lock);
-#endif
-
- _IO_un_link (fp);
-}
-
-_IO_pos_t
-_IO_default_seekoff (fp, offset, dir, mode)
- _IO_FILE *fp;
- _IO_off_t offset;
- int dir;
- int mode;
-{
- return _IO_pos_BAD;
-}
-
-int
-_IO_sputbackc (fp, c)
- _IO_FILE *fp;
- int c;
-{
- int result;
-
- if (fp->_IO_read_ptr > fp->_IO_read_base
- && (unsigned char)fp->_IO_read_ptr[-1] == (unsigned char)c)
- {
- fp->_IO_read_ptr--;
- result = (unsigned char) c;
- }
- else
- result = _IO_PBACKFAIL (fp, c);
-
- if (result != EOF)
- fp->_flags &= ~_IO_EOF_SEEN;
-
- return result;
-}
-
-int
-_IO_sungetc (fp)
- _IO_FILE *fp;
-{
- int result;
-
- if (fp->_IO_read_ptr > fp->_IO_read_base)
- {
- fp->_IO_read_ptr--;
- result = (unsigned char) *fp->_IO_read_ptr;
- }
- else
- result = _IO_PBACKFAIL (fp, EOF);
-
- if (result != EOF)
- fp->_flags &= ~_IO_EOF_SEEN;
-
- return result;
-}
-
-#if 0 /* Work in progress */
-/* Seems not to be needed. */
-#if 0
-void
-_IO_set_column (fp, c)
- _IO_FILE *fp;
- int c;
-{
- if (c == -1)
- fp->_column = -1;
- else
- fp->_column = c - (fp->_IO_write_ptr - fp->_IO_write_base);
-}
-#else
-int
-_IO_set_column (fp, i)
- _IO_FILE *fp;
- int i;
-{
- fp->_cur_column = i + 1;
- return 0;
-}
-#endif
-#endif
-
-
-unsigned
-_IO_adjust_column (start, line, count)
- unsigned start;
- const char *line;
- int count;
-{
- const char *ptr = line + count;
- while (ptr > line)
- if (*--ptr == '\n')
- return line + count - ptr - 1;
- return start + count;
-}
-
-#if 0
-/* Seems not to be needed. --drepper */
-int
-_IO_get_column (fp)
- _IO_FILE *fp;
-{
- if (fp->_cur_column)
- return _IO_adjust_column (fp->_cur_column - 1,
- fp->_IO_write_base,
- fp->_IO_write_ptr - fp->_IO_write_base);
- return -1;
-}
-#endif
-
-int
-_IO_flush_all ()
-{
- int result = 0;
- _IO_FILE *fp;
- for (fp = _IO_list_all; fp != NULL; fp = fp->_chain)
- if (fp->_IO_write_ptr > fp->_IO_write_base
- && _IO_OVERFLOW (fp, EOF) == EOF)
- result = EOF;
- return result;
-}
-
-void
-_IO_flush_all_linebuffered ()
-{
- _IO_FILE *fp;
- for (fp = _IO_list_all; fp != NULL; fp = fp->_chain)
- if ((fp->_flags & _IO_NO_WRITES) == 0 && fp->_flags & _IO_LINE_BUF)
- _IO_OVERFLOW (fp, EOF);
-}
-
-static void _IO_unbuffer_all __P ((void));
-
-static void
-_IO_unbuffer_all ()
-{
- _IO_FILE *fp;
- for (fp = _IO_list_all; fp != NULL; fp = fp->_chain)
- if (! (fp->_flags & _IO_UNBUFFERED))
- _IO_SETBUF (fp, NULL, 0);
-}
-
-void
-_IO_cleanup ()
-{
- _IO_flush_all ();
-
- /* We currently don't have a reliable mechanism for making sure that
- C++ static destructors are executed in the correct order.
- So it is possible that other static destructors might want to
- write to cout - and they're supposed to be able to do so.
-
- The following will make the standard streambufs be unbuffered,
- which forces any output from late destructors to be written out. */
- _IO_unbuffer_all ();
-}
-
-void
-_IO_init_marker (marker, fp)
- struct _IO_marker *marker;
- _IO_FILE *fp;
-{
- marker->_sbuf = fp;
- if (_IO_in_put_mode (fp))
- _IO_switch_to_get_mode (fp);
- if (_IO_in_backup (fp))
- marker->_pos = fp->_IO_read_ptr - fp->_IO_read_end;
- else
- marker->_pos = fp->_IO_read_ptr - fp->_IO_read_base;
-
- /* Should perhaps sort the chain? */
- marker->_next = fp->_markers;
- fp->_markers = marker;
-}
-
-void
-_IO_remove_marker (marker)
- struct _IO_marker *marker;
-{
- /* Unlink from sb's chain. */
- struct _IO_marker **ptr = &marker->_sbuf->_markers;
- for (; ; ptr = &(*ptr)->_next)
- {
- if (*ptr == NULL)
- break;
- else if (*ptr == marker)
- {
- *ptr = marker->_next;
- return;
- }
- }
-#if 0
- if _sbuf has a backup area that is no longer needed, should we delete
- it now, or wait until the next underflow?
-#endif
-}
-
-#define BAD_DELTA EOF
-
-int
-_IO_marker_difference (mark1, mark2)
- struct _IO_marker *mark1;
- struct _IO_marker *mark2;
-{
- return mark1->_pos - mark2->_pos;
-}
-
-/* Return difference between MARK and current position of MARK's stream. */
-int
-_IO_marker_delta (mark)
- struct _IO_marker *mark;
-{
- int cur_pos;
- if (mark->_sbuf == NULL)
- return BAD_DELTA;
- if (_IO_in_backup (mark->_sbuf))
- cur_pos = mark->_sbuf->_IO_read_ptr - mark->_sbuf->_IO_read_end;
- else
- cur_pos = mark->_sbuf->_IO_read_ptr - mark->_sbuf->_IO_read_base;
- return mark->_pos - cur_pos;
-}
-
-int
-_IO_seekmark (fp, mark, delta)
- _IO_FILE *fp;
- struct _IO_marker *mark;
- int delta;
-{
- if (mark->_sbuf != fp)
- return EOF;
- if (mark->_pos >= 0)
- {
- if (_IO_in_backup (fp))
- _IO_switch_to_main_get_area (fp);
- fp->_IO_read_ptr = fp->_IO_read_base + mark->_pos;
- }
- else
- {
- if (!_IO_in_backup (fp))
- _IO_switch_to_backup_area (fp);
- fp->_IO_read_ptr = fp->_IO_read_end + mark->_pos;
- }
- return 0;
-}
-
-void
-_IO_unsave_markers (fp)
- _IO_FILE *fp;
-{
- struct _IO_marker *mark = fp->_markers;
- if (mark)
- {
-#ifdef TODO
- streampos offset = seekoff (0, ios::cur, ios::in);
- if (offset != EOF)
- {
- offset += eGptr () - Gbase ();
- for ( ; mark != NULL; mark = mark->_next)
- mark->set_streampos (mark->_pos + offset);
- }
- else
- {
- for ( ; mark != NULL; mark = mark->_next)
- mark->set_streampos (EOF);
- }
-#endif
- fp->_markers = 0;
- }
-
- if (_IO_have_backup (fp))
- _IO_free_backup_area (fp);
-}
-
-#if 0
-/* Seems not to be needed. --drepper */
-int
-_IO_nobackup_pbackfail (fp, c)
- _IO_FILE *fp;
- int c;
-{
- if (fp->_IO_read_ptr > fp->_IO_read_base)
- fp->_IO_read_ptr--;
- if (c != EOF && *fp->_IO_read_ptr != c)
- *fp->_IO_read_ptr = c;
- return (unsigned char) c;
-}
-#endif
-
-int
-_IO_default_pbackfail (fp, c)
- _IO_FILE *fp;
- int c;
-{
- if (fp->_IO_read_ptr <= fp->_IO_read_base)
- {
- /* Need to handle a filebuf in write mode (switch to read mode). FIXME!*/
- if (_IO_have_backup (fp) && !_IO_in_backup (fp))
- _IO_switch_to_backup_area (fp);
-
- if (!_IO_have_backup (fp))
- {
- /* No backup buffer: allocate one. */
- /* Use nshort buffer, if unused? (probably not) FIXME */
- int backup_size = 128;
- char *bbuf = (char *) malloc (backup_size);
- if (bbuf == NULL)
- return EOF;
- fp->_IO_save_base = bbuf;
- fp->_IO_save_end = fp->_IO_save_base + backup_size;
- fp->_IO_backup_base = fp->_IO_save_end;
- _IO_switch_to_backup_area (fp);
- }
- else if (fp->_IO_read_ptr <= fp->_IO_read_base)
- {
- /* Increase size of existing backup buffer. */
- _IO_size_t new_size;
- _IO_size_t old_size = fp->_IO_read_end - fp->_IO_read_base;
- char *new_buf;
- new_size = 2 * old_size;
- new_buf = (char *) malloc (new_size);
- if (new_buf == NULL)
- return EOF;
- memcpy (new_buf + (new_size - old_size), fp->_IO_read_base,
- old_size);
- free (fp->_IO_read_base);
- _IO_setg (fp, new_buf, new_buf + (new_size - old_size),
- new_buf + new_size);
- fp->_IO_backup_base = fp->_IO_read_ptr;
- }
- }
- --fp->_IO_read_ptr;
- if (c != EOF && *fp->_IO_read_ptr != c)
- *fp->_IO_read_ptr = c;
- return (unsigned char) *fp->_IO_read_ptr;
-}
-
-_IO_pos_t
-_IO_default_seek (fp, offset, dir)
- _IO_FILE *fp;
- _IO_off_t offset;
- int dir;
-{
- return _IO_pos_BAD;
-}
-
-int
-_IO_default_stat (fp, st)
- _IO_FILE *fp;
- void* st;
-{
- return EOF;
-}
-
-_IO_ssize_t
-_IO_default_read (fp, data, n)
- _IO_FILE* fp;
- void *data;
- _IO_ssize_t n;
-{
- return -1;
-}
-
-_IO_ssize_t
-_IO_default_write (fp, data, n)
- _IO_FILE *fp;
- const void *data;
- _IO_ssize_t n;
-{
- return 0;
-}
-
-
-#ifdef TODO
-#if defined(linux)
-#define IO_CLEANUP ;
-#endif
-
-#ifdef IO_CLEANUP
- IO_CLEANUP
-#else
-struct __io_defs {
- __io_defs() { }
- ~__io_defs() { _IO_cleanup (); }
-};
-__io_defs io_defs__;
-#endif
-
-#endif /* TODO */
-
-#ifdef weak_alias
-weak_alias (_IO_cleanup, _cleanup)
-#elif defined(_G_STDIO_USES_LIBIO) && defined(_G_HAVE_WEAK_SYMBOL)
-void _cleanup () __attribute__ ((weak, alias ("_IO_cleanup")));
-#endif
-
-#ifdef text_set_element
-text_set_element(__libc_atexit, _cleanup);
-#endif
diff --git a/contrib/libio/include/empty.h b/contrib/libio/include/empty.h
deleted file mode 100644
index dcbf758..0000000
--- a/contrib/libio/include/empty.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Thread package specific definitions of stream lock type.
- Copyright (C) 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#ifndef _LIBIO_LOCK_H
-#define _LIBIO_LOCK_H 1
-
-typedef void *_IO_lock_t;
-
-/* We need recursive (counting) mutexes. */
-#define _IO_lock_initializer NULL
-
-
-#define _IO_cleanup_region_start(_fct, _fp)
-#define _IO_cleanup_region_end(_doit)
-#define _IO_lock_init(_name)
-#define _IO_lock_fini(_name)
-#define _IO_lock_lock(_name)
-#define _IO_lock_unlock(_name)
-
-#endif /* libio-lock.h */
-/* this will be used later*/
diff --git a/contrib/libio/indstream.cc b/contrib/libio/indstream.cc
deleted file mode 100644
index 15a1bb2..0000000
--- a/contrib/libio/indstream.cc
+++ /dev/null
@@ -1,121 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License.
-
-Written by Per Bothner (bothner@cygnus.com). */
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
-#include <indstream.h>
-
-indirectbuf::indirectbuf(streambuf *get, streambuf *put, int delete_mode)
-: streambuf()
-{
- _get_stream = get;
- _put_stream = put == NULL ? get : put;
- _delete_flags = delete_mode;
-}
-
-indirectbuf::~indirectbuf()
-{
- if (_delete_flags & ios::in) delete get_stream();
- if (_delete_flags & ios::out) delete put_stream();
-}
-
-streamsize indirectbuf::xsputn(const char* s, streamsize n)
-{
- return put_stream()->sputn(s, n);
-}
-
-streamsize indirectbuf::xsgetn(char* s, streamsize n)
-{
- return get_stream()->sgetn(s, n);
-}
-
-int indirectbuf::overflow(int c /* = EOF */)
-{
- if (c == EOF)
- return put_stream()->overflow(c);
- else
- return put_stream()->sputc(c);
-}
-
-int indirectbuf::underflow()
-{
- return get_stream()->sgetc();
-}
-
-int indirectbuf::uflow()
-{
- return get_stream()->sbumpc();
-}
-
-streampos indirectbuf::seekoff(streamoff off, _seek_dir dir, int mode)
-{
- int ret_val = 0;
- int select = mode == 0 ? (ios::in|ios::out) : mode;
- streambuf *gbuf = (select & ios::in) ? get_stream() : (streambuf*)NULL;
- streambuf *pbuf = (select & ios::out) ? put_stream() : (streambuf*)NULL;
- if (gbuf == pbuf)
- ret_val = gbuf->seekoff(off, dir, mode);
- else {
- if (gbuf)
- ret_val = gbuf->seekoff(off, dir, ios::in);
- if (pbuf && ret_val != EOF)
- ret_val = pbuf->seekoff(off, dir, ios::out);
- }
- return ret_val;
-}
-
-streampos indirectbuf::seekpos(streampos pos, int mode)
-{
- int ret_val = EOF;
- int select = mode == 0 ? (ios::in|ios::out) : mode;
- streambuf *gbuf = (select & ios::in) ? get_stream() : (streambuf*)NULL;
- streambuf *pbuf = (select & ios::out) ? put_stream() : (streambuf*)NULL;
- if (gbuf == pbuf && gbuf != NULL)
- ret_val = gbuf->seekpos(pos, mode);
- else {
- if (gbuf)
- ret_val = gbuf->seekpos(pos, ios::in);
- if (pbuf && ret_val != EOF)
- ret_val = pbuf->seekpos(pos, ios::out);
- }
- return ret_val;
-}
-
-int indirectbuf::sync()
-{
- streambuf *gbuf = get_stream();
- int get_ret_val = gbuf ? gbuf->sync() : 0;
- streambuf *pbuf = put_stream();
- int put_ret_val = (pbuf && pbuf != gbuf) ? pbuf->sync() : 0;
- return get_ret_val || put_ret_val;
-}
-
-int indirectbuf::pbackfail(int c)
-{
- return get_stream()->sputbackc(c);
-}
diff --git a/contrib/libio/indstream.h b/contrib/libio/indstream.h
deleted file mode 100644
index c455862..0000000
--- a/contrib/libio/indstream.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License.
-
-Written by Per Bothner (bothner@cygnus.com). */
-
-#ifndef _INDSTREAM_H
-#define _INDSTREAM_H
-
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include <iostream.h>
-
-extern "C++" {
-// An indirectbuf is one that forwards all of its I/O requests
-// to another streambuf.
-// All get-related requests are sent to get_stream().
-// All put-related requests are sent to put_stream().
-
-// An indirectbuf can be used to implement Common Lisp
-// synonym-streams and two-way-streams.
-//
-// class synonymbuf : public indirectbuf {
-// Symbol *sym;
-// synonymbuf(Symbol *s) { sym = s; }
-// virtual streambuf *lookup_stream(int mode) {
-// return coerce_to_streambuf(lookup_value(sym)); }
-// };
-
-class indirectbuf : public streambuf {
- protected:
- streambuf *_get_stream; // Optional cache for get_stream().
- streambuf *_put_stream; // Optional cache for put_stream().
- int _delete_flags;
- public:
- streambuf *get_stream()
- { return _get_stream ? _get_stream : lookup_stream(ios::in); }
- streambuf *put_stream()
- { return _put_stream ? _put_stream : lookup_stream(ios::out); }
- virtual streambuf *lookup_stream(int/*mode*/) { return NULL; } // ERROR!
- indirectbuf(streambuf *get=NULL, streambuf *put=NULL, int delete_mode=0);
- virtual ~indirectbuf();
- virtual streamsize xsputn(const char* s, streamsize n);
- virtual streamsize xsgetn(char* s, streamsize n);
- virtual int underflow();
- virtual int uflow();
- virtual int overflow(int c = EOF);
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streampos seekpos(streampos pos, int mode = ios::in|ios::out);
- virtual int sync();
- virtual int pbackfail(int c);
-};
-} // extern "C++"
-
-#endif /* !_INDSTREAM_H */
diff --git a/contrib/libio/ioassign.cc b/contrib/libio/ioassign.cc
deleted file mode 100644
index 5b8e68b..0000000
--- a/contrib/libio/ioassign.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1994 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#include <iostream.h>
-#include "libioP.h"
-
-// These method are provided for backward compatibility reasons.
-// It's generally poor style to use them.
-// They are not supported by the ANSI/ISO working paper.
-
-_IO_istream_withassign& _IO_istream_withassign::operator=(istream& rhs)
-{
- if (&rhs != (istream*)this)
- {
- init (rhs.rdbuf ());
- _gcount = 0;
- }
- return *this;
-}
-
-_IO_ostream_withassign& _IO_ostream_withassign::operator=(ostream& rhs)
-{
- if (&rhs != (ostream*)this)
- init (rhs.rdbuf ());
- return *this;
-}
diff --git a/contrib/libio/ioextend.cc b/contrib/libio/ioextend.cc
deleted file mode 100644
index a31ff36..0000000
--- a/contrib/libio/ioextend.cc
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include <iostream.h>
-
-static int __xalloc = 0;
-
-int ios::xalloc()
-{
- return __xalloc++;
-}
-
-static ios::fmtflags __used_fmt_flags
-= ios::skipws | ios::left | ios::right | ios::internal
-| ios::dec | ios::oct | ios::hex | ios::showbase | ios::showpoint
-| ios::uppercase | ios::showpos | ios::scientific | ios::fixed
-#ifndef _IO_NEW_STREAMS
-| ios::dont_close
-#endif
-| ios::unitbuf | ios::stdio;
-
-ios::fmtflags ios::bitalloc()
-{
- fmtflags bit_to_try = (fmtflags)1;
- for (; bit_to_try; bit_to_try <<= 1)
- {
- if ((__used_fmt_flags & bit_to_try) == 0)
- {
- __used_fmt_flags |= bit_to_try;
- return bit_to_try;
- }
- }
- return 0;
-}
-
-// NOTE: This implementation of ios::iword and ios::pword assumes
-// that these methods are seldom used, so we want to minimize
-// the space and time overhead when NOT using these methods.
-//
-// ANSI specifies two conceptually-infinite arrays, one whose
-// elements are longs, and one whose elements are (void*)s.
-// We implement this as a single array, each of whose element is
-// a (struct ptr_and_long), which has space for both a long and a void*.
-// We also specify that (the i field of) the 0'th element of the array
-// contains the allocated length of the array (not counting that
-// initial element).
-
-struct ptr_and_long {
- void *p;
- long i;
-};
-
-static struct ptr_and_long&
-get_array_element(ios& io, int index)
-{
- if (index < 0)
- io._throw_failure();
- register struct ptr_and_long *array = (ptr_and_long*)io._arrays;
- int old_length = array == NULL ? 0 : array[0].i;
- if (index >= old_length)
- {
- register int i;
- int new_length = index + 10;
- register struct ptr_and_long *new_array
- = new ptr_and_long[1 + new_length];
- if (array != NULL)
- {
- for (i = 1; i <= old_length; i++)
- new_array[i] = array[i];
- delete [] array;
- }
- for (i = old_length + 1; i <= new_length; i++)
- {
- new_array[i].i = 0;
- new_array[i].p = NULL;
- }
- new_array[0].i = new_length;
- new_array[0].p = NULL;
- io._arrays = (void*)new_array;
- array = new_array;
- }
- return array[index+1];
-}
-
-long& ios::iword(int index)
-{
- return get_array_element(*this, index).i;
-}
-
-void*& ios::pword(int index)
-{
- return get_array_element(*this, index).p;
-}
-
-long ios::iword(int index) const
-{
- if (index < 0)
- _throw_failure();
- register struct ptr_and_long *pl_array = (ptr_and_long*)_arrays;
- int len = pl_array == NULL ? 0 : pl_array[0].i;
- return index >= len ? 0 : pl_array[index+1].i;
-}
-
-void* ios::pword(int index) const
-{
- if (index < 0)
- _throw_failure();
- register struct ptr_and_long *pl_array = (ptr_and_long*)_arrays;
- int len = pl_array == NULL ? 0 : pl_array[0].i;
- return index >= len ? 0 : pl_array[index+1].p;
-}
diff --git a/contrib/libio/iofclose.c b/contrib/libio/iofclose.c
deleted file mode 100644
index 7db336c..0000000
--- a/contrib/libio/iofclose.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#ifdef __STDC__
-#include <stdlib.h>
-#endif
-
-int
-_IO_fclose (fp)
- _IO_FILE *fp;
-{
- int status;
-
- CHECK_FILE(fp, EOF);
-
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- if (fp->_IO_file_flags & _IO_IS_FILEBUF)
- status = _IO_file_close_it (fp);
- else
- status = fp->_flags & _IO_ERR_SEEN ? -1 : 0;
- _IO_FINISH (fp);
- _IO_cleanup_region_end (1);
- if (fp != _IO_stdin && fp != _IO_stdout && fp != _IO_stderr)
- {
- fp->_IO_file_flags = 0;
- free(fp);
- }
-
- return status;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_fclose, fclose)
-#elif defined(_G_STDIO_USES_LIBIO) && defined(_G_HAVE_WEAK_SYMBOL)
-int fclose (_IO_FILE *) __attribute__ ((weak, alias("_IO_fclose")));
-#endif
diff --git a/contrib/libio/iofdopen.c b/contrib/libio/iofdopen.c
deleted file mode 100644
index 841e703..0000000
--- a/contrib/libio/iofdopen.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#ifdef __STDC__
-#include <stdlib.h>
-#endif
-#include "libioP.h"
-#include <fcntl.h>
-
-#ifndef _IO_fcntl
-#define _IO_fcntl fcntl
-#endif
-
-_IO_FILE *
-_IO_fdopen (fd, mode)
- int fd;
- const char *mode;
-{
- int read_write;
- int posix_mode = 0;
- struct locked_FILE
- {
- struct _IO_FILE_plus fp;
-#ifdef _IO_MTSAFE_IO
- _IO_lock_t lock;
-#endif
- } *new_f;
- int fd_flags;
-
- switch (*mode++)
- {
- case 'r':
- read_write = _IO_NO_WRITES;
- break;
- case 'w':
- read_write = _IO_NO_READS;
- break;
- case 'a':
- posix_mode = O_APPEND;
- read_write = _IO_NO_READS|_IO_IS_APPENDING;
- break;
- default:
- MAYBE_SET_EINVAL;
- return NULL;
- }
- if (mode[0] == '+' || (mode[0] == 'b' && mode[1] == '+'))
- read_write &= _IO_IS_APPENDING;
-#ifdef F_GETFL
- fd_flags = _IO_fcntl (fd, F_GETFL);
-#ifndef O_ACCMODE
-#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
-#endif
- if (fd_flags == -1
- || ((fd_flags & O_ACCMODE) == O_RDONLY && !(read_write & _IO_NO_WRITES))
- || ((fd_flags & O_ACCMODE) == O_WRONLY && !(read_write & _IO_NO_READS)))
- return NULL;
-
- /* The May 93 draft of P1003.4/D14.1 (redesignated as 1003.1b)
- [System Application Program Interface (API) Amendment 1:
- Realtime Extensions], Rationale B.8.3.3
- Open a Stream on a File Descriptor says:
-
- Although not explicitly required by POSIX.1, a good
- implementation of append ("a") mode would cause the
- O_APPEND flag to be set.
-
- (Historical implementations [such as Solaris2] do a one-time
- seek in fdopen.)
-
- However, we do not turn O_APPEND off if the mode is "w" (even
- though that would seem consistent) because that would be more
- likely to break historical programs.
- */
- if ((posix_mode & O_APPEND) && !(fd_flags & O_APPEND))
- {
-#ifdef F_SETFL
- if (_IO_fcntl (fd, F_SETFL, fd_flags | O_APPEND) == -1)
-#endif
- return NULL;
- }
-#endif
-
- new_f = (struct locked_FILE *) malloc (sizeof (struct locked_FILE));
- if (new_f == NULL)
- return NULL;
-#ifdef _IO_MTSAFE_IO
- new_f->fp.file._lock = &new_f->lock;
-#endif
- _IO_init (&new_f->fp.file, 0);
- _IO_JUMPS (&new_f->fp.file) = &_IO_file_jumps;
- _IO_file_init (&new_f->fp.file);
-#if !_IO_UNIFIED_JUMPTABLES
- new_f->fp.vtable = NULL;
-#endif
- if (_IO_file_attach (&new_f->fp.file, fd) == NULL)
- {
- _IO_un_link (&new_f->fp.file);
- free (new_f);
- return NULL;
- }
- new_f->fp.file._flags &= ~_IO_DELETE_DONT_CLOSE;
-
- new_f->fp.file._IO_file_flags =
- _IO_mask_flags (&new_f->fp.file, read_write,
- _IO_NO_READS+_IO_NO_WRITES+_IO_IS_APPENDING);
-
- return (_IO_FILE *) &new_f->fp;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_fdopen, fdopen)
-#endif
diff --git a/contrib/libio/iofeof.c b/contrib/libio/iofeof.c
deleted file mode 100644
index 7bf8cba..0000000
--- a/contrib/libio/iofeof.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-int
-_IO_feof (fp)
- _IO_FILE* fp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_flockfile (fp);
- result = _IO_feof_unlocked (fp);
- _IO_funlockfile (fp);
- return result;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_feof, feof)
-#elif defined(_G_STDIO_USES_LIBIO) && defined(_G_HAVE_WEAK_SYMBOL)
-int feof (_IO_FILE *) __attribute__ ((weak, alias("_IO_feof")));
-#endif
diff --git a/contrib/libio/ioferror.c b/contrib/libio/ioferror.c
deleted file mode 100644
index 3019e79..0000000
--- a/contrib/libio/ioferror.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-int
-_IO_ferror (fp)
- _IO_FILE* fp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_flockfile (fp);
- result = _IO_ferror_unlocked (fp);
- _IO_funlockfile (fp);
- return result;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_ferror, ferror)
-#elif defined(_G_STDIO_USES_LIBIO) && defined(_G_HAVE_WEAK_SYMBOL)
-int ferror (_IO_FILE *) __attribute__ ((weak, alias("_IO_ferror")));
-#endif
diff --git a/contrib/libio/iofflush.c b/contrib/libio/iofflush.c
deleted file mode 100644
index 540c99d..0000000
--- a/contrib/libio/iofflush.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include <stdio.h>
-
-int
-_IO_fflush (fp)
- _IO_FILE *fp;
-{
- if (fp == NULL)
- return _IO_flush_all ();
- else
- {
- int result;
- CHECK_FILE (fp, EOF);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- result = _IO_SYNC (fp) ? EOF : 0;
- _IO_cleanup_region_end (1);
- return result;
- }
-}
-
-#ifdef weak_alias
-weak_alias (_IO_fflush, fflush)
-#endif
diff --git a/contrib/libio/iofflush_u.c b/contrib/libio/iofflush_u.c
deleted file mode 100644
index b46ae4a..0000000
--- a/contrib/libio/iofflush_u.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include <stdio.h>
-
-int
-fflush_unlocked (fp)
- _IO_FILE *fp;
-{
- if (fp == NULL)
- return _IO_flush_all ();
- else
- {
- CHECK_FILE (fp, EOF);
- return _IO_SYNC (fp) ? EOF : 0;
- }
-}
diff --git a/contrib/libio/iofgetpos.c b/contrib/libio/iofgetpos.c
deleted file mode 100644
index 716be4b..0000000
--- a/contrib/libio/iofgetpos.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include <errno.h>
-/* ANSI explicitly requires setting errno to a positive value on failure. */
-
-int
-_IO_fgetpos (fp, posp)
- _IO_FILE* fp;
- _IO_fpos_t *posp;
-{
- _IO_fpos_t pos;
- CHECK_FILE (fp, EOF);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- pos = _IO_seekoff (fp, 0, _IO_seek_cur, 0);
- _IO_cleanup_region_end (1);
- if (pos == _IO_pos_BAD)
- {
-#ifdef EIO
- if (errno == 0)
- __set_errno (EIO);
-#endif
- return EOF;
- }
- *posp = pos;
- return 0;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_fgetpos, fgetpos)
-#endif
diff --git a/contrib/libio/iofgets.c b/contrib/libio/iofgets.c
deleted file mode 100644
index 74754d5d..0000000
--- a/contrib/libio/iofgets.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include <stdio.h>
-
-char *
-_IO_fgets (buf, n, fp)
- char *buf;
- int n;
- _IO_FILE *fp;
-{
- _IO_size_t count;
- char *result;
- CHECK_FILE (fp, NULL);
- if (n <= 0)
- return NULL;
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- count = _IO_getline (fp, buf, n - 1, '\n', 1);
- if (count == 0 || (fp->_IO_file_flags & _IO_ERR_SEEN))
- result = NULL;
- else
- {
- buf[count] = '\0';
- result = buf;
- }
- _IO_cleanup_region_end (1);
- return result;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_fgets, fgets)
-#endif
diff --git a/contrib/libio/iofopen.c b/contrib/libio/iofopen.c
deleted file mode 100644
index 1dbeccb..0000000
--- a/contrib/libio/iofopen.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#ifdef __STDC__
-#include <stdlib.h>
-#endif
-
-_IO_FILE *
-_IO_fopen (filename, mode)
- const char *filename;
- const char *mode;
-{
- struct locked_FILE
- {
- struct _IO_FILE_plus fp;
-#ifdef _IO_MTSAFE_IO
- _IO_lock_t lock;
-#endif
- } *new_f = (struct locked_FILE *) malloc (sizeof (struct locked_FILE));
-
- if (new_f == NULL)
- return NULL;
-#ifdef _IO_MTSAFE_IO
- new_f->fp.file._lock = &new_f->lock;
-#endif
- _IO_init (&new_f->fp.file, 0);
- _IO_JUMPS (&new_f->fp.file) = &_IO_file_jumps;
- _IO_file_init (&new_f->fp.file);
-#if !_IO_UNIFIED_JUMPTABLES
- new_f->fp.vtable = NULL;
-#endif
- if (_IO_file_fopen (&new_f->fp.file, filename, mode) != NULL)
- return (_IO_FILE *) &new_f->fp;
- _IO_un_link (&new_f->fp.file);
- free (new_f);
- return NULL;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_fopen, fopen)
-#endif
diff --git a/contrib/libio/iofprintf.c b/contrib/libio/iofprintf.c
deleted file mode 100644
index 4dc9d3f..0000000
--- a/contrib/libio/iofprintf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-
-#ifdef __STDC__
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-
-int
-#ifdef __STDC__
-_IO_fprintf (_IO_FILE *fp, const char* format, ...)
-#else
-_IO_fprintf (fp, format, va_alist)
- _IO_FILE *fp;
- char *format;
- va_dcl
-#endif
-{
- int ret;
- va_list args;
- CHECK_FILE (fp, -1);
- _IO_va_start (args, format);
- ret = _IO_vfprintf (fp, format, args);
- va_end (args);
- return ret;
-}
diff --git a/contrib/libio/iofputs.c b/contrib/libio/iofputs.c
deleted file mode 100644
index 1a329bb..0000000
--- a/contrib/libio/iofputs.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include <string.h>
-
-int
-_IO_fputs (str, fp)
- const char *str;
- _IO_FILE *fp;
-{
- _IO_size_t len = strlen (str);
- int result;
- CHECK_FILE (fp, EOF);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- if (_IO_sputn (fp, str, len) != len)
- result = EOF;
- else
- result = 1;
- _IO_cleanup_region_end (1);
- return result;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_fputs, fputs)
-#endif
diff --git a/contrib/libio/iofread.c b/contrib/libio/iofread.c
deleted file mode 100644
index c83d2b6..0000000
--- a/contrib/libio/iofread.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-
-_IO_size_t
-_IO_fread (buf, size, count, fp)
- void *buf;
- _IO_size_t size;
- _IO_size_t count;
- _IO_FILE *fp;
-{
- _IO_size_t bytes_requested = size*count;
- _IO_size_t bytes_read;
- CHECK_FILE (fp, 0);
- if (bytes_requested == 0)
- return 0;
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- bytes_read = _IO_sgetn (fp, (char *) buf, bytes_requested);
- _IO_cleanup_region_end (1);
- return bytes_requested == bytes_read ? count : bytes_read / size;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_fread, fread)
-#endif
diff --git a/contrib/libio/iofscanf.c b/contrib/libio/iofscanf.c
deleted file mode 100644
index 3e12d9b..0000000
--- a/contrib/libio/iofscanf.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-
-#ifdef __STDC__
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-
-int
-_IO_fscanf
-#ifdef __STDC__
- (_IO_FILE *fp, const char* format, ...)
-#else
-(fp, format, va_alist) _IO_FILE *fp; char *format; va_dcl
-#endif
-{
- int ret;
- va_list args;
- CHECK_FILE(fp, EOF);
- _IO_va_start(args, format);
- ret = _IO_vfscanf(fp, format, args, NULL);
- va_end(args);
- return ret;
-}
diff --git a/contrib/libio/iofsetpos.c b/contrib/libio/iofsetpos.c
deleted file mode 100644
index a8d816f..0000000
--- a/contrib/libio/iofsetpos.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include <libioP.h>
-#include <errno.h>
-
-int
-_IO_fsetpos (fp, posp)
- _IO_FILE *fp;
- const _IO_fpos_t *posp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- if (_IO_seekpos (fp, *posp, _IOS_INPUT|_IOS_OUTPUT) == _IO_pos_BAD)
- {
- /* ANSI explicitly requires setting errno to a positive value on
- failure. */
-#ifdef EIO
- if (errno == 0)
- __set_errno (EIO);
-#endif
- result = EOF;
- }
- else
- result = 0;
- _IO_cleanup_region_end (1);
- return result;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_fsetpos, fsetpos)
-#endif
diff --git a/contrib/libio/ioftell.c b/contrib/libio/ioftell.c
deleted file mode 100644
index d8a1ce1..0000000
--- a/contrib/libio/ioftell.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include <errno.h>
-/* ANSI explicily requires setting errno to a positive value on failure. */
-
-long int
-_IO_ftell (fp)
- _IO_FILE *fp;
-{
- _IO_pos_t pos;
- CHECK_FILE (fp, -1L);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- pos = _IO_seekoff (fp, 0, _IO_seek_cur, 0);
- _IO_cleanup_region_end (1);
- if (pos == _IO_pos_BAD)
- {
-#ifdef EIO
- if (errno == 0)
- __set_errno (EIO);
-#endif
- return -1L;
- }
- return _IO_pos_as_off (pos);
-}
-
-#ifdef weak_alias
-weak_alias (_IO_ftell, ftell)
-#endif
diff --git a/contrib/libio/iofwrite.c b/contrib/libio/iofwrite.c
deleted file mode 100644
index 5bc525f..0000000
--- a/contrib/libio/iofwrite.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-
-_IO_size_t
-_IO_fwrite (buf, size, count, fp)
- const void *buf;
- _IO_size_t size;
- _IO_size_t count;
- _IO_FILE *fp;
-{
- _IO_size_t request = size * count;
- _IO_size_t written;
- CHECK_FILE (fp, 0);
- if (request == 0)
- return 0;
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- written = _IO_sputn (fp, (const char *) buf, request);
- _IO_cleanup_region_end (1);
- /* Many traditional implementations return 0 if size==0 && count > 0,
- but ANSI requires us to return count in this case. */
- if (written == request)
- return count;
- else
- return written / size;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_fwrite, fwrite)
-#endif
diff --git a/contrib/libio/iogetc.c b/contrib/libio/iogetc.c
deleted file mode 100644
index 6a11e47..0000000
--- a/contrib/libio/iogetc.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef _IO_getc
-
-int
-_IO_getc (fp)
- _IO_FILE *fp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- result = _IO_getc_unlocked (fp);
- _IO_cleanup_region_end (1);
- return result;
-}
-
-#undef getc
-
-#ifdef weak_alias
-weak_alias (_IO_getc, getc)
-#elif defined(_G_STDIO_USES_LIBIO) && defined(_G_HAVE_WEAK_SYMBOL)
-int getc (_IO_FILE *) __attribute__ ((weak, alias("_IO_getc")));
-#endif
diff --git a/contrib/libio/iogetdelim.c b/contrib/libio/iogetdelim.c
deleted file mode 100644
index 50918b3..0000000
--- a/contrib/libio/iogetdelim.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/* Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#ifdef __STDC__
-#include <stdlib.h>
-#endif
-#include "libioP.h"
-#include <string.h>
-#include <errno.h>
-
-/* Read up to (and including) a TERMINATOR from FP into *LINEPTR
- (and null-terminate it). *LINEPTR is a pointer returned from malloc (or
- NULL), pointing to *N characters of space. It is realloc'ed as
- necessary. Returns the number of characters read (not including the
- null terminator), or -1 on error or EOF. */
-
-_IO_ssize_t
-_IO_getdelim (lineptr, n, delimiter, fp)
- char **lineptr;
- _IO_size_t *n;
- int delimiter;
- _IO_FILE *fp;
-{
- int result;
- _IO_ssize_t cur_len = 0;
- _IO_ssize_t len;
-
- if (lineptr == NULL || n == NULL)
- {
- MAYBE_SET_EINVAL;
- return -1;
- }
- CHECK_FILE (fp, -1);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- if (_IO_ferror_unlocked (fp))
- {
- result = -1;
- goto unlock_return;
- }
-
- if (*lineptr == NULL || *n == 0)
- {
- *n = 120;
- *lineptr = (char *) malloc (*n);
- if (*lineptr == NULL)
- {
- result = -1;
- goto unlock_return;
- }
- }
-
- len = fp->_IO_read_end - fp->_IO_read_ptr;
- if (len <= 0)
- {
- if (__underflow (fp) == EOF)
- {
- result = -1;
- goto unlock_return;
- }
- len = fp->_IO_read_end - fp->_IO_read_ptr;
- }
-
- for (;;)
- {
- _IO_size_t needed;
- char *t;
- t = (char *) memchr ((void *) fp->_IO_read_ptr, delimiter, len);
- if (t != NULL)
- len = (t - fp->_IO_read_ptr) + 1;
- /* Make enough space for len+1 (for final NUL) bytes. */
- needed = cur_len + len + 1;
- if (needed > *n)
- {
- if (needed < 2 * *n)
- needed = 2 * *n; /* Be generous. */
- *n = needed;
- *lineptr = (char *) realloc (*lineptr, needed);
- if (*lineptr == NULL)
- {
- result = -1;
- goto unlock_return;
- }
- }
- memcpy (*lineptr + cur_len, (void *) fp->_IO_read_ptr, len);
- fp->_IO_read_ptr += len;
- cur_len += len;
- if (t != NULL || __underflow (fp) == EOF)
- break;
- len = fp->_IO_read_end - fp->_IO_read_ptr;
- }
- (*lineptr)[cur_len] = '\0';
- result = cur_len;
-
-unlock_return:
- _IO_cleanup_region_end (1);
- return result;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_getdelim, __getdelim)
-weak_alias (_IO_getdelim, getdelim)
-#endif
diff --git a/contrib/libio/iogetline.c b/contrib/libio/iogetline.c
deleted file mode 100644
index 5aac9b5..0000000
--- a/contrib/libio/iogetline.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Copyright (C) 1993, 1997, 1998 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include <string.h>
-
-#if defined(_LIBC) || !_G_HAVE_IO_GETLINE_INFO
-
-_IO_size_t
-_IO_getline (fp, buf, n, delim, extract_delim)
- _IO_FILE *fp;
- char *buf;
- _IO_size_t n;
- int delim;
- int extract_delim;
-{
- return _IO_getline_info (fp, buf, n, delim, extract_delim, (int *) 0);
-}
-
-/* Algorithm based on that used by Berkeley pre-4.4 fgets implementation.
-
- Read chars into buf (of size n), until delim is seen.
- Return number of chars read (at most n).
- Does not put a terminating '\0' in buf.
- If extract_delim < 0, leave delimiter unread.
- If extract_delim > 0, insert delim in output. */
-
-_IO_size_t
-_IO_getline_info (fp, buf, n, delim, extract_delim, eof)
- _IO_FILE *fp;
- char *buf;
- _IO_size_t n;
- int delim;
- int extract_delim;
- int *eof;
-{
- char *ptr = buf;
- if (eof) *eof = 0;
- while (n != 0)
- {
- _IO_ssize_t len = fp->_IO_read_end - fp->_IO_read_ptr;
- if (len <= 0)
- {
- int c = __uflow (fp);
- if (c == EOF)
- {
- if (eof) *eof = c;
- break;
- }
- if (c == delim)
- {
- if (extract_delim > 0)
- *ptr++ = c;
- else if (extract_delim < 0)
- _IO_sputbackc (fp, c);
- return ptr - buf;
- }
- *ptr++ = c;
- n--;
- }
- else
- {
- char *t;
- if ((_IO_size_t) len >= n)
- len = n;
- t = (char *) memchr ((void *) fp->_IO_read_ptr, delim, len);
- if (t != NULL)
- {
- _IO_size_t old_len = ptr-buf;
- len = t - fp->_IO_read_ptr;
- if (extract_delim >= 0)
- {
- ++t;
- if (extract_delim > 0)
- ++len;
- }
- memcpy ((void *) ptr, (void *) fp->_IO_read_ptr, len);
- fp->_IO_read_ptr = t;
- return old_len + len;
- }
- memcpy ((void *) ptr, (void *) fp->_IO_read_ptr, len);
- fp->_IO_read_ptr += len;
- ptr += len;
- n -= len;
- }
- }
- return ptr - buf;
-}
-
-#endif /* Defined(_LIBC) || !_G_HAVE_IO_GETLINE_INFO */
diff --git a/contrib/libio/iogets.c b/contrib/libio/iogets.c
deleted file mode 100644
index 9e88ca1..0000000
--- a/contrib/libio/iogets.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include <limits.h>
-
-char*
-_IO_gets (buf)
- char *buf;
-{
- _IO_size_t count;
- int ch;
- char *retval;
-
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _IO_stdin);
- _IO_flockfile (_IO_stdin);
- ch = _IO_getc_unlocked (_IO_stdin);
- if (ch == EOF)
- {
- retval = NULL;
- goto unlock_return;
- }
- if (ch == '\n')
- count = 0;
- else
- {
- buf[0] = (char) ch;
- count = _IO_getline (_IO_stdin, buf + 1, INT_MAX, '\n', 0) + 1;
- if (_IO_stdin->_IO_file_flags & _IO_ERR_SEEN)
- {
- retval = NULL;
- goto unlock_return;
- }
- }
- buf[count] = 0;
- retval = buf;
-unlock_return:
- _IO_cleanup_region_end (1);
- return retval;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_gets, gets)
-#endif
-
-#ifdef _LIBC
-link_warning (gets, "the `gets' function is dangerous and should not be used.")
-#endif
diff --git a/contrib/libio/ioignore.c b/contrib/libio/ioignore.c
deleted file mode 100644
index ac0678e..0000000
--- a/contrib/libio/ioignore.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-
-int
-_IO_ignore (fp, n)
- _IO_FILE *fp;
- _IO_size_t n;
-{
- register _IO_size_t more = n;
- for (;;)
- {
- _IO_ssize_t count = fp->_IO_read_end - fp->_IO_read_ptr;
- if (count > 0)
- {
- if (count > more)
- count = more;
- fp->_IO_read_ptr += count;
- more -= count;
- }
- if (more == 0 || __underflow(fp) == EOF)
- break;
- }
- return n - more;
-}
diff --git a/contrib/libio/iolibio.h b/contrib/libio/iolibio.h
deleted file mode 100644
index 0ebc14f..0000000
--- a/contrib/libio/iolibio.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#include <libio.h>
-
-/* These emulate stdio functionality, but with a different name
- (_IO_ungetc instead of ungetc), and using _IO_FILE instead of FILE. */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern int _IO_fclose __P((_IO_FILE*));
-extern _IO_FILE *_IO_fdopen __P((int, const char*));
-extern int _IO_fflush __P((_IO_FILE*));
-extern int _IO_fgetpos __P((_IO_FILE*, _IO_fpos_t*));
-extern char* _IO_fgets __P((char*, int, _IO_FILE*));
-extern _IO_FILE *_IO_fopen __P((const char*, const char*));
-extern int _IO_fprintf __P((_IO_FILE*, const char*, ...));
-extern int _IO_fputs __P((const char*, _IO_FILE*));
-extern int _IO_fsetpos __P((_IO_FILE*, const _IO_fpos_t *));
-extern long int _IO_ftell __P((_IO_FILE*));
-extern _IO_size_t _IO_fread __P((void*, _IO_size_t, _IO_size_t, _IO_FILE*));
-extern _IO_size_t _IO_fwrite __P((const void*,
- _IO_size_t, _IO_size_t, _IO_FILE*));
-extern char* _IO_gets __P((char*));
-extern void _IO_perror __P((const char*));
-extern int _IO_printf __P((const char*, ...));
-extern int _IO_puts __P((const char*));
-extern int _IO_scanf __P((const char*, ...));
-extern void _IO_setbuffer __P((_IO_FILE *, char*, _IO_size_t));
-extern int _IO_setvbuf __P((_IO_FILE*, char*, int, _IO_size_t));
-extern int _IO_sscanf __P((const char*, const char*, ...));
-extern int _IO_sprintf __P((char *, const char*, ...));
-extern int _IO_ungetc __P((int, _IO_FILE*));
-extern int _IO_vsscanf __P((const char *, const char *, _IO_va_list));
-extern int _IO_vsprintf __P((char*, const char*, _IO_va_list));
-
-struct obstack;
-extern int _IO_obstack_vprintf __P ((struct obstack *, const char *,
- _IO_va_list));
-extern int _IO_obstack_printf __P ((struct obstack *, const char *, ...));
-#ifndef _IO_pos_BAD
-# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-# define _IO_pos_BAD ((_IO_off64_t) -1)
-# else
-# define _IO_pos_BAD ((_IO_off_t) -1)
-# endif
-#endif
-#define _IO_clearerr(FP) ((FP)->_flags &= ~(_IO_ERR_SEEN|_IO_EOF_SEEN))
-#define _IO_fseek(__fp, __offset, __whence) \
- (_IO_seekoff(__fp, __offset, __whence, _IOS_INPUT|_IOS_OUTPUT) == _IO_pos_BAD ? EOF : 0)
-#define _IO_rewind(FILE) (void)_IO_seekoff(FILE, 0, 0, _IOS_INPUT|_IOS_OUTPUT)
-#define _IO_vprintf(FORMAT, ARGS) _IO_vfprintf(_IO_stdout, FORMAT, ARGS)
-#if _G_IO_IO_FILE_VERSION == 0x20001
-#define _IO_freopen(FILENAME, MODE, FP) \
- (_IO_file_close_it(FP), _IO_file_fopen(FP, FILENAME, MODE, 0))
-#else
-#define _IO_freopen(FILENAME, MODE, FP) \
- (_IO_file_close_it(FP), _IO_file_fopen(FP, FILENAME, MODE))
-#endif
-#define _IO_fileno(FP) ((FP)->_fileno)
-extern _IO_FILE* _IO_popen __P((const char*, const char*));
-#define _IO_pclose _IO_fclose
-#define _IO_setbuf(_FP, _BUF) _IO_setbuffer(_FP, _BUF, _IO_BUFSIZ)
-#define _IO_setlinebuf(_FP) _IO_setvbuf(_FP, NULL, 1, 0)
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/contrib/libio/iomanip.cc b/contrib/libio/iomanip.cc
deleted file mode 100644
index fddba55..0000000
--- a/contrib/libio/iomanip.cc
+++ /dev/null
@@ -1,90 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
-#include "iomanip.h"
-
-
-// Those functions are called through a pointer,
-// thus it does not make sense, to inline them.
-
-ios & __iomanip_setbase (ios& i, int n)
-{
- ios::fmtflags b;
- switch (n)
- {
- case 8:
- b = ios::oct; break;
- case 10:
- b = ios::dec; break;
- case 16:
- b = ios::hex; break;
- default:
- b = 0;
- }
- i.setf(b, ios::basefield);
- return i;
-}
-
-ios & __iomanip_setfill (ios& i, int n)
-{
- //FIXME if ( i.flags() & ios::widechar )
- i.fill( (char) n);
- //FIXME else
- //FIXME i.fill( (wchar) n);
- return i;
-}
-
-ios & __iomanip_setprecision (ios& i, int n)
-{
- i.precision(n);
- return i;
-}
-ios & __iomanip_setw (ios& i, int n)
-{
- i.width(n);
- return i;
-}
-
-ios & __iomanip_setiosflags (ios& i, ios::fmtflags n)
-{
- i.setf(n,n);
- return i;
-}
-
-ios & __iomanip_resetiosflags (ios& i, ios::fmtflags n)
-{
- i.setf(0,n);
- return i;
-}
-
-template class smanip<int>;
-template class smanip<ios::fmtflags>;
-template istream& operator>>(istream&, const smanip<int>&);
-template istream& operator>>(istream&, const smanip<ios::fmtflags>&);
-template ostream& operator<<(ostream&, const smanip<int>&);
-template ostream& operator<<(ostream&, const smanip<ios::fmtflags>&);
diff --git a/contrib/libio/iomanip.h b/contrib/libio/iomanip.h
deleted file mode 100644
index 7c0232e..0000000
--- a/contrib/libio/iomanip.h
+++ /dev/null
@@ -1,180 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#ifndef _IOMANIP_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-#define _IOMANIP_H
-
-#include <iostream.h>
-
-extern "C++" {
-//-----------------------------------------------------------------------------
-// Parametrized Manipulators as specified by ANSI draft
-//-----------------------------------------------------------------------------
-
-//-----------------------------------------------------------------------------
-// Stream Manipulators
-//-----------------------------------------------------------------------------
-//
-template<class TP> class smanip; // TP = Type Param
-
-template<class TP> class sapp {
- ios& (*_f)(ios&, TP);
-public:
- sapp(ios& (*f)(ios&, TP)) : _f(f) {}
- //
- smanip<TP> operator()(TP a)
- { return smanip<TP>(_f, a); }
-};
-
-template<class TP>
-inline istream& operator>>(istream& i, const smanip<TP>& m);
-template<class TP>
-inline ostream& operator<<(ostream& o, const smanip<TP>& m);
-
-template <class TP> class smanip {
- ios& (*_f)(ios&, TP);
- TP _a;
-public:
- smanip(ios& (*f)(ios&, TP), TP a) : _f(f), _a(a) {}
- //
- friend
- istream& operator>> <>(istream& i, const smanip<TP>& m);
- friend
- ostream& operator<< <>(ostream& o, const smanip<TP>& m);
-};
-
-#ifdef __GNUG__
-__extension__ extern template class smanip<int>;
-__extension__ extern template class smanip<ios::fmtflags>;
-#endif
-
-template<class TP>
-inline istream& operator>>(istream& i, const smanip<TP>& m)
-{ (*m._f)(i, m._a); return i; }
-
-template<class TP>
-inline ostream& operator<<(ostream& o, const smanip<TP>& m)
-{ (*m._f)(o, m._a); return o;}
-
-#ifdef __GNUG__
-__extension__ extern
-template istream& operator>>(istream&, const smanip<int>&);
-__extension__ extern
-template istream& operator>>(istream&, const smanip<ios::fmtflags>&);
-__extension__ extern
-template ostream& operator<<(ostream&, const smanip<int>&);
-__extension__ extern
-template ostream& operator<<(ostream&, const smanip<ios::fmtflags>&);
-#endif
-
-//-----------------------------------------------------------------------------
-// Input-Stream Manipulators
-//-----------------------------------------------------------------------------
-//
-template<class TP> class imanip;
-
-template<class TP> class iapp {
- istream& (*_f)(istream&, TP);
-public:
- iapp(istream& (*f)(istream&,TP)) : _f(f) {}
- //
- imanip<TP> operator()(TP a)
- { return imanip<TP>(_f, a); }
-};
-
-template <class TP>
-inline istream& operator>>(istream&, const imanip<TP>&);
-
-template <class TP> class imanip {
- istream& (*_f)(istream&, TP);
- TP _a;
-public:
- imanip(istream& (*f)(istream&, TP), TP a) : _f(f), _a(a) {}
- //
- friend
- istream& operator>> <>(istream& i, const imanip<TP>& m);
-};
-
-template <class TP>
-inline istream& operator>>(istream& i, const imanip<TP>& m)
-{ return (*m._f)( i, m._a); }
-
-//-----------------------------------------------------------------------------
-// Output-Stream Manipulators
-//-----------------------------------------------------------------------------
-//
-template<class TP> class omanip;
-
-template<class TP> class oapp {
- ostream& (*_f)(ostream&, TP);
-public:
- oapp(ostream& (*f)(ostream&,TP)) : _f(f) {}
- //
- omanip<TP> operator()(TP a)
- { return omanip<TP>(_f, a); }
-};
-
-template <class TP>
-inline ostream& operator<<(ostream&, const omanip<TP>&);
-
-template <class TP> class omanip {
- ostream& (*_f)(ostream&, TP);
- TP _a;
-public:
- omanip(ostream& (*f)(ostream&, TP), TP a) : _f(f), _a(a) {}
- //
- friend
- ostream& operator<< <>(ostream& o, const omanip<TP>& m);
-};
-
-template <class TP>
-inline ostream& operator<<(ostream& o, const omanip<TP>& m)
-{ return (*m._f)(o, m._a); }
-
-//-----------------------------------------------------------------------------
-// Available Manipulators
-//-----------------------------------------------------------------------------
-
-//
-// Macro to define an iomanip function, with one argument
-// The underlying function is `__iomanip_<name>'
-//
-#define __DEFINE_IOMANIP_FN1(type,param,function) \
- extern ios& __iomanip_##function (ios&, param); \
- inline type<param> function (param n) \
- { return type<param> (__iomanip_##function, n); }
-
-__DEFINE_IOMANIP_FN1( smanip, int, setbase)
-__DEFINE_IOMANIP_FN1( smanip, int, setfill)
-__DEFINE_IOMANIP_FN1( smanip, int, setprecision)
-__DEFINE_IOMANIP_FN1( smanip, int, setw)
-
-__DEFINE_IOMANIP_FN1( smanip, ios::fmtflags, resetiosflags)
-__DEFINE_IOMANIP_FN1( smanip, ios::fmtflags, setiosflags)
-} // extern "C++"
-
-#endif /*!_IOMANIP_H*/
diff --git a/contrib/libio/iopadn.c b/contrib/libio/iopadn.c
deleted file mode 100644
index 087715b..0000000
--- a/contrib/libio/iopadn.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-
-#define PADSIZE 16
-static char const blanks[PADSIZE] =
-{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '};
-static char const zeroes[PADSIZE] =
-{'0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'};
-
-_IO_ssize_t
-_IO_padn (fp, pad, count)
- _IO_FILE *fp;
- int pad;
- _IO_ssize_t count;
-{
- char padbuf[PADSIZE];
- const char *padptr;
- int i;
- _IO_size_t written = 0;
- _IO_size_t w;
-
- if (pad == ' ')
- padptr = blanks;
- else if (pad == '0')
- padptr = zeroes;
- else
- {
- for (i = PADSIZE; --i >= 0; )
- padbuf[i] = pad;
- padptr = padbuf;
- }
- for (i = count; i >= PADSIZE; i -= PADSIZE)
- {
- w = _IO_sputn (fp, padptr, PADSIZE);
- written += w;
- if (w != PADSIZE)
- return written;
- }
-
- if (i > 0)
- {
- w = _IO_sputn (fp, padptr, i);
- written += w;
- }
- return written;
-}
diff --git a/contrib/libio/ioperror.c b/contrib/libio/ioperror.c
deleted file mode 100644
index 7ca72b0..0000000
--- a/contrib/libio/ioperror.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "libioP.h"
-#include <errno.h>
-#include <string.h>
-#ifndef errno
-extern int errno;
-#endif
-
-#ifndef _IO_strerror
-extern char* _IO_strerror __P((int));
-#endif
-
-void
-_IO_perror (s)
- const char *s;
-{
- char *error = _IO_strerror (errno);
-
- if (s != NULL && *s != '\0')
- _IO_fprintf (_IO_stderr, "%s:", s);
-
- _IO_fprintf (_IO_stderr, "%s\n", error ? error : "");
-}
diff --git a/contrib/libio/iopopen.c b/contrib/libio/iopopen.c
deleted file mode 100644
index 58f9749..0000000
--- a/contrib/libio/iopopen.c
+++ /dev/null
@@ -1,248 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
- Written by Per Bothner <bothner@cygnus.com>.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#if _IO_HAVE_SYS_WAIT
-#include <signal.h>
-#include <unistd.h>
-#ifdef __STDC__
-#include <stdlib.h>
-#endif
-#ifdef _LIBC
-# include <unistd.h>
-#endif
-#include <sys/types.h>
-#include <sys/wait.h>
-
-#ifndef _IO_fork
-#define _IO_fork vfork /* defined in libiberty, if needed */
-extern _IO_pid_t _IO_fork __P ((void));
-#endif
-
-#endif /* _IO_HAVE_SYS_WAIT */
-
-#ifndef _IO_pipe
-#define _IO_pipe pipe
-extern int _IO_pipe __P ((int des[2]));
-#endif
-
-#ifndef _IO_dup2
-#define _IO_dup2 dup2
-extern int _IO_dup2 __P ((int fd, int fd2));
-#endif
-
-#ifndef _IO_waitpid
-#define _IO_waitpid waitpid
-#endif
-
-#ifndef _IO_execl
-#define _IO_execl execl
-#endif
-#ifndef _IO__exit
-#define _IO__exit _exit
-#endif
-
-#ifndef _IO_close
-#define _IO_close close
-#endif
-
-struct _IO_proc_file
-{
- struct _IO_FILE_plus file;
- /* Following fields must match those in class procbuf (procbuf.h) */
- _IO_pid_t pid;
- struct _IO_proc_file *next;
-};
-typedef struct _IO_proc_file _IO_proc_file;
-
-static struct _IO_proc_file *proc_file_chain = NULL;
-
-_IO_FILE *
-_IO_proc_open (fp, command, mode)
- _IO_FILE *fp;
- const char *command;
- const char *mode;
-{
-#if _IO_HAVE_SYS_WAIT
- volatile int read_or_write;
- volatile int parent_end, child_end;
- int pipe_fds[2];
- _IO_pid_t child_pid;
- if (_IO_file_is_open (fp))
- return NULL;
- if (_IO_pipe (pipe_fds) < 0)
- return NULL;
- if (mode[0] == 'r')
- {
- parent_end = pipe_fds[0];
- child_end = pipe_fds[1];
- read_or_write = _IO_NO_WRITES;
- }
- else
- {
- parent_end = pipe_fds[1];
- child_end = pipe_fds[0];
- read_or_write = _IO_NO_READS;
- }
- ((_IO_proc_file *) fp)->pid = child_pid = _IO_fork ();
- if (child_pid == 0)
- {
- int child_std_end = mode[0] == 'r' ? 1 : 0;
- _IO_close (parent_end);
- if (child_end != child_std_end)
- {
- _IO_dup2 (child_end, child_std_end);
- _IO_close (child_end);
- }
- /* POSIX.2: "popen() shall ensure that any streams from previous
- popen() calls that remain open in the parent process are closed
- in the new child process." */
- while (proc_file_chain)
- {
- _IO_close (_IO_fileno ((_IO_FILE *) proc_file_chain));
- proc_file_chain = proc_file_chain->next;
- }
-
- _IO_execl ("/bin/sh", "sh", "-c", command, (char *) 0);
- _IO__exit (127);
- }
- _IO_close (child_end);
- if (child_pid < 0)
- {
- _IO_close (parent_end);
- return NULL;
- }
- _IO_fileno (fp) = parent_end;
-
- /* Link into proc_file_chain. */
- ((_IO_proc_file *) fp)->next = proc_file_chain;
- proc_file_chain = (_IO_proc_file *) fp;
-
- _IO_mask_flags (fp, read_or_write, _IO_NO_READS|_IO_NO_WRITES);
- return fp;
-#else /* !_IO_HAVE_SYS_WAIT */
- return NULL;
-#endif
-}
-
-_IO_FILE *
-_IO_popen (command, mode)
- const char *command;
- const char *mode;
-{
- struct locked_FILE
- {
- struct _IO_proc_file fpx;
-#ifdef _IO_MTSAFE_IO
- _IO_lock_t lock;
-#endif
- } *new_f;
- _IO_FILE *fp;
-
- new_f = (struct locked_FILE *) malloc (sizeof (struct locked_FILE));
- if (new_f == NULL)
- return NULL;
-#ifdef _IO_MTSAFE_IO
- new_f->fpx.file.file._lock = &new_f->lock;
-#endif
- fp = (_IO_FILE*)&new_f->fpx;
- _IO_init (fp, 0);
- _IO_JUMPS (fp) = &_IO_proc_jumps;
- _IO_file_init (fp);
-#if !_IO_UNIFIED_JUMPTABLES
- ((struct _IO_FILE_plus *) fp)->vtable = NULL;
-#endif
- if (_IO_proc_open (fp, command, mode) != NULL)
- return fp;
- free (new_f);
- return NULL;
-}
-
-#ifdef strong_alias
-strong_alias (_IO_popen, popen);
-#endif
-
-int
-_IO_proc_close (fp)
- _IO_FILE *fp;
-{
- /* This is not name-space clean. FIXME! */
-#if _IO_HAVE_SYS_WAIT
- int wstatus;
- _IO_proc_file **ptr = &proc_file_chain;
- _IO_pid_t wait_pid;
- int status = -1;
-
- /* Unlink from proc_file_chain. */
- for ( ; *ptr != NULL; ptr = &(*ptr)->next)
- {
- if (*ptr == (_IO_proc_file *) fp)
- {
- *ptr = (*ptr)->next;
- status = 0;
- break;
- }
- }
-
- if (status < 0 || _IO_close (_IO_fileno(fp)) < 0)
- return -1;
- /* POSIX.2 Rationale: "Some historical implementations either block
- or ignore the signals SIGINT, SIGQUIT, and SIGHUP while waiting
- for the child process to terminate. Since this behavior is not
- described in POSIX.2, such implementations are not conforming." */
- do
- {
- wait_pid = _IO_waitpid (((_IO_proc_file *) fp)->pid, &wstatus, 0);
- }
- while (wait_pid == -1 && errno == EINTR);
- if (wait_pid == -1)
- return -1;
- return wstatus;
-#else /* !_IO_HAVE_SYS_WAIT */
- return -1;
-#endif
-}
-
-struct _IO_jump_t _IO_proc_jumps = {
- JUMP_INIT_DUMMY,
- JUMP_INIT(finish, _IO_file_finish),
- JUMP_INIT(overflow, _IO_file_overflow),
- JUMP_INIT(underflow, _IO_file_underflow),
- JUMP_INIT(uflow, _IO_default_uflow),
- JUMP_INIT(pbackfail, _IO_default_pbackfail),
- JUMP_INIT(xsputn, _IO_file_xsputn),
- JUMP_INIT(xsgetn, _IO_default_xsgetn),
- JUMP_INIT(seekoff, _IO_file_seekoff),
- JUMP_INIT(seekpos, _IO_default_seekpos),
- JUMP_INIT(setbuf, _IO_file_setbuf),
- JUMP_INIT(sync, _IO_file_sync),
- JUMP_INIT(doallocate, _IO_file_doallocate),
- JUMP_INIT(read, _IO_file_read),
- JUMP_INIT(write, _IO_file_write),
- JUMP_INIT(seek, _IO_file_seek),
- JUMP_INIT(close, _IO_proc_close),
- JUMP_INIT(stat, _IO_file_stat)
-};
diff --git a/contrib/libio/ioprims.c b/contrib/libio/ioprims.c
deleted file mode 100644
index e3e0d7e..0000000
--- a/contrib/libio/ioprims.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* I/O OS-level primitives.
- Needs to be replaced if not using Unix.
- Also needs to be replaced if avoiding name-space pollution
- (in which case read would be defined in terms of _IO_read,
- rather than vice versa). */
-
-#include "libioP.h"
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#ifdef TODO
-/* Add open, isatty */
-#endif
-
-_IO_ssize_t
-_IO_read (fildes, buf, nbyte)
- int fildes;
- void *buf;
- _IO_size_t nbyte;
-{
- return read (fildes, buf, nbyte);
-}
-
-_IO_ssize_t
-_IO_write (fildes, buf, nbyte)
- int fildes;
- const void *buf;
- _IO_size_t nbyte;
-{
- return write (fildes, buf, nbyte);
-}
-
-_IO_off_t
-_IO_lseek (fildes, offset, whence)
- int fildes;
- _IO_off_t offset;
- int whence;
-{
- return lseek (fildes, offset, whence);
-}
-
-int
-_IO_close (fildes)
- int fildes;
-{
- return close (fildes);
-}
-
-int
-_IO_fstat (fildes, buf)
- int fildes;
- struct stat *buf;
-{
- return fstat (fildes, buf);
-}
diff --git a/contrib/libio/ioprintf.c b/contrib/libio/ioprintf.c
deleted file mode 100644
index 0b99c2a..0000000
--- a/contrib/libio/ioprintf.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-
-#ifdef __STDC__
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-
-int
-_IO_printf
-#ifdef __STDC__
- (const char* format, ...)
-#else
-(format, va_alist) char *format; va_dcl
-#endif
-{
- int ret;
- va_list args;
- _IO_va_start(args, format);
- ret = _IO_vfprintf(_IO_stdout, format, args);
- va_end(args);
- return ret;
-}
diff --git a/contrib/libio/ioputc.c b/contrib/libio/ioputc.c
deleted file mode 100644
index 38a3ec9..0000000
--- a/contrib/libio/ioputc.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef _IO_putc
-
-int
-_IO_putc (c, fp)
- int c;
- _IO_FILE *fp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- result = _IO_putc_unlocked (c, fp);
- _IO_cleanup_region_end (1);
- return result;
-}
-
-#undef putc
-
-#ifdef weak_alias
-weak_alias (_IO_putc, putc)
-#elif defined(_G_STDIO_USES_LIBIO) && defined(_G_HAVE_WEAK_SYMBOL)
-int putc (int, _IO_FILE *) __attribute__ ((weak, alias("_IO_putc")));
-#endif
diff --git a/contrib/libio/ioputs.c b/contrib/libio/ioputs.c
deleted file mode 100644
index ab5e6aa..0000000
--- a/contrib/libio/ioputs.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include <string.h>
-
-int
-_IO_puts (str)
- const char *str;
-{
- int result;
- _IO_size_t len = strlen (str);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _IO_stdout);
- _IO_flockfile (_IO_stdout);
- if (_IO_sputn (_IO_stdout, str, len) == len
- && _IO_putc_unlocked ('\n', _IO_stdout) != EOF)
- result = len + 1;
- else
- result = EOF;
- _IO_cleanup_region_end (1);
- return result;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_puts, puts)
-#endif
diff --git a/contrib/libio/ioscanf.c b/contrib/libio/ioscanf.c
deleted file mode 100644
index 405d1e2..0000000
--- a/contrib/libio/ioscanf.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-
-#ifdef __STDC__
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-
-int
-_IO_scanf
-#ifdef __STDC__
- (const char* format, ...)
-#else
-(format, va_alist) char *format; va_dcl
-#endif
-{
- int ret;
- va_list args;
- _IO_va_start(args, format);
- ret = _IO_vfscanf(_IO_stdin, format, args, NULL);
- va_end(args);
- return ret;
-}
diff --git a/contrib/libio/ioseekoff.c b/contrib/libio/ioseekoff.c
deleted file mode 100644
index b1c4729..0000000
--- a/contrib/libio/ioseekoff.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include <libioP.h>
-
-_IO_pos_t
-_IO_seekoff (fp, offset, dir, mode)
- _IO_FILE *fp;
- _IO_off_t offset;
- int dir;
- int mode;
-{
- _IO_pos_t retval;
-
- /* If we have a backup buffer, get rid of it, since the __seekoff
- callback may not know to do the right thing about it.
- This may be over-kill, but it'll do for now. TODO */
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
-
-
- if (_IO_have_backup (fp))
- {
- if (dir == _IO_seek_cur && _IO_in_backup (fp))
- offset -= fp->_IO_read_end - fp->_IO_read_ptr;
- _IO_free_backup_area (fp);
- }
- retval = _IO_SEEKOFF (fp, offset, dir, mode);
-
- _IO_cleanup_region_end (1);
- return retval;
-}
diff --git a/contrib/libio/ioseekpos.c b/contrib/libio/ioseekpos.c
deleted file mode 100644
index 2ce0c22..0000000
--- a/contrib/libio/ioseekpos.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include <libioP.h>
-
-_IO_pos_t
-_IO_seekpos (fp, pos, mode)
- _IO_FILE *fp;
- _IO_pos_t pos;
- int mode;
-{
- _IO_pos_t retval;
-
- /* If we have a backup buffer, get rid of it, since the __seekoff
- callback may not know to do the right thing about it.
- This may be over-kill, but it'll do for now. TODO */
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
-
- if (_IO_have_backup (fp))
- _IO_free_backup_area (fp);
- retval = _IO_SEEKPOS (fp, pos, mode);
-
- _IO_cleanup_region_end (1);
- return retval;
-}
diff --git a/contrib/libio/iosetbuffer.c b/contrib/libio/iosetbuffer.c
deleted file mode 100644
index f140a9a..0000000
--- a/contrib/libio/iosetbuffer.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-
-void
-_IO_setbuffer (fp, buf, size)
- _IO_FILE *fp;
- char *buf;
- _IO_size_t size;
-{
- CHECK_FILE (fp, );
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- fp->_flags &= ~_IO_LINE_BUF;
- if (!buf)
- size = 0;
- (void) _IO_SETBUF (fp, buf, size);
- _IO_cleanup_region_end (1);
-}
-
-#ifdef weak_alias
-weak_alias (_IO_setbuffer, setbuffer)
-#endif
diff --git a/contrib/libio/iosetvbuf.c b/contrib/libio/iosetvbuf.c
deleted file mode 100644
index 65eeea5..0000000
--- a/contrib/libio/iosetvbuf.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-
-#define _IOFBF 0 /* Fully buffered. */
-#define _IOLBF 1 /* Line buffered. */
-#define _IONBF 2 /* No buffering. */
-
-int
-_IO_setvbuf (fp, buf, mode, size)
- _IO_FILE *fp;
- char *buf;
- int mode;
- _IO_size_t size;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- switch (mode)
- {
- case _IOFBF:
- fp->_IO_file_flags &= ~_IO_LINE_BUF|_IO_UNBUFFERED;
- if (buf == NULL)
- {
- if (fp->_IO_buf_base == NULL)
- {
- /* There is no flag to distinguish between "fully buffered
- mode has been explicitly set" as opposed to "line
- buffering has not been explicitly set". In both
- cases, _IO_LINE_BUF is off. If this is a tty, and
- _IO_filedoalloc later gets called, it cannot know if
- it should set the _IO_LINE_BUF flag (because that is
- the default), or not (because we have explicitly asked
- for fully buffered mode). So we make sure a buffer
- gets allocated now, and explicitly turn off line
- buffering.
-
- A possibly cleaner alternative would be to add an
- extra flag, but then flags are a finite resource. */
- if (_IO_DOALLOCATE (fp) < 0)
- {
- result = EOF;
- goto unlock_return;
- }
- fp->_IO_file_flags &= ~_IO_LINE_BUF;
- }
- result = 0;
- goto unlock_return;
- }
- break;
- case _IOLBF:
- fp->_IO_file_flags &= ~_IO_UNBUFFERED;
- fp->_IO_file_flags |= _IO_LINE_BUF;
- if (buf == NULL)
- {
- result = 0;
- goto unlock_return;
- }
- break;
- case _IONBF:
- buf = NULL;
- size = 0;
- break;
- default:
- result = EOF;
- goto unlock_return;
- }
- result = _IO_SETBUF (fp, buf, size) == NULL ? EOF : 0;
-unlock_return:
- _IO_cleanup_region_end (1);
- return result;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_setvbuf, setvbuf)
-#endif
diff --git a/contrib/libio/iosprintf.c b/contrib/libio/iosprintf.c
deleted file mode 100644
index 704a6db..0000000
--- a/contrib/libio/iosprintf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-
-#ifdef __STDC__
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-
-int
-#ifdef __STDC__
-_IO_sprintf (char *string, const char* format, ...)
-#else
-_IO_sprintf (string, format, va_alist)
- char *string;
- char *format;
- va_dcl
-#endif
-{
- int ret;
- va_list args;
- _IO_va_start (args, format);
- ret = _IO_vsprintf (string, format, args);
- va_end (args);
- return ret;
-}
diff --git a/contrib/libio/iosscanf.c b/contrib/libio/iosscanf.c
deleted file mode 100644
index 5886877..0000000
--- a/contrib/libio/iosscanf.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-
-#ifdef __STDC__
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-
-int
-_IO_sscanf
-#ifdef __STDC__
- (const char * string, const char* format, ...)
-#else
-(string, format, va_alist) char *string; char *format; va_dcl
-#endif
-{
- int ret;
- va_list args;
- _IO_va_start(args, format);
- ret = _IO_vsscanf(string, format, args);
- va_end(args);
- return ret;
-}
diff --git a/contrib/libio/iostdio.h b/contrib/libio/iostdio.h
deleted file mode 100644
index 9ed47a4..0000000
--- a/contrib/libio/iostdio.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* This file defines a stdio-like environment, except that it avoid
- link-time name clashes with an existing stdio.
- It allows for testing the libio using stdio-using programs
- with an incompatible libc.a.
- It is not predantically correct - e.g. some macros are used
- that may evaluate a stream argument more than once. */
-
-#ifndef _IOSTDIO_H
-#define _IOSTDIO_H
-
-#include "iolibio.h"
-
-typedef _IO_FILE FILE;
-#ifndef EOF
-#define EOF (-1)
-#endif
-#ifndef BUFSIZ
-#define BUFSIZ 1024
-#endif
-
-/* #define size_t, fpos_t L_tmpname TMP_MAX */
-
-#define _IOFBF 0 /* Fully buffered. */
-#define _IOLBF 1 /* Line buffered. */
-#define _IONBF 2 /* No buffering. */
-
-#define SEEK_SET 0
-#define SEEK_CUR 1
-#define SEEK_END 2
-
-#define stdin _IO_stdin
-#define stdout _IO_stdout
-#define stderr _IO_stderr
-
-#define getc(_fp) _IO_getc(_fp)
-#define putc(_ch, _fp) _IO_putc(_ch, _fp)
-
-#define clearerr _IO_clearerr
-#define fclose _IO_fclose
-#define feof _IO_feof
-#define ferror _IO_ferror
-#define fflush _IO_fflush
-#define fgetc(__fp) _IO_getc(_fp)
-#define fgetpos _IO_fgetpos
-#define fgets _IO_fgets
-#define fopen _IO_fopen
-#define fprintf _IO_fprintf
-#define fputc(_ch, _fp) _IO_putc(_ch, _fp)
-#define fputs _IO_fputs
-#define fread _IO_fread
-#define freopen _IO_freopen
-#define fscanf _IO_fscanf
-#define fseek _IO_fseek
-#define fsetpos _IO_fsetpos
-#define ftell _IO_ftell
-#define fwrite _IO_fwrite
-#define gets _IO_gets
-#define perror _IO_perror
-#define printf _IO_printf
-#define puts _IO_puts
-#define rewind _IO_rewind
-#define scanf _IO_scanf
-#define setbuf _IO_setbuf
-#define setbuffer _IO_setbuffer
-#define setvbuf _IO_setvbuf
-#define sprintf _IO_sprintf
-#define sscanf _IO_sscanf
-#define ungetc _IO_ungetc
-#define vfprintf _IO_vfprintf
-#define vprintf(__fmt, __args) vfprintf(stdout, __fmt, __args)
-#define vsprintf _IO_vsprintf
-
-#if 0
-/* We can use the libc versions of these, since they don't pass FILE*s. */
-#define remove ??? __P((const char*))
-#define rename ??? __P((const char* _old, const char* _new))
-#define tmpfile ??? __P((void))
-#define tmpnam ??? __P((char*))
-#endif
-
-#if !defined(__STRICT_ANSI__) || defined(_POSIX_SOURCE)
-#define fdopen _IO_fdopen
-#define fileno _IO_fileno
-#define popen _IO_popen
-#define pclose _IO_pclose
-#define setbuf _IO_setbuf
-#define setlinebuf _IO_setlinebuf
-#endif
-
-#endif /* _IOSTDIO_H */
diff --git a/contrib/libio/iostream.cc b/contrib/libio/iostream.cc
deleted file mode 100644
index 792eaae..0000000
--- a/contrib/libio/iostream.cc
+++ /dev/null
@@ -1,1049 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
- Copyright (C) 1993, 1997, 2000 Free Software Foundation, Inc.
-
- This file is part of the GNU IO Library. This library is free
- software; you can redistribute it and/or modify it under the
- terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to the Free
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does not cause
- the resulting executable to be covered by the GNU General Public License.
- This exception does not however invalidate any other reasons why
- the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#ifdef __GNUC__
-#pragma implementation
-#endif
-#define _STREAM_COMPAT
-#include <iostream.h>
-#include "libioP.h"
-#include <stdio.h> /* Needed for sprintf */
-#include <ctype.h>
-#include <string.h>
-#include <limits.h>
-
-#if _G_HAVE_PRINTF_FP
-#include <printf.h>
-extern "C" int __printf_fp (_IO_FILE *, const struct printf_info *,
- const void *const *);
-#else
-#include "floatio.h"
-# ifndef _IO_USE_DTOA
-int __cvt_double(double number, register int prec, int flags, int *signp,
- int fmtch, char *startp, char *endp);
-# endif
-#endif
-
-#define BUF (MAXEXP+MAXFRACT+1) /* + decimal point */
-
-//#define isspace(ch) ((ch)==' ' || (ch)=='\t' || (ch)=='\n')
-
-istream::istream(streambuf *sb, ostream* tied)
-{
- init (sb, tied);
- _gcount = 0;
-}
-
-int skip_ws(streambuf* sb)
-{
- int ch;
- for (;;) {
- ch = sb->sbumpc();
- if (ch == EOF || !isspace(ch))
- return ch;
- }
-}
-
-istream& istream::get(char& c)
-{
- if (ipfx1()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- int ch = _strbuf->sbumpc();
- if (ch == EOF) {
- set(ios::eofbit|ios::failbit);
- _gcount = 0;
- }
- else {
- c = (char)ch;
- _gcount = 1;
- }
- isfx();
- _IO_cleanup_region_end (0);
- }
- else
- _gcount = 0;
- return *this;
-}
-
-int istream::peek()
-{
- if (!good())
- return EOF;
- if (_tie && rdbuf()->in_avail() == 0)
- _tie->flush();
- int ch = _strbuf->sgetc();
- if (ch == EOF)
- set(ios::eofbit);
- return ch;
-}
-
-istream& istream::ignore(int n /* = 1 */, int delim /* = EOF */)
-{
- _gcount = 0;
- if (ipfx1()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- register streambuf* sb = _strbuf;
- if (delim == EOF) {
- _gcount = sb->ignore(n);
- goto unlock;
- }
- for (;;) {
-#if 0
- if (n != MAXINT) // FIXME
-#endif
- if (--n < 0)
- break;
- int ch = sb->sbumpc();
- if (ch == EOF) {
- set(ios::eofbit|ios::failbit);
- break;
- }
- _gcount++;
- if (ch == delim)
- break;
- }
- unlock:
- isfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-istream& istream::read(char *s, streamsize n)
-{
- if (ipfx1()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- _gcount = _strbuf->sgetn(s, n);
- if (_gcount != n)
- set(ios::failbit|ios::eofbit);
- isfx();
- _IO_cleanup_region_end (0);
- }
- else
- _gcount = 0;
- return *this;
-}
-
-int
-istream::sync ()
-{
- streambuf *sb = rdbuf ();
- if (sb == NULL)
- return EOF;
- if (sb->sync ()) // Later: pubsync
- {
- setstate (ios::badbit);
- return EOF;
- }
- else
- return 0;
-}
-
-istream& istream::seekg(streampos pos)
-{
- pos = _strbuf->pubseekpos(pos, ios::in);
- if (pos == streampos(EOF))
- set(ios::badbit);
- return *this;
-}
-
-istream& istream::seekg(streamoff off, _seek_dir dir)
-{
- streampos pos = _IO_seekoff (_strbuf, off, (int) dir, _IOS_INPUT);
- if (pos == streampos(EOF))
- set(ios::badbit);
- return *this;
-}
-
-streampos istream::tellg()
-{
-#if 0
- streampos pos = _strbuf->pubseekoff(0, ios::cur, ios::in);
-#else
- streampos pos = _IO_seekoff (_strbuf, 0, _IO_seek_cur, _IOS_INPUT);
-#endif
- if (pos == streampos(EOF))
- set(ios::badbit);
- return pos;
-}
-
-istream& istream::operator>>(char& c)
-{
- if (ipfx0()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- int ch = _strbuf->sbumpc();
- if (ch == EOF)
- set(ios::eofbit|ios::failbit);
- else
- c = (char)ch;
- isfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-istream&
-istream::operator>> (char* ptr)
-{
- register char *p = ptr;
- int w = width(0);
- if (ipfx0())
- {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- register streambuf* sb = _strbuf;
- for (;;)
- {
- int ch = sb->sbumpc();
- if (ch == EOF)
- {
- set(ios::eofbit);
- break;
- }
- else if (isspace(ch) || w == 1)
- {
- sb->sputbackc(ch);
- break;
- }
- else *p++ = ch;
- w--;
- }
- if (p == ptr)
- set(ios::failbit);
- isfx();
- _IO_cleanup_region_end (0);
- }
- *p = '\0';
- return *this;
-}
-
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-#define LONGEST long long
-#else
-#define LONGEST long
-#endif
-
-static int read_int(istream& stream, unsigned LONGEST& val, int& neg)
-{
- if (!stream.ipfx0())
- return 0;
- int retval;
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- stream._strbuf);
- register streambuf* sb = stream.rdbuf();
- int base = 10;
- int ndigits = 0;
- register int ch = skip_ws(sb);
- if (ch == EOF)
- goto eof_fail;
- neg = 0;
- if (ch == '+') {
- ch = skip_ws(sb);
- }
- else if (ch == '-') {
- neg = 1;
- ch = skip_ws(sb);
- }
- if (ch == EOF) goto eof_fail;
- if (!(stream.flags() & ios::basefield)) {
- if (ch == '0') {
- ch = sb->sbumpc();
- if (ch == EOF) {
- val = 0;
- goto unlock;
- }
- if (ch == 'x' || ch == 'X') {
- base = 16;
- ch = sb->sbumpc();
- if (ch == EOF) goto eof_fail;
- }
- else {
- sb->sputbackc(ch);
- base = 8;
- ch = '0';
- }
- }
- }
- else if ((stream.flags() & ios::basefield) == ios::hex)
- base = 16;
- else if ((stream.flags() & ios::basefield) == ios::oct)
- base = 8;
- val = 0;
- for (;;) {
- if (ch == EOF)
- break;
- int digit;
- if (ch >= '0' && ch <= '9')
- digit = ch - '0';
- else if (ch >= 'A' && ch <= 'F')
- digit = ch - 'A' + 10;
- else if (ch >= 'a' && ch <= 'f')
- digit = ch - 'a' + 10;
- else
- digit = 999;
- if (digit >= base) {
- sb->sputbackc(ch);
- if (ndigits == 0)
- goto fail;
- else
- goto unlock;
- }
- ndigits++;
- val = base * val + digit;
- ch = sb->sbumpc();
- }
- unlock:
- retval = 1;
- goto out;
- fail:
- stream.set(ios::failbit);
- retval = 0;
- goto out;
- eof_fail:
- stream.set(ios::failbit|ios::eofbit);
- retval = 0;
- out:
- stream.isfx();
- _IO_cleanup_region_end (0);
- return retval;
-}
-
-#define READ_INT(TYPE) \
-istream& istream::operator>>(TYPE& i)\
-{\
- unsigned LONGEST val; int neg;\
- if (read_int(*this, val, neg)) {\
- if (neg) val = -val;\
- i = (TYPE)val;\
- }\
- return *this;\
-}
-
-READ_INT(short)
-READ_INT(unsigned short)
-READ_INT(int)
-READ_INT(unsigned int)
-READ_INT(long)
-READ_INT(unsigned long)
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-READ_INT(long long)
-READ_INT(unsigned long long)
-#endif
-#if _G_HAVE_BOOL
-READ_INT(bool)
-#endif
-
-istream& istream::operator>>(long double& x)
-{
- if (ipfx0())
- {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
-#if _G_HAVE_LONG_DOUBLE_IO
- scan("%Lg", &x);
-#else
- double y;
- scan("%lg", &y);
- x = y;
-#endif
- isfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-istream& istream::operator>>(double& x)
-{
- if (ipfx0())
- {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- scan("%lg", &x);
- isfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-istream& istream::operator>>(float& x)
-{
- if (ipfx0())
- {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- scan("%g", &x);
- isfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-istream& istream::operator>>(register streambuf* sbuf)
-{
- if (ipfx0()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- register streambuf* inbuf = rdbuf();
- // FIXME: Should optimize!
- for (;;) {
- register int ch = inbuf->sbumpc();
- if (ch == EOF) {
- set(ios::eofbit);
- break;
- }
- if (sbuf->sputc(ch) == EOF) {
- set(ios::failbit);
- break;
- }
- }
- isfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-ostream& ostream::operator<<(char c)
-{
- if (opfx()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
-#if 1
- // This is what the cfront implementation does.
- if (_strbuf->sputc(c) == EOF) {
- set(ios::badbit);
- goto failed;
- }
-#else
- // This is what cfront documentation and current ANSI drafts say.
- int w = width(0);
- char fill_char = fill();
- register int padding = w > 0 ? w - 1 : 0;
- register streambuf *sb = _strbuf;
- if (!(flags() & ios::left) && padding) // Default adjustment.
- if (_IO_padn(sb, fill_char, padding) < padding) {
- set(ios::badbit);
- goto failed;
- }
- if (sb->sputc(c) == EOF) {
- set(ios::badbit);
- goto failed;
- }
- if (flags() & ios::left && padding) // Left adjustment.
- if (_IO_padn(sb, fill_char, padding) < padding)
- set(ios::badbit);
-#endif
- failed:
- osfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-/* Write VAL on STREAM.
- If SIGN<0, val is the absolute value of a negative number.
- If SIGN>0, val is a signed non-negative number.
- If SIGN==0, val is unsigned. */
-
-static void write_int(ostream& stream, unsigned LONGEST val, int sign)
-{
-#define WRITE_BUF_SIZE (10 + sizeof(unsigned LONGEST) * 3)
- char buf[WRITE_BUF_SIZE];
- register char *buf_ptr = buf+WRITE_BUF_SIZE; // End of buf.
- const char *show_base = "";
- int show_base_len = 0;
- int show_pos = 0; // If 1, print a '+'.
-
- // Now do the actual conversion, placing the result at the *end* of buf.
- // Note that we use separate code for decimal, octal, and hex,
- // so we can divide by optimizable constants.
- if ((stream.flags() & ios::basefield) == ios::oct) { // Octal
- do {
- *--buf_ptr = (val & 7) + '0';
- val = val >> 3;
- } while (val != 0);
- if ((stream.flags() & ios::showbase) && (*buf_ptr != '0'))
- *--buf_ptr = '0';
- }
- else if ((stream.flags() & ios::basefield) == ios::hex) { // Hex
- const char *xdigs = (stream.flags() & ios::uppercase) ? "0123456789ABCDEF0X"
- : "0123456789abcdef0x";
- do {
- *--buf_ptr = xdigs[val & 15];
- val = val >> 4;
- } while (val != 0);
- if ((stream.flags() & ios::showbase)) {
- show_base = xdigs + 16; // Either "0X" or "0x".
- show_base_len = 2;
- }
- }
- else { // Decimal
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
- // Optimization: Only use long long when we need to.
- while (val > UINT_MAX) {
- *--buf_ptr = (val % 10) + '0';
- val /= 10;
- }
- // Use more efficient (int) arithmetic for the rest.
- register unsigned int ival = (unsigned int)val;
-#else
- register unsigned LONGEST ival = val;
-#endif
- do {
- *--buf_ptr = (ival % 10) + '0';
- ival /= 10;
- } while (ival != 0);
- if (sign > 0 && (stream.flags() & ios::showpos))
- show_pos=1;
- }
-
- int buf_len = buf+WRITE_BUF_SIZE - buf_ptr;
- int w = stream.width(0);
-
- // Calculate padding.
- int len = buf_len+show_pos;
- if (sign < 0) len++;
- len += show_base_len;
- int padding = len > w ? 0 : w - len;
-
- // Do actual output.
- register streambuf* sbuf = stream.rdbuf();
- ios::fmtflags pad_kind =
- stream.flags() & (ios::left|ios::right|ios::internal);
- char fill_char = stream.fill();
- if (padding > 0
- && pad_kind != (ios::fmtflags)ios::left
- && pad_kind != (ios::fmtflags)ios::internal) // Default (right) adjust.
- if (_IO_padn(sbuf, fill_char, padding) < padding)
- goto failed;
- if (sign < 0 || show_pos)
- {
- char ch = sign < 0 ? '-' : '+';
- if (sbuf->sputc(ch) < 0)
- goto failed;
- }
- if (show_base_len)
- if (_IO_sputn(sbuf, show_base, show_base_len) <= 0)
- goto failed;
- if (pad_kind == (ios::fmtflags)ios::internal && padding > 0)
- if (_IO_padn(sbuf, fill_char, padding) < padding)
- goto failed;
- if (_IO_sputn (sbuf, buf_ptr, buf_len) != buf_len)
- goto failed;
- if (pad_kind == (ios::fmtflags)ios::left && padding > 0) // Left adjustment
- if (_IO_padn(sbuf, fill_char, padding) < padding)
- goto failed;
- stream.osfx();
- return;
- failed:
- stream.set(ios::badbit);
- stream.osfx();
-}
-
-ostream& ostream::operator<<(int n)
-{
- if (opfx()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- int sign = 1;
- unsigned int abs_n = (unsigned)n;
- if (n < 0 && (flags() & (ios::oct|ios::hex)) == 0)
- abs_n = -((unsigned)n), sign = -1;
- write_int(*this, abs_n, sign);
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-ostream& ostream::operator<<(unsigned int n)
-{
- if (opfx()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- write_int(*this, n, 0);
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-
-ostream& ostream::operator<<(long n)
-{
- if (opfx()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- int sign = 1;
- unsigned long abs_n = (unsigned long)n;
- if (n < 0 && (flags() & (ios::oct|ios::hex)) == 0)
- abs_n = -((unsigned long)n), sign = -1;
- write_int(*this, abs_n, sign);
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-ostream& ostream::operator<<(unsigned long n)
-{
- if (opfx()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- write_int(*this, n, 0);
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-ostream& ostream::operator<<(long long n)
-{
- if (opfx()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- int sign = 1;
- unsigned long long abs_n = (unsigned long long)n;
- if (n < 0 && (flags() & (ios::oct|ios::hex)) == 0)
- abs_n = -((unsigned long long)n), sign = -1;
- write_int(*this, abs_n, sign);
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-
-ostream& ostream::operator<<(unsigned long long n)
-{
- if (opfx()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- write_int(*this, n, 0);
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-#endif /*__GNUC__*/
-
-ostream& ostream::operator<<(double n)
-{
- if (opfx()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- // Uses __cvt_double (renamed from static cvt), in Chris Torek's
- // stdio implementation. The setup code uses the same logic
- // as in __vsbprintf.C (also based on Torek's code).
- int format_char;
- if ((flags() & ios::floatfield) == ios::fixed)
- format_char = 'f';
- else if ((flags() & ios::floatfield) == ios::scientific)
- format_char = flags() & ios::uppercase ? 'E' : 'e';
- else
- format_char = flags() & ios::uppercase ? 'G' : 'g';
-
- int prec = precision();
- if (prec <= 0 && !(flags() & ios::fixed))
- prec = 6; /* default */
-
- // Do actual conversion.
-#if _G_HAVE_PRINTF_FP
- {
- struct printf_info info = { /* prec: */ prec,
- /* width: */ width(0),
- /* spec: */ format_char,
- /* is_long_double: */ 0,
- /* is_short: */ 0,
- /* is_long: */ 0,
- /* alt: */ (flags() & ios::showpoint) != 0,
- /* space: */ 0,
- /* left: */ (flags() & ios::left) != 0,
- /* showsign: */ (flags() & ios::showpos) != 0,
- /* group: */ 0,
-#if defined __GLIBC__ && __GLIBC__ >= 2
- /* extra: */ 0,
-#if __GLIBC_MINOR__ >= 1
- /* is_char: */ 0,
-#if __GLIBC_MINOR__ >= 2
- /* wide: */ 0,
- /* i18n: */ 0,
-#endif
-#endif
-#endif
- /* pad: */ fill()
- };
- const void *ptr = (const void *) &n;
- if (__printf_fp (rdbuf(), &info, &ptr) < 0)
- set(ios::badbit|ios::failbit);
- }
-#elif defined _IO_USE_DTOA
- if (_IO_outfloat(n, rdbuf(), format_char, width(0),
- prec, flags(),
- flags() & ios::showpos ? '+' : 0,
- fill()) < 0)
- set(ios::badbit|ios::failbit); // ??
-#else
- int fpprec = 0; // 'Extra' (suppressed) floating precision.
- if (prec > MAXFRACT) {
- if (flags() & (ios::fixed|ios::scientific) & ios::showpos)
- fpprec = prec - MAXFRACT;
- prec = MAXFRACT;
- }
- int negative;
- char buf[BUF];
- int sign = '\0';
- char *cp = buf;
- *cp = 0;
- int size = __cvt_double(n, prec,
- flags() & ios::showpoint ? 0x80 : 0,
- &negative,
- format_char, cp, buf + sizeof(buf));
- if (negative) sign = '-';
- else if (flags() & ios::showpos) sign = '+';
- if (*cp == 0)
- cp++;
-
- // Calculate padding.
- int fieldsize = size + fpprec;
- if (sign) fieldsize++;
- int padding = 0;
- int w = width(0);
- if (fieldsize < w)
- padding = w - fieldsize;
-
- // Do actual output.
- register streambuf* sbuf = rdbuf();
- register i;
- char fill_char = fill();
- ios::fmtflags pad_kind =
- flags() & (ios::left|ios::right|ios::internal);
- if (pad_kind != (ios::fmtflags)ios::left // Default (right) adjust.
- && pad_kind != (ios::fmtflags)ios::internal)
- for (i = padding; --i >= 0; ) sbuf->sputc(fill_char);
- if (sign)
- sbuf->sputc(sign);
- if (pad_kind == (ios::fmtflags)ios::internal)
- for (i = padding; --i >= 0; ) sbuf->sputc(fill_char);
-
- // Emit the actual concented field, followed by extra zeros.
- _IO_sputn (sbuf, cp, size);
- for (i = fpprec; --i >= 0; ) sbuf->sputc('0');
-
- if (pad_kind == (ios::fmtflags)ios::left) // Left adjustment
- for (i = padding; --i >= 0; ) sbuf->sputc(fill_char);
-#endif
- osfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-#if _G_HAVE_LONG_DOUBLE_IO
-ostream& ostream::operator<<(long double n)
-{
- if (opfx())
- {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- int format_char;
- if ((flags() & ios::floatfield) == ios::fixed)
- format_char = 'f';
- else if ((flags() & ios::floatfield) == ios::scientific)
- format_char = flags() & ios::uppercase ? 'E' : 'e';
- else
- format_char = flags() & ios::uppercase ? 'G' : 'g';
-
- int prec = precision();
- if (prec <= 0 && !(flags() & ios::fixed))
- prec = 6; /* default */
-
-#if _G_HAVE_PRINTF_FP
- // Do actual conversion.
- struct printf_info info = { /* prec: */ prec,
- /* width: */ width(0),
- /* spec: */ format_char,
- /* is_long_double: */ 1,
- /* is_short: */ 0,
- /* is_long: */ 0,
- /* alt: */ (flags() & ios::showpoint) != 0,
- /* space: */ 0,
- /* left: */ (flags() & ios::left) != 0,
- /* showsign: */ (flags() & ios::showpos) != 0,
- /* group: */ 0,
-#if defined __GLIBC__ && __GLIBC__ >= 2
- /* extra: */ 0,
-#if __GLIBC_MINOR__ >= 1
- /* is_char: */ 0,
-#if __GLIBC_MINOR__ >= 2
- /* wide: */ 0,
- /* i18n: */ 0,
-#endif
-#endif
-#endif
- /* pad: */ fill()
- };
-
- const void *ptr = (const void *) &n;
-
- if (__printf_fp (rdbuf(), &info, &ptr) < 0)
- set (ios::badbit|ios::failbit);
-#else
-# error "long double I/O using dtoa or cvt_double is not implemented"
-#endif
- osfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-#endif
-
-ostream& ostream::operator<<(const char *s)
-{
- if (opfx())
- {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- if (s == NULL)
- s = "(null)";
- int len = strlen(s);
- int w = width(0);
-// FIXME: Should we: if (w && len>w) len = w;
- char fill_char = fill();
- register streambuf *sbuf = rdbuf();
- register int padding = w > len ? w - len : 0;
- if (!(flags() & ios::left) && padding > 0) // Default adjustment.
- if (_IO_padn(sbuf, fill_char, padding) != padding)
- {
- set(ios::badbit);
- goto failed;
- }
- if (_IO_sputn (sbuf, s, len) != len)
- {
- set(ios::badbit);
- goto failed;
- }
- if (flags() & ios::left && padding > 0) // Left adjustment.
- if (_IO_padn(sbuf, fill_char, padding) != padding)
- set(ios::badbit);
- failed:
- osfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-#if 0
-ostream& ostream::operator<<(const void *p)
-{ Is in osform.cc, to avoid pulling in all of _IO_vfprintf by this file. */ }
-#endif
-
-ostream& ostream::operator<<(register streambuf* sbuf)
-{
- if (opfx())
- {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- char buffer[_IO_BUFSIZ];
- register streambuf* outbuf = _strbuf;
- for (;;)
- {
- _IO_size_t count = _IO_sgetn(sbuf, buffer, _IO_BUFSIZ);
- if (count <= 0)
- break;
- if (_IO_sputn(outbuf, buffer, count) != count)
- {
- set(ios::badbit);
- break;
- }
- }
- osfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-ostream::ostream(streambuf* sb, ostream* tied)
-{
- init (sb, tied);
-}
-
-ostream& ostream::seekp(streampos pos)
-{
- pos = _strbuf->pubseekpos(pos, ios::out);
- if (pos == streampos(EOF))
- set(ios::badbit);
- return *this;
-}
-
-ostream& ostream::seekp(streamoff off, _seek_dir dir)
-{
- streampos pos = _IO_seekoff (_strbuf, off, (int) dir, _IOS_OUTPUT);
- if (pos == streampos(EOF))
- set(ios::badbit);
- return *this;
-}
-
-streampos ostream::tellp()
-{
-#if 1
- streampos pos = _IO_seekoff (_strbuf, 0, _IO_seek_cur, _IOS_OUTPUT);
-#else
- streampos pos = _strbuf->pubseekoff(0, ios::cur, ios::out);
-#endif
- if (pos == streampos(EOF))
- set(ios::badbit);
- return pos;
-}
-
-ostream& ostream::flush()
-{
- if (_strbuf->sync())
- set(ios::badbit);
- return *this;
-}
-
-ostream& flush(ostream& outs)
-{
- return outs.flush();
-}
-
-istream& ws(istream& ins)
-{
- if (ins.ipfx1()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- ins._strbuf);
- int ch = skip_ws(ins._strbuf);
- if (ch == EOF)
- ins.set(ios::eofbit);
- else
- ins._strbuf->sputbackc(ch);
- ins.isfx();
- _IO_cleanup_region_end (0);
- }
- return ins;
-}
-
-// Skip white-space. Return 0 on failure (EOF), or 1 on success.
-// Differs from ws() manipulator in that failbit is set on EOF.
-// Called by ipfx() and ipfx0() if needed.
-
-int istream::_skip_ws()
-{
- int ch = skip_ws(_strbuf);
- if (ch == EOF) {
- set(ios::eofbit|ios::failbit);
- return 0;
- }
- else {
- _strbuf->sputbackc(ch);
- return 1;
- }
-}
-
-ostream& ends(ostream& outs)
-{
- outs.put('\0');
- return outs;
-}
-
-ostream& endl(ostream& outs)
-{
- return flush(outs.put('\n'));
-}
-
-istream& lock(istream& ins)
-{
- _IO_flockfile (ins._strbuf);
- return ins;
-}
-istream& unlock(istream& ins)
-{
- _IO_funlockfile (ins._strbuf);
- return ins;
-}
-ostream& lock(ostream& outs)
-{
- _IO_flockfile (outs._strbuf);
- return outs;
-}
-ostream& unlock(ostream& outs)
-{
- _IO_funlockfile (outs._strbuf);
- return outs;
-}
-
-
-ostream& ostream::write(const char *s, streamsize n)
-{
- if (opfx()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- if (_IO_sputn(_strbuf, s, n) != n)
- set(ios::failbit);
- osfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-void ostream::do_osfx()
-{
- if (flags() & ios::unitbuf)
- flush();
- if (flags() & ios::stdio) {
- fflush(stdout);
- fflush(stderr);
- }
-}
-
-iostream::iostream(streambuf* sb, ostream* tied)
-{
- init (sb, tied);
-}
-
-// NOTE: extension for compatibility with old libg++.
-// Not really compatible with fistream::close().
-#ifdef _STREAM_COMPAT
-void ios::close()
-{
- if (_strbuf->_flags & _IO_IS_FILEBUF)
- ((struct filebuf*)rdbuf())->close();
- else if (_strbuf != NULL)
- rdbuf()->sync();
- _strbuf = NULL;
- _state = badbit;
-}
-
-int istream::skip(int i)
-{
- int old = (_flags & ios::skipws) != 0;
- if (i)
- _flags |= ios::skipws;
- else
- _flags &= ~ios::skipws;
- return old;
-}
-#endif
diff --git a/contrib/libio/iostream.h b/contrib/libio/iostream.h
deleted file mode 100644
index 19fbf8a..0000000
--- a/contrib/libio/iostream.h
+++ /dev/null
@@ -1,273 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#ifndef _IOSTREAM_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-#define _IOSTREAM_H
-
-#include <streambuf.h>
-
-extern "C++" {
-class istream; class ostream;
-typedef ios& (*__manip)(ios&);
-typedef istream& (*__imanip)(istream&);
-typedef ostream& (*__omanip)(ostream&);
-
-extern istream& ws(istream& ins);
-extern ostream& flush(ostream& outs);
-extern ostream& endl(ostream& outs);
-extern ostream& ends(ostream& outs);
-
-class ostream : virtual public ios
-{
- // NOTE: If fields are changed, you must fix _fake_ostream in stdstreams.C!
- void do_osfx();
- public:
- ostream() { }
- ostream(streambuf* sb, ostream* tied=NULL);
- int opfx() {
- if (!good()) return 0;
- else { if (_tie) _tie->flush(); _IO_flockfile(_strbuf); return 1;} }
- void osfx() { _IO_funlockfile(_strbuf);
- if (flags() & (ios::unitbuf|ios::stdio))
- do_osfx(); }
- ostream& flush();
- ostream& put(char c) { _strbuf->sputc(c); return *this; }
-#ifdef _STREAM_COMPAT
- /* Temporary binary compatibility. REMOVE IN NEXT RELEASE. */
- ostream& put(unsigned char c) { return put((char)c); }
- ostream& put(signed char c) { return put((char)c); }
-#endif
- ostream& write(const char *s, streamsize n);
- ostream& write(const unsigned char *s, streamsize n)
- { return write((const char*)s, n);}
- ostream& write(const signed char *s, streamsize n)
- { return write((const char*)s, n);}
- ostream& write(const void *s, streamsize n)
- { return write((const char*)s, n);}
- ostream& seekp(streampos);
- ostream& seekp(streamoff, _seek_dir);
- streampos tellp();
- ostream& form(const char *format ...);
- ostream& vform(const char *format, _IO_va_list args);
-
- ostream& operator<<(char c);
- ostream& operator<<(unsigned char c) { return (*this) << (char)c; }
- ostream& operator<<(signed char c) { return (*this) << (char)c; }
- ostream& operator<<(const char *s);
- ostream& operator<<(const unsigned char *s)
- { return (*this) << (const char*)s; }
- ostream& operator<<(const signed char *s)
- { return (*this) << (const char*)s; }
- ostream& operator<<(const void *p);
- ostream& operator<<(int n);
- ostream& operator<<(unsigned int n);
- ostream& operator<<(long n);
- ostream& operator<<(unsigned long n);
-#if defined(__GNUC__)
- __extension__ ostream& operator<<(long long n);
- __extension__ ostream& operator<<(unsigned long long n);
-#endif
- ostream& operator<<(short n) {return operator<<((int)n);}
- ostream& operator<<(unsigned short n) {return operator<<((unsigned int)n);}
-#if _G_HAVE_BOOL
- ostream& operator<<(bool b) { return operator<<((int)b); }
-#endif
- ostream& operator<<(double n);
- ostream& operator<<(float n) { return operator<<((double)n); }
-#if _G_HAVE_LONG_DOUBLE_IO
- ostream& operator<<(long double n);
-#else
- ostream& operator<<(long double n) { return operator<<((double)n); }
-#endif
- ostream& operator<<(__omanip func) { return (*func)(*this); }
- ostream& operator<<(__manip func) {(*func)(*this); return *this;}
- ostream& operator<<(streambuf*);
-#ifdef _STREAM_COMPAT
- streambuf* ostreambuf() const { return _strbuf; }
-#endif
-};
-
-class istream : virtual public ios
-{
- // NOTE: If fields are changed, you must fix _fake_istream in stdstreams.C!
-protected:
- _IO_size_t _gcount;
-
- int _skip_ws();
- public:
- istream(): _gcount (0) { }
- istream(streambuf* sb, ostream*tied=NULL);
- istream& get(char* ptr, int len, char delim = '\n');
- istream& get(unsigned char* ptr, int len, char delim = '\n')
- { return get((char*)ptr, len, delim); }
- istream& get(char& c);
- istream& get(unsigned char& c) { return get((char&)c); }
- istream& getline(char* ptr, int len, char delim = '\n');
- istream& getline(unsigned char* ptr, int len, char delim = '\n')
- { return getline((char*)ptr, len, delim); }
- istream& get(signed char& c) { return get((char&)c); }
- istream& get(signed char* ptr, int len, char delim = '\n')
- { return get((char*)ptr, len, delim); }
- istream& getline(signed char* ptr, int len, char delim = '\n')
- { return getline((char*)ptr, len, delim); }
- istream& read(char *ptr, streamsize n);
- istream& read(unsigned char *ptr, streamsize n)
- { return read((char*)ptr, n); }
- istream& read(signed char *ptr, streamsize n)
- { return read((char*)ptr, n); }
- istream& read(void *ptr, streamsize n)
- { return read((char*)ptr, n); }
- istream& get(streambuf& sb, char delim = '\n');
- istream& gets(char **s, char delim = '\n');
- int ipfx(int need = 0) {
- if (!good()) { set(ios::failbit); return 0; }
- else {
- _IO_flockfile(_strbuf);
- if (_tie && (need == 0 || rdbuf()->in_avail() < need)) _tie->flush();
- if (!need && (flags() & ios::skipws)) return _skip_ws();
- else return 1;
- }
- }
- int ipfx0() { // Optimized version of ipfx(0).
- if (!good()) { set(ios::failbit); return 0; }
- else {
- _IO_flockfile(_strbuf);
- if (_tie) _tie->flush();
- if (flags() & ios::skipws) return _skip_ws();
- else return 1;
- }
- }
- int ipfx1() { // Optimized version of ipfx(1).
- if (!good()) { set(ios::failbit); return 0; }
- else {
- _IO_flockfile(_strbuf);
- if (_tie && rdbuf()->in_avail() == 0) _tie->flush();
- return 1;
- }
- }
- void isfx() { _IO_funlockfile(_strbuf); }
- int get() { if (!ipfx1()) return EOF;
- else { int ch = _strbuf->sbumpc();
- if (ch == EOF) set(ios::eofbit);
- isfx();
- return ch;
- } }
- int peek();
- _IO_size_t gcount() { return _gcount; }
- istream& ignore(int n=1, int delim = EOF);
- int sync ();
- istream& seekg(streampos);
- istream& seekg(streamoff, _seek_dir);
- streampos tellg();
- istream& putback(char ch) {
- if (good() && _strbuf->sputbackc(ch) == EOF) clear(ios::badbit);
- return *this;}
- istream& unget() {
- if (good() && _strbuf->sungetc() == EOF) clear(ios::badbit);
- return *this;}
- istream& scan(const char *format ...);
- istream& vscan(const char *format, _IO_va_list args);
-#ifdef _STREAM_COMPAT
- istream& unget(char ch) { return putback(ch); }
- int skip(int i);
- streambuf* istreambuf() const { return _strbuf; }
-#endif
-
- istream& operator>>(char*);
- istream& operator>>(unsigned char* p) { return operator>>((char*)p); }
- istream& operator>>(signed char*p) { return operator>>((char*)p); }
- istream& operator>>(char& c);
- istream& operator>>(unsigned char& c) {return operator>>((char&)c);}
- istream& operator>>(signed char& c) {return operator>>((char&)c);}
- istream& operator>>(int&);
- istream& operator>>(long&);
-#if defined(__GNUC__)
- __extension__ istream& operator>>(long long&);
- __extension__ istream& operator>>(unsigned long long&);
-#endif
- istream& operator>>(short&);
- istream& operator>>(unsigned int&);
- istream& operator>>(unsigned long&);
- istream& operator>>(unsigned short&);
-#if _G_HAVE_BOOL
- istream& operator>>(bool&);
-#endif
- istream& operator>>(float&);
- istream& operator>>(double&);
- istream& operator>>(long double&);
- istream& operator>>( __manip func) {(*func)(*this); return *this;}
- istream& operator>>(__imanip func) { return (*func)(*this); }
- istream& operator>>(streambuf*);
-};
-
-class iostream : public istream, public ostream
-{
- public:
- iostream() { }
- iostream(streambuf* sb, ostream*tied=NULL);
-};
-
-class _IO_istream_withassign : public istream {
-public:
- _IO_istream_withassign& operator=(istream&);
- _IO_istream_withassign& operator=(_IO_istream_withassign& rhs)
- { return operator= (static_cast<istream&> (rhs)); }
-};
-
-class _IO_ostream_withassign : public ostream {
-public:
- _IO_ostream_withassign& operator=(ostream&);
- _IO_ostream_withassign& operator=(_IO_ostream_withassign& rhs)
- { return operator= (static_cast<ostream&> (rhs)); }
-};
-
-extern _IO_istream_withassign cin;
-// clog->rdbuf() == cerr->rdbuf()
-extern _IO_ostream_withassign cout, cerr;
-
-extern _IO_ostream_withassign clog
-#if _G_CLOG_CONFLICT
-__asm__ ("__IO_clog")
-#endif
-;
-
-extern istream& lock(istream& ins);
-extern istream& unlock(istream& ins);
-extern ostream& lock(ostream& outs);
-extern ostream& unlock(ostream& outs);
-
-struct Iostream_init { } ; // Compatibility hack for AT&T library.
-
-inline ios& dec(ios& i)
-{ i.setf(ios::dec, ios::dec|ios::hex|ios::oct); return i; }
-inline ios& hex(ios& i)
-{ i.setf(ios::hex, ios::dec|ios::hex|ios::oct); return i; }
-inline ios& oct(ios& i)
-{ i.setf(ios::oct, ios::dec|ios::hex|ios::oct); return i; }
-} // extern "C++"
-
-#endif /*!_IOSTREAM_H*/
diff --git a/contrib/libio/iostream.texi b/contrib/libio/iostream.texi
deleted file mode 100644
index 641cd7d..0000000
--- a/contrib/libio/iostream.texi
+++ /dev/null
@@ -1,1971 +0,0 @@
-\input texinfo @c -*-Texinfo-*-
-@c Copyright (c) 1993 Free Software Foundation, Inc.
-
-@c %**start of header
-@setfilename iostream.info
-@settitle The GNU C++ Iostream Library
-@setchapternewpage odd
-@c %**end of header
-
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* iostream: (iostream). The C++ input/output facility.
-END-INFO-DIR-ENTRY
-@end format
-
-This file describes libio, the GNU library for C++ iostreams and C stdio.
-
-libio includes software developed by the University of California,
-Berkeley.
-
-Copyright (C) 1993 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-
-@end ignore
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions.
-@end ifinfo
-
-@finalout
-@syncodeindex fn cp
-@syncodeindex vr cp
-
-@titlepage
-@title The GNU C++ Iostream Library
-@subtitle Reference Manual for @code{libio} Version 0.64
-@sp 3
-@author Per Bothner @hfill @code{bothner@@cygnus.com}
-@author Cygnus Support @hfill @code{doc@@cygnus.com}
-@page
-
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1993 Free Software Foundation, Inc.
-
-@code{libio} includes software developed by the University of
-California, Berkeley.
-
-@code{libio} uses floating-point software written by David M. Gay, which
-includes the following notice:
-
-@quotation
-The author of this software is David M. Gay.
-
-Copyright (c) 1991 by AT&T.
-
-Permission to use, copy, modify, and distribute this software for any
-purpose without fee is hereby granted, provided that this entire notice
-is included in all copies of any software which is or includes a copy
-or modification of this software and in all copies of the supporting
-documentation for such software.
-
-THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
-WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
-REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
-OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
-@end quotation
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions.
-@end titlepage
-
-@ifinfo
-@node Top
-@top The GNU C++ Iostream Library
-
-This file provides reference information on the GNU C++ iostream library
-(@code{libio}), version 0.64.
-
-@menu
-* Introduction::
-* Operators:: Operators and default streams.
-* Streams:: Stream classes.
-* Files and Strings:: Classes for files and strings.
-* Streambuf:: Using the streambuf layer.
-* Stdio:: C input and output.
-* Index::
-@end menu
-@end ifinfo
-
-@node Introduction
-@chapter Introduction
-
-The iostream classes implement most of the features of AT&T version 2.0
-iostream library classes, and most of the features of the ANSI X3J16
-library draft (which is based on the AT&T design).
-
-This manual is meant as a reference; for tutorial material on iostreams,
-see the corresponding section of any recent popular introduction to C++.
-
-@menu
-* Copying:: Special GNU licensing terms for libio.
-* Acknowledgements:: Contributors to GNU iostream.
-@end menu
-
-@node Copying
-@section Licensing terms for @code{libio}
-
-Since the @code{iostream} classes are so fundamental to standard C++,
-the Free Software Foundation has agreed to a special exception to its
-standard license, when you link programs with @code{libio.a}:
-
-@quotation
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License.
-@end quotation
-
-The code is under the @sc{gnu} General Public License (version 2) for
-all other purposes than linking with this library; that means that you
-can modify and redistribute the code as usual, but remember that if you
-do, your modifications, and anything you link with the modified code,
-must be available to others on the same terms.
-
-These functions are also available as part of the @code{libg++}
-library; if you link with that library instead of @code{libio}, the
-@sc{gnu} Library General Public License applies.
-
-@node Acknowledgements
-@section Acknowledgements
-
-Per Bothner wrote most of the @code{iostream} library, but some portions
-have their origins elsewhere in the free software community. Heinz
-Seidl wrote the IO manipulators. The floating-point conversion software
-is by David M. Gay of AT&T. Some code was derived from parts of BSD
-4.4, which was written at the University of California, Berkeley.
-
-The iostream classes are found in the @code{libio} library. An early
-version was originally distributed in @code{libg++}, and they are still
-included there as well, for convenience if you need other @code{libg++}
-classes. Doug Lea was the original author of @code{libg++}, and some of
-the file-management code still in @code{libio} is his.
-
-Various people found bugs or offered suggestions. Hongjiu Lu worked
-hard to use the library as the default stdio implementation for Linux,
-and has provided much stress-testing of the library.
-
-@node Operators
-@chapter Operators and Default Streams
-
-The @sc{gnu} iostream library, @file{libio}, implements the standard
-input and output facilities for C++. These facilities are roughly
-analogous (in their purpose and ubiquity, at least) with those defined
-by the C @file{stdio} functions.
-
-Although these definitions come from a library, rather than being part
-of the ``core language'', they are sufficiently central to be specified
-in the latest working papers for C++.
-
-You can use two operators defined in this library for basic input and
-output operations. They are familiar from any C++ introductory
-textbook: @code{<<} for output, and @code{>>} for input. (Think of data
-flowing in the direction of the ``arrows''.)
-
-These operators are often used in conjunction with three streams that
-are open by default:
-
-@deftypevar ostream cout
-The standard output stream, analogous to the C @code{stdout}.
-@end deftypevar
-
-@deftypevar istream cin
-The standard input stream, analogous to the C @code{stdin}.
-@end deftypevar
-
-@deftypevar ostream cerr
-An alternative output stream for errors, analogous to the C
-@code{stderr}.
-@end deftypevar
-
-@noindent
-For example, this bare-bones C++ version of the traditional ``hello''
-program uses @code{<<} and @code{cout}:
-
-@example
-#include <iostream.h>
-
-int main(int argc, char **argv)
-@{
- cout << "Well, hi there.\n";
- return 0;
-@}
-@end example
-
-Casual use of these operators may be seductive, but---other than in
-writing throwaway code for your own use---it is not necessarily simpler
-than managing input and output in any other language. For example,
-robust code should check the state of the input and output streams
-between operations (for example, using the method @code{good}).
-@xref{States,,Checking the state of a stream}. You may also need to
-adjust maximum input or output field widths, using manipulators like
-@code{setw} or @code{setprecision}.
-
-@defop Operator ostream <<
-Write output to an open output stream of class @code{ostream}.
-Defined by this library on any @var{object} of a C++ primitive type, and
-on other classes of the library. You can overload the definition for any
-of your own applications' classes.
-
-Returns a reference to the implied argument @code{*this} (the open stream it
-writes on), permitting statements like
-@example
-cout << "The value of i is " << i << "\n";
-@end example
-@end defop
-
-@defop Operator istream >>
-Read input from an open input stream of class @code{istream}. Defined
-by this library on primitive numeric, pointer, and string types; you can
-extend the definition for any of your own applications' classes.
-
-Returns a reference to the implied argument @code{*this} (the open stream
-it reads), permitting multiple inputs in one statement.
-@end defop
-
-@node Streams
-@chapter Stream Classes
-
-The previous chapter referred in passing to the classes @code{ostream}
-and @code{istream}, for output and input respectively. These classes
-share certain properties, captured in their base class @code{ios}.
-
-@menu
-* Ios:: Shared properties.
-* Ostream:: Managing output streams.
-* Istream:: Managing input streams.
-* Iostream:: Input and output together.
-@end menu
-
-@node Ios
-@section Shared properties: class @code{ios}
-
-The base class @code{ios} provides methods to test and manage the state
-of input or output streams.
-
-@code{ios} delegates the job of actually reading and writing bytes to
-the abstract class @code{streambuf}, which is designed to provide
-buffered streams (compatible with C, in the @sc{gnu} implementation).
-@xref{Streambuf,,Using the @code{streambuf} layer}, for information on
-the facilities available at the @code{streambuf} level.
-
-@deftypefn Constructor {} ios::ios ([streambuf* @var{sb} @w{[, ostream*} @var{tie}])
-The @code{ios} constructor by default initializes a new @code{ios}, and
-if you supply a @code{streambuf} @var{sb} to associate with it, sets the
-state @code{good} in the new @code{ios} object. It also sets the
-default properties of the new object.
-
-@ignore
-@c FIXME--future: this (a) doesn't work, (b) is controversial at ANSI
-An @code{ios} without a @code{streambuf} has the state @code{bad} until
-you supply a @code{streambuf}; you can do that by assigning a new value
-to the @code{ios} with @samp{=}.
-@end ignore
-
-You can also supply an optional second argument @var{tie} to the
-constructor: if present, it is an initial value for @code{ios::tie}, to
-associate the new @code{ios} object with another stream.
-@end deftypefn
-
-@deftypefn Destructor {} ios::~ios ()
-The @code{ios} destructor is virtual, permitting application-specific
-behavior when a stream is closed---typically, the destructor frees any
-storage associated with the stream and releases any other associated
-objects.
-@end deftypefn
-
-@c FIXME-future: Is @deftypefn really the best way of displaying these?
-
-@c FIXME-future: Undocumented: ios::_throw_failure, ios::exceptions; things
-@c controlled by _STREAM_COMPAT; ios::Init; ios::_IO_fix_vtable.
-
-@menu
-* States:: Checking the state of a stream.
-* Format Control:: Choices in formatting.
-* Manipulators:: Convenient ways of changing stream properties.
-* Extending:: Extended data fields.
-* Synchronization:: Synchronizing related streams.
-* Streambuf from Ios:: Reaching the underlying streambuf.
-@end menu
-
-@node States
-@subsection Checking the state of a stream
-
-Use this collection of methods to test for (or signal) errors and other
-exceptional conditions of streams:
-
-@deftypefn Method {ios::operator void*} () const
-You can do a quick check on the state of the most recent operation on a
-stream by examining a pointer to the stream itself. The pointer is
-arbitrary except for its truth value; it is true if no failures have
-occurred (@code{ios::fail} is not true). For example, you might ask for
-input on @code{cin} only if all prior output operations succeeded:
-
-@example
-if (cout)
-@{
- // Everything OK so far
- cin >> new_value;
- @dots{}
-@}
-@end example
-@end deftypefn
-
-@deftypefn Method {ios::operator !} () const
-In case it is more convenient to check whether something has failed, the
-operator @code{!} returns true if @code{ios::fail} is true (an operation
-has failed). For example,
-you might issue an error message if input failed:
-
-@example
-if (!cin)
-@{
- // Oops
- cerr << "Eh?\n";
-@}
-@end example
-@end deftypefn
-
-@deftypefn Method iostate ios::rdstate () const
-Return the state flags for this stream. The value is from the
-enumeration @code{iostate}. You can test for any combination of
-
-@vtable @code
-@item goodbit
-There are no indications of exceptional states on this stream.
-
-@item eofbit
-End of file.
-
-@item failbit
-An operation has failed on this stream; this usually indicates bad
-format of input.
-
-@item badbit
-The stream is unusable.
-@end vtable
-@end deftypefn
-
-@deftypefn Method void ios::setstate (iostate @var{state})
-@findex ios::set
-Set the state flag for this stream to @var{state} @emph{in addition to}
-any state flags already set. Synonym (for upward compatibility):
-@code{ios::set}.
-
-See @code{ios::clear} to set the stream state without regard to existing
-state flags. See @code{ios::good}, @code{ios::eof}, @code{ios::fail},
-and @code{ios::bad}, to test the state.
-@end deftypefn
-
-@deftypefn Method int ios::good () const
-Test the state flags associated with this stream; true if no error
-indicators are set.
-@end deftypefn
-
-@deftypefn Method int ios::bad () const
-Test whether a stream is marked as unusable. (Whether
-@code{ios::badbit} is set.)
-@end deftypefn
-
-@deftypefn Method int ios::eof () const
-True if end of file was reached on this stream. (If @code{ios::eofbit}
-is set.)
-@end deftypefn
-
-@deftypefn Method int ios::fail () const
-Test for any kind of failure on this stream: @emph{either} some
-operation failed, @emph{or} the stream is marked as bad. (If either
-@code{ios::failbit} or @code{ios::badbit} is set.)
-@end deftypefn
-
-@deftypefn Method void ios::clear (iostate @var{state})
-@c FIXME-future: There is some complication to do with buffering and _throw_failure
-Set the state indication for this stream to the argument @var{state}.
-You may call @code{ios::clear} with no argument, in which case the state
-is set to @code{good} (no errors pending).
-
-See @code{ios::good}, @code{ios::eof}, @code{ios::fail}, and
-@code{ios::bad}, to test the state; see @code{ios::set} or
-@code{ios::setstate} for an alternative way of setting the state.
-@end deftypefn
-
-@node Format Control
-@subsection Choices in formatting
-
-These methods control (or report on) settings for some details of
-controlling streams, primarily to do with formatting output:
-
-@deftypefn Method char ios::fill () const
-Report on the padding character in use.
-@end deftypefn
-
-@deftypefn Method char ios::fill (char @var{padding})
-Set the padding character. You can also use the manipulator
-@code{setfill}. @xref{Manipulators,,Changing stream properties in
-expressions}.
-
-Default: blank.
-@end deftypefn
-
-@deftypefn Method int ios::precision () const
-Report the number of significant digits currently in use for output of
-floating point numbers.
-
-Default: @code{6}.
-@end deftypefn
-
-@deftypefn Method int ios::precision (int @var{signif})
-Set the number of significant digits (for input and output numeric
-conversions) to @var{signif}.
-
-@findex setprecision
-@cindex setting @code{ios::precision}
-You can also use the manipulator @code{setprecision} for this purpose.
-@xref{Manipulators,,Changing stream properties using manipulators}.
-@end deftypefn
-
-@deftypefn Method int ios::width () const
-Report the current output field width setting (the number of
-characters to write on the next @samp{<<} output operation).
-
-Default: @code{0}, which means to use as many characters as necessary.
-@end deftypefn
-
-@deftypefn Method int ios::width (int @var{num})
-Set the input field width setting to @var{num}. Return the
-@emph{previous} value for this stream.
-
-@findex setw
-@cindex setting @code{ios::width}
-This value resets to zero (the default) every time you use @samp{<<}; it is
-essentially an additional implicit argument to that operator. You can
-also use the manipulator @code{setw} for this purpose.
-@xref{Manipulators,,Changing stream properties using manipulators}.
-@end deftypefn
-
-@need 2000
-@deftypefn Method fmtflags ios::flags () const
-Return the current value of the complete collection of flags controlling
-the format state. These are the flags and their meanings when set:
-
-@vtable @code
-@item ios::dec
-@itemx ios::oct
-@itemx ios::hex
-What numeric base to use in converting integers from internal to display
-representation, or vice versa: decimal, octal, or hexadecimal,
-respectively. (You can change the base using the manipulator
-@code{setbase}, or any of the manipulators @code{dec}, @code{oct}, or
-@code{hex}; @pxref{Manipulators,,Changing stream properties in
-expressions}.)
-
-On input, if none of these flags is set, read numeric constants
-according to the prefix: decimal if no prefix (or a @samp{.} suffix),
-octal if a @samp{0} prefix is present, hexadecimal if a @samp{0x} prefix
-is present.
-
-Default: @code{dec}.
-
-@item ios::fixed
-Avoid scientific notation, and always show a fixed number of digits after
-the decimal point, according to the output precision in effect.
-Use @code{ios::precision} to set precision.
-
-@item ios::left
-@itemx ios::right
-@itemx ios::internal
-Where output is to appear in a fixed-width field; left-justified,
-right-justified, or with padding in the middle (e.g. between a numeric
-sign and the associated value), respectively.
-
-@item ios::scientific
-Use scientific (exponential) notation to display numbers.
-
-@item ios::showbase
-Display the conventional prefix as a visual indicator of the conversion
-base: no prefix for decimal, @samp{0} for octal, @samp{0x} for hexadecimal.
-
-@item ios::showpoint
-Display a decimal point and trailing zeros after it to fill out numeric
-fields, even when redundant.
-
-@item ios::showpos
-Display a positive sign on display of positive numbers.
-
-@item ios::skipws
-Skip white space. (On by default).
-
-@item ios::stdio
-Flush the C @code{stdio} streams @code{stdout} and @code{stderr} after
-each output operation (for programs that mix C and C++ output conventions).
-
-@item ios::unitbuf
-Flush after each output operation.
-
-@item ios::uppercase
-Use upper-case characters for the non-numeral elements in numeric
-displays; for instance, @samp{0X7A} rather than @samp{0x7a}, or
-@samp{3.14E+09} rather than @samp{3.14e+09}.
-@end vtable
-@end deftypefn
-
-@deftypefn Method fmtflags ios::flags (fmtflags @var{value})
-Set @var{value} as the complete collection of flags controlling the
-format state. The flag values are described under @samp{ios::flags ()}.
-
-Use @code{ios::setf} or @code{ios::unsetf} to change one property at a
-time.
-@end deftypefn
-
-@deftypefn Method fmtflags ios::setf (fmtflags @var{flag})
-Set one particular flag (of those described for @samp{ios::flags ()};
-return the complete collection of flags @emph{previously} in effect.
-(Use @code{ios::unsetf} to cancel.)
-@end deftypefn
-
-@deftypefn Method fmtflags ios::setf (fmtflags @var{flag}, fmtflags @var{mask})
-Clear the flag values indicated by @var{mask}, then set any of them that
-are also in @var{flag}. (Flag values are described for @samp{ios::flags
-()}.) Return the complete collection of flags @emph{previously} in
-effect. (See @code{ios::unsetf} for another way of clearing flags.)
-@end deftypefn
-
-@deftypefn Method fmtflags ios::unsetf (fmtflags @var{flag})
-Make certain @var{flag} (a combination of flag values described for
-@samp{ios::flags ()}) is not set for this stream; converse of
-@code{ios::setf}. Returns the old values of those flags.
-@c FIXME-future: should probably be fixed to give same result as setf.
-@end deftypefn
-
-@node Manipulators
-@subsection Changing stream properties using manipulators
-
-For convenience, @var{manipulators} provide a way to change certain
-properties of streams, or otherwise affect them, in the middle of
-expressions involving @samp{<<} or @samp{>>}. For example, you might
-write
-
-@example
-cout << "|" << setfill('*') << setw(5) << 234 << "|";
-@end example
-
-@noindent
-to produce @samp{|**234|} as output.
-
-@deftypefn Manipulator {} ws
-Skip whitespace.
-@end deftypefn
-
-@deftypefn Manipulator {} flush
-Flush an output stream. For example, @samp{cout << @dots{} <<flush;}
-has the same effect as @samp{cout << @dots{}; cout.flush();}.
-@end deftypefn
-
-@deftypefn Manipulator {} endl
-Write an end of line character @samp{\n}, then flushes the output stream.
-@end deftypefn
-
-@deftypefn Manipulator {} ends
-Write @samp{\0} (the string terminator character).
-@end deftypefn
-
-@deftypefn Manipulator {} setprecision (int @var{signif})
-You can change the value of @code{ios::precision} in @samp{<<}
-expressions with the manipulator @samp{setprecision(@var{signif})}; for
-example,
-
-@example
-cout << setprecision(2) << 4.567;
-@end example
-
-@noindent
-prints @samp{4.6}. Requires @file{#include <iomanip.h>}.
-@end deftypefn
-
-@deftypefn Manipulator {} setw (int @var{n})
-You can change the value of @code{ios::width} in @samp{<<} expressions
-with the manipulator @samp{setw(@var{n})}; for example,
-
-@example
-cout << setw(5) << 234;
-@end example
-
-@noindent
-prints @w{@samp{ 234}} with two leading blanks. Requires @file{#include
-<iomanip.h>}.
-@end deftypefn
-
-@deftypefn Manipulator {} setbase (int @var{base})
-Where @var{base} is one of @code{10} (decimal), @code{8} (octal), or
-@code{16} (hexadecimal), change the base value for numeric
-representations. Requires @file{#include <iomanip.h>}.
-@end deftypefn
-
-@deftypefn Manipulator {} dec
-Select decimal base; equivalent to @samp{setbase(10)}.
-@end deftypefn
-
-@deftypefn Manipulator {} hex
-Select hexadecimal base; equivalent to @samp{setbase(16)}.
-@end deftypefn
-
-@deftypefn Manipulator {} oct
-Select octal base; equivalent to @samp{setbase(8)}.
-@end deftypefn
-
-@deftypefn Manipulator {} setfill (char @var{padding})
-Set the padding character, in the same way as @code{ios::fill}.
-Requires @file{#include <iomanip.h>}.
-@end deftypefn
-
-@node Extending
-@subsection Extended data fields
-
-A related collection of methods allows you to extend this collection of
-flags and parameters for your own applications, without risk of conflict
-between them:
-
-@deftypefn Method {static fmtflags} ios::bitalloc ()
-Reserve a bit (the single bit on in the result) to use as a flag. Using
-@code{bitalloc} guards against conflict between two packages that use
-@code{ios} objects for different purposes.
-
-This method is available for upward compatibility, but is not in the
-@sc{ansi} working paper. The number of bits available is limited; a
-return value of @code{0} means no bit is available.
-@end deftypefn
-
-@deftypefn Method {static int} ios::xalloc ()
-Reserve space for a long integer or pointer parameter. The result is a
-unique nonnegative integer. You can use it as an index to
-@code{ios::iword} or @code{ios::pword}. Use @code{xalloc} to arrange
-for arbitrary special-purpose data in your @code{ios} objects, without
-risk of conflict between packages designed for different purposes.
-@end deftypefn
-
-@deftypefn Method long& ios::iword (int @var{index})
-Return a reference to arbitrary data, of long integer type, stored in an
-@code{ios} instance. @var{index}, conventionally returned from
-@code{ios::xalloc}, identifies what particular data you need.
-@end deftypefn
-
-@deftypefn Method long ios::iword (int @var{index}) const
-Return the actual value of a long integer stored in an @code{ios}.
-@end deftypefn
-
-@deftypefn Method void*& ios::pword (int @var{index})
-Return a reference to an arbitrary pointer, stored in an @code{ios}
-instance. @var{index}, originally returned from @code{ios::xalloc},
-identifies what particular pointer you need.
-@end deftypefn
-
-@deftypefn Method void* ios::pword (int @var{index}) const
-Return the actual value of a pointer stored in an @code{ios}.
-@end deftypefn
-
-@node Synchronization
-@subsection Synchronizing related streams
-
-You can use these methods to synchronize related streams with
-one another:
-
-@deftypefn Method ostream* ios::tie () const
-Report on what output stream, if any, is to be flushed before accessing
-this one. A pointer value of @code{0} means no stream is tied.
-@end deftypefn
-
-@deftypefn Method ostream* ios::tie (ostream* @var{assoc})
-Declare that output stream @var{assoc} must be flushed before accessing
-this stream.
-@end deftypefn
-
-@deftypefn Method int ios::sync_with_stdio ([int @var{switch}])
-Unless iostreams and C @code{stdio} are designed to work together, you
-may have to choose between efficient C++ streams output and output
-compatible with C @code{stdio}. Use @samp{ios::sync_with_stdio()} to
-select C compatibility.
-
-The argument @var{switch} is a @sc{gnu} extension; use @code{0} as the
-argument to choose output that is not necessarily compatible with C
-@code{stdio}. The default value for @var{switch} is @code{1}.
-
-If you install the @code{stdio} implementation that comes with @sc{gnu}
-@code{libio}, there are compatible input/output facilities for both C
-and C++. In that situation, this method is unnecessary---but you may
-still want to write programs that call it, for portability.
-@end deftypefn
-
-@node Streambuf from Ios
-@subsection Reaching the underlying @code{streambuf}
-
-Finally, you can use this method to access the underlying object:
-
-@deftypefn Method streambuf* ios::rdbuf () const
-Return a pointer to the @code{streambuf} object that underlies this
-@code{ios}.
-@end deftypefn
-
-@node Ostream
-@section Managing output streams: class @code{ostream}
-
-Objects of class @code{ostream} inherit the generic methods from
-@code{ios}, and in addition have the following methods available.
-Declarations for this class come from @file{iostream.h}.
-
-@deftypefn Constructor {} ostream::ostream ()
-The simplest form of the constructor for an @code{ostream} simply
-allocates a new @code{ios} object.
-@end deftypefn
-
-@deftypefn Constructor {} ostream::ostream (streambuf* @var{sb} @w{[, ostream} @var{tie}])
-This alternative constructor requires a first argument @var{sb} of type
-@code{streambuf*}, to use an existing open stream for output. It also
-accepts an optional second argument @var{tie}, to specify a related
-@code{ostream*} as the initial value for @code{ios::tie}.
-
-If you give the @code{ostream} a @code{streambuf} explicitly, using
-this constructor, the @var{sb} is @emph{not} destroyed (or deleted or
-closed) when the @code{ostream} is destroyed.
-@end deftypefn
-
-@menu
-* Writing:: Writing on an ostream.
-* Output Position:: Repositioning an ostream.
-* Ostream Housekeeping:: Miscellaneous ostream utilities.
-@end menu
-
-@node Writing
-@subsection Writing on an @code{ostream}
-
-These methods write on an @code{ostream} (you may also use the operator
-@code{<<}; @pxref{Operators,,Operators and Default Streams}).
-
-@deftypefn Method ostream& ostream::put (char @var{c})
-Write the single character @var{c}.
-@end deftypefn
-
-@deftypefn Method ostream& ostream::write (@var{string}, int @var{length})
-Write @var{length} characters of a string to this @code{ostream},
-beginning at the pointer @var{string}.
-
-@var{string} may have any of these types: @code{char*}, @code{unsigned
-char*}, @code{signed char*}.
-@end deftypefn
-
-@deftypefn Method ostream& ostream::form (const char *@var{format}, ...)
-A @sc{gnu} extension, similar to @code{fprintf(@var{file},
-@var{format}, ...)}.
-
-@var{format} is a @code{printf}-style format control string, which is used
-to format the (variable number of) arguments, printing the result on
-this @code{ostream}. See @code{ostream::vform} for a version that uses
-an argument list rather than a variable number of arguments.
-@end deftypefn
-
-@deftypefn Method ostream& ostream::vform (const char *@var{format}, va_list @var{args})
-A @sc{gnu} extension, similar to @code{vfprintf(@var{file},
-@var{format}, @var{args})}.
-
-@var{format} is a @code{printf}-style format control string, which is used
-to format the argument list @var{args}, printing the result on
-this @code{ostream}. See @code{ostream::form} for a version that uses a
-variable number of arguments rather than an argument list.
-@end deftypefn
-
-@node Output Position
-@subsection Repositioning an @code{ostream}
-
-You can control the output position (on output streams that actually
-support positions, typically files) with these methods:
-@c FIXME-future: sort out which classes support this and which
-@c don't; fstream, filebuf? And what is failure condition when not supported?
-
-@deftypefn Method streampos ostream::tellp ()
-Return the current write position in the stream.
-@end deftypefn
-
-@deftypefn Method ostream& ostream::seekp (streampos @var{loc})
-Reset the output position to @var{loc} (which is usually the result of a
-previous call to @code{ostream::tellp}). @var{loc} specifies an
-absolute position in the output stream.
-@end deftypefn
-
-@deftypefn Method ostream& ostream::seekp (streamoff @var{loc}, @var{rel})
-@findex ios::seekdir
-Reset the output position to @var{loc}, relative to the beginning, end,
-or current output position in the stream, as indicated by @var{rel} (a
-value from the enumeration @code{ios::seekdir}):
-
-@vtable @code
-@item beg
-Interpret @var{loc} as an absolute offset from the beginning of the
-file.
-
-@item cur
-Interpret @var{loc} as an offset relative to the current output
-position.
-
-@item end
-Interpret @var{loc} as an offset from the current end of the output
-stream.
-@end vtable
-@end deftypefn
-
-@node Ostream Housekeeping
-@subsection Miscellaneous @code{ostream} utilities
-
-You may need to use these @code{ostream} methods for housekeeping:
-
-@deftypefn Method ostream& flush ()
-Deliver any pending buffered output for this @code{ostream}.
-@end deftypefn
-
-@deftypefn Method int ostream::opfx ()
-@code{opfx} is a @dfn{prefix} method for operations on @code{ostream}
-objects; it is designed to be called before any further processing. See
-@code{ostream::osfx} for the converse.
-@c FIXME-future: specify sometime which methods start with opfx.
-
-@code{opfx} tests that the stream is in state @code{good}, and if so
-flushes any stream tied to this one.
-
-The result is @code{1} when @code{opfx} succeeds; else (if the stream state is
-not @code{good}), the result is @code{0}.
-@end deftypefn
-
-@deftypefn Method void ostream::osfx ()
-@code{osfx} is a @dfn{suffix} method for operations on @code{ostream}
-objects; it is designed to be called at the conclusion of any processing. All
-the @code{ostream} methods end by calling @code{osfx}. See
-@code{ostream::opfx} for the converse.
-
-If the @code{unitbuf} flag is set for this stream, @code{osfx} flushes
-any buffered output for it.
-
-If the @code{stdio} flag is set for this stream, @code{osfx} flushes any
-output buffered for the C output streams @file{stdout} and @file{stderr}.
-@end deftypefn
-
-@node Istream
-@section Managing input streams: class @code{istream}
-
-Class @code{istream} objects are specialized for input; as for
-@code{ostream}, they are derived from @code{ios}, so you can use any of
-the general-purpose methods from that base class. Declarations for this
-class also come from @file{iostream.h}.
-
-@deftypefn Constructor {} istream::istream ()
-When used without arguments, the @code{istream} constructor simply
-allocates a new @code{ios} object and initializes the input counter (the
-value reported by @code{istream::gcount}) to @code{0}.
-@end deftypefn
-
-@deftypefn Constructor {} istream::istream (streambuf *@var{sb} @w{[, ostream} @var{tie}])
-You can also call the constructor with one or two arguments. The first
-argument @var{sb} is a @code{streambuf*}; if you supply this pointer,
-the constructor uses that @code{streambuf} for input.
-You can use the second optional argument @var{tie} to specify a related
-output stream as the initial value for @code{ios::tie}.
-
-If you give the @code{istream} a @code{streambuf} explicitly, using
-this constructor, the @var{sb} is @emph{not} destroyed (or deleted or
-closed) when the @code{ostream} is destroyed.
-@end deftypefn
-
-@menu
-* Char Input:: Reading one character.
-* String Input:: Reading strings.
-* Input Position:: Repositioning an istream.
-* Istream Housekeeping:: Miscellaneous istream utilities.
-@end menu
-
-@node Char Input
-@subsection Reading one character
-
-Use these methods to read a single character from the input stream:
-
-@deftypefn Method int istream::get ()
-Read a single character (or @code{EOF}) from the input stream, returning
-it (coerced to an unsigned char) as the result.
-@end deftypefn
-
-@deftypefn Method istream& istream::get (char& @var{c})
-Read a single character from the input stream, into @code{&@var{c}}.
-@end deftypefn
-
-@deftypefn Method int istream::peek ()
-Return the next available input character, but @emph{without} changing
-the current input position.
-@end deftypefn
-
-@node String Input
-@subsection Reading strings
-
-Use these methods to read strings (for example, a line at a time) from
-the input stream:
-
-@deftypefn Method istream& istream::get (char* @var{c}, int @var{len} @w{[, char} @var{delim}])
-Read a string from the input stream, into the array at @var{c}.
-
-The remaining arguments limit how much to read: up to @samp{len-1}
-characters, or up to (but not including) the first occurrence in the
-input of a particular delimiter character @var{delim}---newline
-(@code{\n}) by default. (Naturally, if the stream reaches end of file
-first, that too will terminate reading.)
-
-If @var{delim} was present in the input, it remains available as if
-unread; to discard it instead, see @code{iostream::getline}.
-
-@code{get} writes @samp{\0} at the end of the string, regardless
-of which condition terminates the read.
-@end deftypefn
-
-@deftypefn Method istream& istream::get (streambuf& @var{sb} @w{[, char} @var{delim}])
-Read characters from the input stream and copy them on the
-@code{streambuf} object @var{sb}. Copying ends either just before the
-next instance of the delimiter character @var{delim} (newline @code{\n}
-by default), or when either stream ends. If @var{delim} was present in
-the input, it remains available as if unread.
-@end deftypefn
-
-@deftypefn Method istream& istream::getline (@var{charptr}, int @var{len} @w{[, char} @var{delim}])
-Read a line from the input stream, into the array at @var{charptr}.
-@var{charptr} may be any of three kinds of pointer: @code{char*},
-@code{unsigned char*}, or @code{signed char*}.
-
-The remaining arguments limit how much to read: up to (but not
-including) the first occurrence in the input of a line delimiter
-character @var{delim}---newline (@code{\n}) by default, or up to
-@samp{len-1} characters (or to end of file, if that happens sooner).
-
-If @code{getline} succeeds in reading a ``full line'', it also discards
-the trailing delimiter character from the input stream. (To preserve it
-as available input, see the similar form of @code{iostream::get}.)
-
-If @var{delim} was @emph{not} found before @var{len} characters or end
-of file, @code{getline} sets the @code{ios::fail} flag, as well as the
-@code{ios::eof} flag if appropriate.
-
-@code{getline} writes a null character at the end of the string, regardless
-of which condition terminates the read.
-@end deftypefn
-
-@deftypefn Method istream& istream::read (@var{pointer}, int @var{len})
-Read @var{len} bytes into the location at @var{pointer}, unless the
-input ends first.
-
-@var{pointer} may be of type @code{char*}, @code{void*}, @code{unsigned
-char*}, or @code{signed char*}.
-
-If the @code{istream} ends before reading @var{len} bytes, @code{read}
-sets the @code{ios::fail} flag.
-@end deftypefn
-
-@deftypefn Method istream& istream::gets (char **@var{s} @w{[, char} @var{delim}])
-A @sc{gnu} extension, to read an arbitrarily long string
-from the current input position to the next instance of the @var{delim}
-character (newline @code{\n} by default).
-
-To permit reading a string of arbitrary length, @code{gets} allocates
-whatever memory is required. Notice that the first argument @var{s} is
-an address to record a character pointer, rather than the pointer
-itself.
-@end deftypefn
-
-@deftypefn Method istream& istream::scan (const char *format ...)
-A @sc{gnu} extension, similar to @code{fscanf(@var{file},
-@var{format}, ...)}. The @var{format} is a @code{scanf}-style format
-control string, which is used to read the variables in the remainder of
-the argument list from the @code{istream}.
-@end deftypefn
-
-@deftypefn Method istream& istream::vscan (const char *format, va_list args)
-Like @code{istream::scan}, but takes a single @code{va_list} argument.
-@end deftypefn
-
-@node Input Position
-@subsection Repositioning an @code{istream}
-
-Use these methods to control the current input position:
-
-@deftypefn Method streampos istream::tellg ()
-Return the current read position, so that you can save it and return to
-it later with @code{istream::seekg}.
-@end deftypefn
-
-@deftypefn Method istream& istream::seekg (streampos @var{p})
-Reset the input pointer (if the input device permits it) to @var{p},
-usually the result of an earlier call to @code{istream::tellg}.
-@end deftypefn
-
-@deftypefn Method istream& istream::seekg (streamoff @var{offset}, ios::seek_dir @var{ref})
-Reset the input pointer (if the input device permits it) to @var{offset}
-characters from the beginning of the input, the current position, or the
-end of input. Specify how to interpret @var{offset} with one of these
-values for the second argument:
-
-@vtable @code
-@item ios::beg
-Interpret @var{loc} as an absolute offset from the beginning of the
-file.
-
-@item ios::cur
-Interpret @var{loc} as an offset relative to the current output
-position.
-
-@item ios::end
-Interpret @var{loc} as an offset from the current end of the output
-stream.
-@end vtable
-@end deftypefn
-
-@node Istream Housekeeping
-@subsection Miscellaneous @code{istream} utilities
-
-Use these methods for housekeeping on @code{istream} objects:
-
-@deftypefn Method int istream::gcount ()
-Report how many characters were read from this @code{istream} in the
-last unformatted input operation.
-@c FIXME! Define "unformatted input" somewhere...
-@end deftypefn
-
-@deftypefn Method int istream::ipfx (int @var{keepwhite})
-Ensure that the @code{istream} object is ready for reading; check for
-errors and end of file and flush any tied stream. @code{ipfx} skips
-whitespace if you specify @code{0} as the @var{keepwhite}
-argument, @emph{and} @code{ios::skipws} is set for this stream.
-
-To avoid skipping whitespace (regardless of the @code{skipws} setting on
-the stream), use @code{1} as the argument.
-
-Call @code{istream::ipfx} to simplify writing your own methods for reading
-@code{istream} objects.
-@end deftypefn
-
-@deftypefn Method void istream::isfx ()
-A placeholder for compliance with the draft @sc{ansi} standard; this
-method does nothing whatever.
-
-If you wish to write portable standard-conforming code on @code{istream}
-objects, call @code{isfx} after any operation that reads from an
-@code{istream}; if @code{istream::ipfx} has any special effects that
-must be cancelled when done, @code{istream::isfx} will cancel them.
-@end deftypefn
-
-@deftypefn Method istream& istream::ignore ([int @var{n}] @w{[, int} @var{delim}])
-Discard some number of characters pending input. The first optional
-argument @var{n} specifies how many characters to skip. The second
-optional argument @var{delim} specifies a ``boundary'' character:
-@code{ignore} returns immediately if this character appears in the
-input.
-
-By default, @var{delim} is @code{EOF}; that is, if you do not specify a
-second argument, only the count @var{n} restricts how much to ignore
-(while input is still available).
-
-If you do not specify how many characters to ignore, @code{ignore}
-returns after discarding only one character.
-@end deftypefn
-
-@deftypefn Method istream& istream::putback (char @var{ch})
-Attempts to back up one character, replacing the character backed-up
-over by @var{ch}. Returns @code{EOF} if this is not allowed. Putting
-back the most recently read character is always allowed. (This method
-corresponds to the C function @code{ungetc}.)
-@end deftypefn
-
-@deftypefn Method istream& istream::unget ()
-Attempt to back up one character.
-@end deftypefn
-
-@node Iostream
-@section Input and output together: class @code{iostream}
-
-If you need to use the same stream for input and output, you can use an
-object of the class @code{iostream}, which is derived from @emph{both}
-@code{istream} and @code{ostream}.
-
-The constructors for @code{iostream} behave just like the constructors
-for @code{istream}.
-
-@deftypefn Constructor {} iostream::iostream ()
-When used without arguments, the @code{iostream} constructor simply
-allocates a new @code{ios} object, and initializes the input counter
-(the value reported by @code{istream::gcount}) to @code{0}.
-@end deftypefn
-
-@deftypefn Constructor {} iostream::iostream (streambuf* @var{sb} @w{[, ostream*} @var{tie}])
-You can also call a constructor with one or two arguments. The first
-argument @var{sb} is a @code{streambuf*}; if you supply this pointer,
-the constructor uses that @code{streambuf} for input and output.
-
-You can use the optional second argument @var{tie} (an @code{ostream*})
-to specify a related output stream as the initial value for
-@code{ios::tie}.
-@end deftypefn
-
-@cindex @code{iostream} destructor
-@cindex destructor for @code{iostream}
-As for @code{ostream} and @code{istream}, @code{iostream} simply uses
-the @code{ios} destructor. However, an @code{iostream} is not deleted by
-its destructor.
-
-You can use all the @code{istream}, @code{ostream}, and @code{ios}
-methods with an @code{iostream} object.
-
-@node Files and Strings
-@chapter Classes for Files and Strings
-
-There are two very common special cases of input and output: using files,
-and using strings in memory.
-
-@code{libio} defines four specialized classes for these cases:
-
-@ftable @code
-@item ifstream
-Methods for reading files.
-
-@item ofstream
-Methods for writing files.
-
-@item istrstream
-Methods for reading strings from memory.
-
-@item ostrstream
-Methods for writing strings in memory.
-@end ftable
-
-@menu
-* Files:: Reading and writing files.
-* Strings:: Reading and writing strings in memory.
-@end menu
-
-@node Files
-@section Reading and writing files
-
-These methods are declared in @file{fstream.h}.
-
-@findex ifstream
-@cindex class @code{ifstream}
-You can read data from class @code{ifstream} with any operation from class
-@code{istream}. There are also a few specialized facilities:
-
-@deftypefn Constructor {} ifstream::ifstream ()
-Make an @code{ifstream} associated with a new file for input. (If you
-use this version of the constructor, you need to call
-@code{ifstream::open} before actually reading anything)
-@end deftypefn
-
-@deftypefn Constructor {} ifstream::ifstream (int @var{fd})
-Make an @code{ifstream} for reading from a file that was already open,
-using file descriptor @var{fd}. (This constructor is compatible with
-other versions of iostreams for @sc{posix} systems, but is not part of
-the @sc{ansi} working paper.)
-@end deftypefn
-
-@deftypefn Constructor {} ifstream::ifstream (const char* @var{fname} @w{[, int} @var{mode} @w{[, int} @var{prot}]])
-Open a file @code{*@var{fname}} for this @code{ifstream} object.
-
-By default, the file is opened for input (with @code{ios::in} as
-@var{mode}). If you use this constructor, the file will be closed when
-the @code{ifstream} is destroyed.
-
-You can use the optional argument @var{mode} to specify how to open the
-file, by combining these enumerated values (with @samp{|} bitwise or).
-(These values are actually defined in class @code{ios}, so that all
-file-related streams may inherit them.) Only some of these modes are
-defined in the latest draft @sc{ansi} specification; if portability is
-important, you may wish to avoid the others.
-
-@vtable @code
-@item ios::in
-Open for input. (Included in @sc{ansi} draft.)
-
-@item ios::out
-Open for output. (Included in @sc{ansi} draft.)
-
-@item ios::ate
-Set the initial input (or output) position to the end of the file.
-
-@item ios::app
-Seek to end of file before each write. (Included in @sc{ansi} draft.)
-
-@item ios::trunc
-Guarantee a fresh file; discard any contents that were previously
-associated with it.
-
-@item ios::nocreate
-Guarantee an existing file; fail if the specified file did not already
-exist.
-
-@item ios::noreplace
-Guarantee a new file; fail if the specified file already existed.
-
-@item ios::bin
-Open as a binary file (on systems where binary and text files have different
-properties, typically how @samp{\n} is mapped; included in @sc{ansi} draft).
-@end vtable
-
-@noindent
-The last optional argument @var{prot} is specific to Unix-like systems;
-it specifies the file protection (by default @samp{644}).
-@end deftypefn
-
-@deftypefn Method void ifstream::open (const char* @var{fname} @w{[, int} @var{mode} @w{[, int} @var{prot}]])
-Open a file explicitly after the associated @code{ifstream} object
-already exists (for instance, after using the default constructor). The
-arguments, options and defaults all have the same meanings as in the
-fully specified @code{ifstream} constructor.
-@end deftypefn
-
-@findex ostream
-@cindex class @code{ostream}
-You can write data to class @code{ofstream} with any operation from class
-@code{ostream}. There are also a few specialized facilities:
-
-@deftypefn Constructor {} ofstream::ofstream ()
-Make an @code{ofstream} associated with a new file for output.
-@end deftypefn
-
-@deftypefn Constructor {} ofstream::ofstream (int @var{fd})
-Make an @code{ofstream} for writing to a file that was already open,
-using file descriptor @var{fd}.
-@end deftypefn
-
-@deftypefn Constructor {} ofstream::ofstream (const char* @var{fname} @w{[, int} @var{mode} @w{[, int} @var{prot}]])
-Open a file @code{*@var{fname}} for this @code{ofstream} object.
-
-By default, the file is opened for output (with @code{ios::out} as @var{mode}).
-You can use the optional argument @var{mode} to specify how to open the
-file, just as described for @code{ifstream::ifstream}.
-
-The last optional argument @var{prot} specifies the file protection (by
-default @samp{644}).
-@end deftypefn
-
-@deftypefn Destructor {} ofstream::~ofstream ()
-The files associated with @code{ofstream} objects are closed when the
-corresponding object is destroyed.
-@end deftypefn
-
-@deftypefn Method void ofstream::open (const char* @var{fname} @w{[, int} @var{mode} @w{[, int} @var{prot}]])
-Open a file explicitly after the associated @code{ofstream} object
-already exists (for instance, after using the default constructor). The
-arguments, options and defaults all have the same meanings as in the
-fully specified @code{ofstream} constructor.
-@end deftypefn
-
-@findex fstream
-@cindex class @code{fstream}
-The class @code{fstream} combines the facilities of @code{ifstream} and
-@code{ofstream}, just as @code{iostream} combines @code{istream} and
-@code{ostream}.
-
-@c FIXME-future: say something about fstream constructor, maybe.
-
-@findex fstreambase
-@cindex class @code{fstreambase}
-The class @code{fstreambase} underlies both @code{ifstream} and
-@code{ofstream}. They both inherit this additional method:
-
-@deftypefn Method void fstreambase::close ()
-Close the file associated with this object, and set @code{ios::fail} in
-this object to mark the event.
-@end deftypefn
-
-@node Strings
-@section Reading and writing in memory
-
-@c FIXME!! Per, there's a lot of guesswork here---please check carefully!
-
-@findex istrstream
-@cindex class @code{istrstream}
-@findex ostrstream
-@cindex class @code{ostrstream}
-@findex strstream
-@cindex class @code{strstream}
-@findex strstreambase
-@cindex class @code{strstreambase}
-@findex strstreambuf
-@cindex class @code{strstreambuf}
-The classes @code{istrstream}, @code{ostrstream}, and @code{strstream}
-provide some additional features for reading and writing strings in
-memory---both static strings, and dynamically allocated strings. The
-underlying class @code{strstreambase} provides some features common to
-all three; @code{strstreambuf} underlies that in turn.
-
-@c FIXME-future: Document strstreambuf methods one day, when we document
-@c streambuf more fully.
-
-@deftypefn Constructor {} istrstream::istrstream (const char* @var{str} @w{[, int} @var{size}])
-Associate the new input string class @code{istrstream} with an existing
-static string starting at @var{str}, of size @var{size}. If you do not
-specify @var{size}, the string is treated as a @code{NUL} terminated string.
-@end deftypefn
-
-@deftypefn Constructor {} ostrstream::ostrstream ()
-Create a new stream for output to a dynamically managed string, which
-will grow as needed.
-@end deftypefn
-
-@deftypefn Constructor {} ostrstream::ostrstream (char* @var{str}, int @var{size} [,int @var{mode}])
-A new stream for output to a statically defined string of length
-@var{size}, starting at @var{str}. You may optionally specify one of
-the modes described for @code{ifstream::ifstream}; if you do not specify
-one, the new stream is simply open for output, with mode @code{ios::out}.
-@end deftypefn
-
-@deftypefn Method int ostrstream::pcount ()
-Report the current length of the string associated with this @code{ostrstream}.
-@end deftypefn
-
-@deftypefn Method char* ostrstream::str ()
-A pointer to the string managed by this @code{ostrstream}. Implies
-@samp{ostrstream::freeze()}.
-
-Note that if you want the string to be nul-terminated,
-you must do that yourself (perhaps by writing ends to the stream).
-@end deftypefn
-
-@deftypefn Method void ostrstream::freeze ([int @var{n}])
-If @var{n} is nonzero (the default), declare that the string associated
-with this @code{ostrstream} is not to change dynamically; while frozen,
-it will not be reallocated if it needs more space, and it will not be
-deallocated when the @code{ostrstream} is destroyed. Use
-@samp{freeze(1)} if you refer to the string as a pointer after creating
-it via @code{ostrstream} facilities.
-
-@samp{freeze(0)} cancels this declaration, allowing a dynamically
-allocated string to be freed when its @code{ostrstream} is destroyed.
-
-If this @code{ostrstream} is already static---that is, if it was created
-to manage an existing statically allocated string---@code{freeze} is
-unnecessary, and has no effect.
-@end deftypefn
-
-@deftypefn Method int ostrstream::frozen ()
-Test whether @code{freeze(1)} is in effect for this string.
-@end deftypefn
-
-@deftypefn Method strstreambuf* strstreambase::rdbuf ()
-A pointer to the underlying @code{strstreambuf}.
-@end deftypefn
-
-@node Streambuf
-@chapter Using the @code{streambuf} Layer
-
-The @code{istream} and @code{ostream} classes are meant to handle
-conversion between objects in your program and their textual representation.
-
-By contrast, the underlying @code{streambuf} class is for transferring
-raw bytes between your program, and input sources or output sinks.
-Different @code{streambuf} subclasses connect to different kinds of
-sources and sinks.
-
-The @sc{gnu} implementation of @code{streambuf} is still evolving; we
-describe only some of the highlights.
-
-@menu
-* Areas:: Areas in a streambuf.
-* Overflow:: Simple output re-direction
-* Formatting:: C-style formatting for streambuf objects.
-* Stdiobuf:: Wrappers for C stdio.
-* Procbuf:: Reading/writing from/to a pipe
-* Backing Up:: Marking and returning to a position.
-* Indirectbuf:: Forwarding I/O activity.
-@end menu
-
-@node Areas
-@section Areas of a @code{streambuf}
-
-Streambuf buffer management is fairly sophisticated (this is a
-nice way to say ``complicated''). The standard protocol
-has the following ``areas'':
-
-@itemize @bullet
-@item
-@cindex put area
-The @dfn{put area} contains characters waiting for output.
-
-@item
-@cindex get area
-The @dfn{get area} contains characters available for reading.
-@end itemize
-
-The @sc{gnu} @code{streambuf} design extends this, but the details are
-still evolving.
-
-The following methods are used to manipulate these areas.
-These are all protected methods, which are intended to be
-used by virtual function in classes derived from @code{streambuf}.
-They are also all ANSI/ISO-standard, and the ugly names
-are traditional.
-(Note that if a pointer points to the 'end' of an area,
-it means that it points to the character after the area.)
-
-@deftypefn Method char* streambuf::pbase () const
-Returns a pointer to the start of the put area.
-@end deftypefn
-
-@deftypefn Method char* streambuf::epptr () const
-Returns a pointer to the end of the put area.
-@end deftypefn
-
-@deftypefn Method char* streambuf::pptr () const
-If @code{pptr() < epptr ()}, the @code{pptr()}
-returns a pointer to the current put position.
-(In that case, the next write will
-overwrite @code{*pptr()}, and increment @code{pptr()}.)
-Otherwise, there is no put position available
-(and the next character written will cause @code{streambuf::overflow}
-to be called).
-@end deftypefn
-
-@deftypefn Method void streambuf::pbump (int @var{N})
-Add @var{N} to the current put pointer.
-No error checking is done.
-@end deftypefn
-
-@deftypefn Method void streambuf::setp (char* @var{P}, char* @var{E})
-Sets the start of the put area to @var{P}, the end of the put area to @var{E},
-and the current put pointer to @var{P} (also).
-@end deftypefn
-
-@deftypefn Method char* streambuf::eback () const
-Returns a pointer to the start of the get area.
-@end deftypefn
-
-@deftypefn Method char* streambuf::egptr () const
-Returns a pointer to the end of the get area.
-@end deftypefn
-
-@deftypefn Method char* streambuf::gptr () const
-If @code{gptr() < egptr ()}, then @code{gptr()}
-returns a pointer to the current get position.
-(In that case the next read will read @code{*gptr()},
-and possibly increment @code{gptr()}.)
-Otherwise, there is no read position available
-(and the next read will cause @code{streambuf::underflow}
-to be called).
-@end deftypefn
-
-@deftypefn Method void streambuf:gbump (int @var{N})
-Add @var{N} to the current get pointer.
-No error checking is done.
-@end deftypefn
-
-@deftypefn Method void streambuf::setg (char* @var{B}, char* @var{P}, char* @var{E})
-Sets the start of the get area to @var{B}, the end of the get area to @var{E},
-and the current put pointer to @var{P}.
-@end deftypefn
-
-@node Overflow
-@section Simple output re-direction by redefining @code{overflow}
-
-Suppose you have a function @code{write_to_window} that
-writes characters to a @code{window} object. If you want to use the
-ostream function to write to it, here is one (portable) way to do it.
-This depends on the default buffering (if any).
-
-@cartouche
-@smallexample
-#include <iostream.h>
-/* Returns number of characters successfully written to @var{win}. */
-extern int write_to_window (window* win, char* text, int length);
-
-class windowbuf : public streambuf @{
- window* win;
- public:
- windowbuf (window* w) @{ win = w; @}
- int sync ();
- int overflow (int ch);
- // Defining xsputn is an optional optimization.
- // (streamsize was recently added to ANSI C++, not portable yet.)
- streamsize xsputn (char* text, streamsize n);
-@};
-
-int windowbuf::sync ()
-@{ streamsize n = pptr () - pbase ();
- return (n && write_to_window (win, pbase (), n) != n) ? EOF : 0;
-@}
-
-int windowbuf::overflow (int ch)
-@{ streamsize n = pptr () - pbase ();
- if (n && sync ())
- return EOF;
- if (ch != EOF)
- @{
- char cbuf[1];
- cbuf[0] = ch;
- if (write_to_window (win, cbuf, 1) != 1)
- return EOF;
- @}
- pbump (-n); // Reset pptr().
- return 0;
-@}
-
-streamsize windowbuf::xsputn (char* text, streamsize n)
-@{ return sync () == EOF ? 0 : write_to_window (win, text, n); @}
-
-int
-main (int argc, char**argv)
-@{
- window *win = ...;
- windowbuf wbuf(win);
- ostream wstr(&wbuf);
- wstr << "Hello world!\n";
-@}
-@end smallexample
-@end cartouche
-
-
-
-@node Formatting
-@section C-style formatting for @code{streambuf} objects
-
-The @sc{gnu} @code{streambuf} class supports @code{printf}-like
-formatting and scanning.
-
-@deftypefn Method int streambuf::form (const char *@var{format}, ...)
-Similar to @code{fprintf(@var{file}, @var{format}, ...)}.
-The @var{format} is a @code{printf}-style format control string, which is used
-to format the (variable number of) arguments, printing the result on
-the @code{this} streambuf. The result is the number of characters printed.
-@end deftypefn
-
-@deftypefn Method int streambuf::vform (const char *@var{format}, va_list @var{args})
-Similar to @code{vfprintf(@var{file}, @var{format}, @var{args})}.
-The @var{format} is a @code{printf}-style format control string, which is used
-to format the argument list @var{args}, printing the result on
-the @code{this} streambuf. The result is the number of characters printed.
-@end deftypefn
-
-@deftypefn Method int streambuf::scan (const char *@var{format}, ...)
-Similar to @code{fscanf(@var{file}, @var{format}, ...)}.
-The @var{format} is a @code{scanf}-style format control string, which is used
-to read the (variable number of) arguments from the @code{this} streambuf.
-The result is the number of items assigned, or @code{EOF} in case of
-input failure before any conversion.
-@end deftypefn
-
-@deftypefn Method int streambuf::vscan (const char *@var{format}, va_list @var{args})
-Like @code{streambuf::scan}, but takes a single @code{va_list} argument.
-@end deftypefn
-
-@node Stdiobuf
-@section Wrappers for C @code{stdio}
-
-A @dfn{stdiobuf} is a @code{streambuf} object that points to
-a @code{FILE} object (as defined by @code{stdio.h}).
-All @code{streambuf} operations on the @code{stdiobuf} are forwarded
-to the @code{FILE}. Thus the @code{stdiobuf} object provides a
-wrapper around a @code{FILE}, allowing use of @code{streambuf}
-operations on a @code{FILE}. This can be useful when mixing
-C code with C++ code.
-
-The pre-defined streams @code{cin}, @code{cout}, and @code{cerr} are
-normally implemented as @code{stdiobuf} objects that point to
-respectively @code{stdin}, @code{stdout}, and @code{stderr}. This is
-convenient, but it does cost some extra overhead.
-
-If you set things up to use the implementation of @code{stdio} provided
-with this library, then @code{cin}, @code{cout}, and @code{cerr} will be
-set up to use @code{stdiobuf} objects, since you get their benefits
-for free. @xref{Stdio,,C Input and Output}.
-
-@ignore
-@c FIXME-future: setbuf is not yet documented, hence this para is not useful.
-Note that if you use @code{setbuf} to give a buffer to a @code{stdiobuf},
-that buffer will provide intermediate buffering in addition that
-whatever is done by the @code{FILE}.
-@end ignore
-
-@node Procbuf
-@section Reading/writing from/to a pipe
-
-The @dfn{procbuf} class is a @sc{gnu} extension. It is derived from
-@code{streambuf}. A @code{procbuf} can be @dfn{closed} (in which case
-it does nothing), or @dfn{open} (in which case it allows communicating
-through a pipe with some other program).
-
-@deftypefn Constructor {} procbuf::procbuf ()
-Creates a @code{procbuf} in a @dfn{closed} state.
-@end deftypefn
-
-@deftypefn Method procbuf* procbuf::open (const char *@var{command}, int @var{mode})
-Uses the shell (@file{/bin/sh}) to run a program specified by @var{command}.
-
-If @var{mode} is @samp{ios::in}, standard output from the program is sent
-to a pipe; you can read from the pipe by reading from the
-@code{procbuf}. (This is similar to @w{@samp{popen(@var{command}, "r")}}.)
-
-If @var{mode} is @samp{ios::out}, output written to the
-@code{procbuf} is written to a pipe; the program is set up to read its
-standard input from (the other end of) the pipe. (This is similar to
-@w{@samp{popen(@var{command}, "w")}}.)
-
-The @code{procbuf} must start out in the @dfn{closed} state.
-Returns @samp{*this} on success, and @samp{NULL} on failure.
-@end deftypefn
-
-@deftypefn Constructor {} procbuf::procbuf (const char *@var{command}, int @var{mode})
-Calls @samp{procbuf::open (@var{command}, @var{mode})}.
-@end deftypefn
-
-@deftypefn Method procbuf* procbuf::close ()
-Waits for the program to finish executing,
-and then cleans up the resources used.
-Returns @samp{*this} on success, and @samp{NULL} on failure.
-@end deftypefn
-
-@deftypefn Destructor {} procbuf::~procbuf ()
-Calls @samp{procbuf::close}.
-@end deftypefn
-
-@node Backing Up
-@section Backing up
-
-The @sc{gnu} iostream library allows you to ask a @code{streambuf} to
-remember the current position. This allows you to go back to this
-position later, after reading further. You can back up arbitrary
-amounts, even on unbuffered files or multiple buffers' worth, as long as
-you tell the library in advance. This unbounded backup is very useful
-for scanning and parsing applications. This example shows a typical
-scenario:
-
-@cartouche
-@smallexample
-// Read either "dog", "hound", or "hounddog".
-// If "dog" is found, return 1.
-// If "hound" is found, return 2.
-// If "hounddog" is found, return 3.
-// If none of these are found, return -1.
-int my_scan(streambuf* sb)
-@{
- streammarker fence(sb);
- char buffer[20];
- // Try reading "hounddog":
- if (sb->sgetn(buffer, 8) == 8
- && strncmp(buffer, "hounddog", 8) == 0)
- return 3;
- // No, no "hounddog": Back up to 'fence'
- sb->seekmark(fence); //
- // ... and try reading "dog":
- if (sb->sgetn(buffer, 3) == 3
- && strncmp(buffer, "dog", 3) == 0)
- return 1;
- // No, no "dog" either: Back up to 'fence'
- sb->seekmark(fence); //
- // ... and try reading "hound":
- if (sb->sgetn(buffer, 5) == 5
- && strncmp(buffer, "hound", 5) == 0)
- return 2;
- // No, no "hound" either: Back up and signal failure.
- sb->seekmark(fence); // Backup to 'fence'
- return -1;
-@}
-@end smallexample
-@end cartouche
-
-@deftypefn Constructor {} streammarker::streammarker (streambuf* @var{sbuf})
-Create a @code{streammarker} associated with @var{sbuf}
-that remembers the current position of the get pointer.
-@end deftypefn
-
-@deftypefn Method int streammarker::delta (streammarker& @var{mark2})
-Return the difference between the get positions corresponding
-to @code{*this} and @var{mark2} (which must point into the same
-@code{streambuffer} as @code{this}).
-@end deftypefn
-
-@deftypefn Method int streammarker::delta ()
-Return the position relative to the streambuffer's current get position.
-@end deftypefn
-
-@deftypefn Method int streambuf::seekmark (streammarker& @var{mark})
-Move the get pointer to where it (logically) was when @var{mark}
-was constructed.
-@end deftypefn
-
-@node Indirectbuf
-@section Forwarding I/O activity
-
-An @dfn{indirectbuf} is one that forwards all of its I/O requests
-to another streambuf.
-
-@ignore
-@c FIXME-future: get_stream and put_stream are so far undocumented.
-All get-related requests are sent to get_stream().
-All put-related requests are sent to put_stream().
-@end ignore
-
-An @code{indirectbuf} can be used to implement Common Lisp
-synonym-streams and two-way-streams:
-
-@example
-class synonymbuf : public indirectbuf @{
- Symbol *sym;
- synonymbuf(Symbol *s) @{ sym = s; @}
- virtual streambuf *lookup_stream(int mode) @{
- return coerce_to_streambuf(lookup_value(sym)); @}
-@};
-@end example
-
-@node Stdio
-@chapter C Input and Output
-
-@code{libio} is distributed with a complete implementation of the ANSI C
-@code{stdio} facility. It is implemented using @code{streambuf}
-objects. @xref{Stdiobuf,,Wrappers for C @code{stdio}}.
-
-The @code{stdio} package is intended as a replacement for the whatever
-@code{stdio} is in your C library.
-@ignore
-@c FIXME-future: This is not useful unless we specify what problems.
-It can co-exist with C libraries that have alternate implementations of
-stdio, but there may be some problems.
-@end ignore
-Since @code{stdio} works best when you build @code{libc} to contain it, and
-that may be inconvenient, it is not installed by default.
-
-Extensions beyond @sc{ansi}:
-
-@itemize @bullet
-@item
-A stdio @code{FILE} is identical to a streambuf.
-Hence there is no need to worry about synchronizing C and C++
-input/output---they are by definition always synchronized.
-
-@item
-If you create a new streambuf sub-class (in C++), you can use it as a
-@code{FILE} from C. Thus the system is extensible using the standard
-@code{streambuf} protocol.
-
-@item
-You can arbitrarily mix reading and writing, without having to seek
-in between.
-
-@item
-Unbounded @code{ungetc()} buffer.
-@end itemize
-
-@ignore
-@c FIXME-future: Per says this is not ready to go public at v0.5
-@node Libio buffer management
-@chapter Libio buffer management
-
-The libio user functions present an abstract sequence of characters,
-that they read and write from. A number of buffers are used to go
-between the user program and the abstract sequence. These buffers are
-concrete arrays of characters that contain some sub-sequence of the
-abstract sequence.
-
-The libio buffer management protocol is fairly complex. Its design is
-based on the C++ @code{streambuf} protocol, so that the C++
-@code{streambuf} classes can be trivially implemented on top of the
-libio protocol.
-
-The @dfn{write area} contains characters waiting for output.
-
-The @dfn{read area} contains characters available for reading.
-
-The @dfn{reserve area} is available to virtual methods.
-Usually, the get and/or put areas are part of the reserve area.
-
-The @dfn{main get area} contains characters that have
-been read in from the character source, but not yet
-read by the application.
-
-The @dfn{backup area} contains previously read data that is being saved
-because of a user request, or that have been "unread" (put back).
-@end ignore
-
-@ignore
-@c Per says this design is not finished
-@node Streambuf internals
-@chapter Streambuf internals
-
-@menu
-* Buffer management::
-* Filebuf internals::
-@end menu
-
-@node Buffer management
-@section Buffer management
-
-@subsection Areas
-
-NOTE: This chapter is due for an update.
-
-Streambuf buffer management is fairly sophisticated (this is a
-nice way to say "complicated"). The standard protocol
-has the following "areas":
-
-@itemize @bullet
-@cindex put area
-@item
-The @dfn{put area} contains characters waiting for output.
-@cindex get area
-@item
-The @dfn{get area} contains characters available for reading.
-@cindex reserve area
-@item
-The @dfn{reserve area} is available to virtual methods.
-Usually, the get and/or put areas are part of the reserve area.
-@end itemize
-
-The @sc{gnu} @code{streambuf} design extends this by supporting two
-get areas:
-@itemize @bullet
-@cindex main get area
-@item
-The @dfn{main get area} contains characters that have
-been read in from the character source, but not yet
-read by the application.
-@cindex backup area
-@item
-The @dfn{backup area} contains previously read data that is being
-saved because of a user request, or that have been "unread" (putback).
-@end itemize
-
-The backup and the main get area are logically contiguous: That is,
-the first character of the main get area follows the last character
-of the backup area.
-
-The @dfn{current get area} is whichever one of the backup or
-main get areas that is currently being read from.
-The other of the two is the @dfn{non-current get area}.
-
-@subsection Pointers
-
-The following @code{char*} pointers define the various areas.
-
-@deftypefn Method char* streambuf::base ()
-The start of the reserve area.
-@end deftypefn
-
-@deftypefn Method char* streambuf::ebuf ()
-The end of the reserve area.
-@end deftypefn
-
-@deftypefn Method char* streambuf::Gbase ()
-The start of the main get area.
-@end deftypefn
-
-@deftypefn Method char* streambuf::eGptr ()
-The end of the main get area.
-@end deftypefn
-
-@deftypefn Method char* streambuf::Bbase ()
-The start of the backup area.
-@end deftypefn
-
-@deftypefn Method char* streambuf::Bptr ()
-The start of the used part of the backup area.
-The area (@code{Bptr()} .. @code{eBptr()}) contains data that has been
-pushed back, while (@code{Bbase()} .. @code{eBptr()}) contains unused
-space available for future putbacks.
-@end deftypefn
-
-@deftypefn Method char* streambuf::eBptr ()
-The end of the backup area.
-@end deftypefn
-
-@deftypefn Method char* streambuf::Nbase ()
-The start of the non-current get area (either @code{main_gbase} or @code{backup_gbase}).
-@end deftypefn
-
-@deftypefn Method char* streambuf::eNptr ()
-The end of the non-current get area.
-@end deftypefn
-
-@node Filebuf internals
-@section Filebuf internals
-
-The @code{filebuf} is used a lot, so it is importamt that it be
-efficient. It is also supports rather complex semantics.
-so let us examine its implementation.
-
-@subsection Tied read and write pointers
-
-The streambuf model allows completely independent read and write pointers.
-However, a @code{filebuf} has only a single logical pointer used
-for both reads and writes. Since the @code{streambuf} protocol
-uses @code{gptr()} for reading and @code{pptr()} for writing,
-we map the logical file pointer into either @code{gptr()} or @code{pptr()}
-at different times.
-
-@itemize @bullet
-@item
-Reading is allowed when @code{gptr() < egptr()}, which we call get mode.
-
-@item
-Writing is allowed when @code{pptr() < epptr()}, which we call put mode.
-@end itemize
-
-@noindent
-A @code{filebuf} cannot be in get mode and put mode at the same time.
-
-We have up to two buffers:
-
-@itemize @bullet
-@item
-The backup area, defined by @code{Bbase()}, @code{Bptr()}, and @code{eBptr()}.
-This can be empty.
-
-@item
-The reserve area, which also contains the main get area.
-For an unbuffered file, the (@code{shortbuf()}..@code{shortbuf()+1}) is used,
-where @code{shortbuf()} points to a 1-byte buffer that is part of
-the @code{filebuf}.
-@end itemize
-
-@noindent
-The file system's idea of the current position is @code{eGptr()}.
-
-Characters that have been written into a buffer but not yet written
-out (flushed) to the file systems are those between @code{pbase()}
-and @code{pptr()}.
-
-The end of the valid data bytes is:
-@code{pptr() > eGptr() && pptr() < ebuf() ? pptr() : eGptr()}.
-
-If the @code{filebuf} is unbuffered or line buffered,
-the @code{eptr()} is @code{pbase()}. This forces a call
-to @code{overflow()} on each put of a character.
-The logical @code{epptr()} is @code{epptr() ? ebuf() : NULL}.
-(If the buffer is read-only, set @code{pbase()}, @code{pptr()},
-and @code{epptr()} to @code{NULL}. NOT!)
-@end ignore
-
-@node Index
-@unnumbered Index
-@printindex cp
-
-@contents
-@bye
diff --git a/contrib/libio/iostreamP.h b/contrib/libio/iostreamP.h
deleted file mode 100644
index c9c40cb..0000000
--- a/contrib/libio/iostreamP.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "streambuf.h"
-#include "libioP.h"
diff --git a/contrib/libio/iostrerror.c b/contrib/libio/iostrerror.c
deleted file mode 100644
index 348e095..0000000
--- a/contrib/libio/iostrerror.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* This should be replaced by whatever namespace-clean
- version of strerror you have available. */
-
-#include "libioP.h"
-extern char *strerror __P ((int));
-
-char *
-_IO_strerror (errnum)
- int errnum;
-{
- return strerror(errnum);
-}
diff --git a/contrib/libio/ioungetc.c b/contrib/libio/ioungetc.c
deleted file mode 100644
index 07f38e7..0000000
--- a/contrib/libio/ioungetc.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-
-int
-_IO_ungetc (c, fp)
- int c;
- _IO_FILE *fp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- if (c == EOF)
- return EOF;
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- result = _IO_sputbackc (fp, (unsigned char) c);
- _IO_cleanup_region_end (1);
- return result;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_ungetc, ungetc)
-#endif
diff --git a/contrib/libio/iovfprintf.c b/contrib/libio/iovfprintf.c
deleted file mode 100644
index 755334c..0000000
--- a/contrib/libio/iovfprintf.c
+++ /dev/null
@@ -1,890 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/*
- * Copyright (c) 1990 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "%W% (Berkeley) %G%";
-#endif /* LIBC_SCCS and not lint */
-
-/*
- * Actual printf innards.
- *
- * This code is large and complicated...
- */
-
-#include <sys/types.h>
-#include "libioP.h"
-#include <string.h>
-#ifdef __STDC__
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-
-#ifndef _IO_USE_DTOA
-int __cvt_double __P((double number, register int prec, int flags, int *signp, int fmtch, char *startp, char *endp));
-#endif
-
-/*
- * Define FLOATING_POINT to get floating point.
- */
-#ifndef NO_FLOATING_POINT
-#define FLOATING_POINT
-#endif
-
-/* end of configuration stuff */
-
-
-/*
- * Helper "class" for `fprintf to unbuffered': creates a
- * temporary buffer. */
-
-struct helper_file
-{
- struct _IO_FILE_plus _f;
- _IO_FILE *_put_stream;
-};
-
-static int
-_IO_helper_overflow (fp, c)
- _IO_FILE *fp;
- int c;
-{
- _IO_FILE *target = ((struct helper_file*)fp)->_put_stream;
- int used = fp->_IO_write_ptr - fp->_IO_write_base;
- if (used)
- {
- _IO_sputn(target, fp->_IO_write_base, used);
- fp->_IO_write_ptr -= used;
- }
- return _IO_putc (c, fp);
-}
-
-static struct _IO_jump_t _IO_helper_jumps = {
- JUMP_INIT_DUMMY,
- JUMP_INIT(finish, _IO_default_finish),
- JUMP_INIT(overflow, _IO_helper_overflow),
- JUMP_INIT(underflow, _IO_default_underflow),
- JUMP_INIT(uflow, _IO_default_uflow),
- JUMP_INIT(pbackfail, _IO_default_pbackfail),
- JUMP_INIT(xsputn, _IO_default_xsputn),
- JUMP_INIT(xsgetn, _IO_default_xsgetn),
- JUMP_INIT(seekoff, _IO_default_seekoff),
- JUMP_INIT(seekpos, _IO_default_seekpos),
- JUMP_INIT(setbuf, _IO_default_setbuf),
- JUMP_INIT(sync, _IO_default_sync),
- JUMP_INIT(doallocate, _IO_default_doallocate),
- JUMP_INIT(read, _IO_default_read),
- JUMP_INIT(write, _IO_default_write),
- JUMP_INIT(seek, _IO_default_seek),
- JUMP_INIT(close, _IO_default_close),
- JUMP_INIT(stat, _IO_default_stat)
-};
-
-static int
-helper_vfprintf (fp, fmt0, ap)
- _IO_FILE *fp;
- char const *fmt0;
- _IO_va_list ap;
-{
- char buf[_IO_BUFSIZ];
- struct helper_file helper;
- register _IO_FILE *hp = (_IO_FILE*)&helper;
- int result, to_flush;
-
- /* initialize helper */
- helper._put_stream = fp;
- hp->_IO_write_base = buf;
- hp->_IO_write_ptr = buf;
- hp->_IO_write_end = buf+_IO_BUFSIZ;
- hp->_IO_file_flags = _IO_MAGIC|_IO_NO_READS;
- _IO_JUMPS(hp) = &_IO_helper_jumps;
-
- /* Now print to helper instead. */
- result = _IO_vfprintf(hp, fmt0, ap);
-
- /* Now flush anything from the helper to the fp. */
- if ((to_flush = hp->_IO_write_ptr - hp->_IO_write_base) > 0)
- {
- if (_IO_sputn(fp, hp->_IO_write_base, to_flush) != to_flush)
- return EOF;
- }
- return result;
-}
-
-#ifdef FLOATING_POINT
-
-#include "floatio.h"
-#define BUF (MAXEXP+MAXFRACT+1) /* + decimal point */
-#define DEFPREC 6
-extern double modf __P((double, double*));
-
-#else /* no FLOATING_POINT */
-
-#define BUF 40
-
-#endif /* FLOATING_POINT */
-
-
-/*
- * Macros for converting digits to letters and vice versa
- */
-#define to_digit(c) ((c) - '0')
-#define is_digit(c) ((unsigned)to_digit(c) <= 9)
-#define to_char(n) ((n) + '0')
-
-/*
- * Flags used during conversion.
- */
-#define LONGINT 0x01 /* long integer */
-#define LONGDBL 0x02 /* long double; unimplemented */
-#define SHORTINT 0x04 /* short integer */
-#define ALT 0x08 /* alternate form */
-#define LADJUST 0x10 /* left adjustment */
-#define ZEROPAD 0x20 /* zero (as opposed to blank) pad */
-#define HEXPREFIX 0x40 /* add 0x or 0X prefix */
-
-int
-_IO_vfprintf (fp, fmt0, ap)
- _IO_FILE *fp;
- char const *fmt0;
- _IO_va_list ap;
-{
- register const char *fmt; /* format string */
- register int ch; /* character from fmt */
- register int n; /* handy integer (short term usage) */
- register char *cp; /* handy char pointer (short term usage) */
- const char *fmark; /* for remembering a place in fmt */
- register int flags; /* flags as above */
- int ret; /* return value accumulator */
- int width; /* width from format (%8d), or 0 */
- int prec; /* precision from format (%.3d), or -1 */
- char sign; /* sign prefix (' ', '+', '-', or \0) */
-#ifdef FLOATING_POINT
- int softsign; /* temporary negative sign for floats */
- double _double; /* double precision arguments %[eEfgG] */
-#ifndef _IO_USE_DTOA
- int fpprec; /* `extra' floating precision in [eEfgG] */
-#endif
-#endif
- unsigned long _ulong; /* integer arguments %[diouxX] */
- enum { OCT, DEC, HEX } base;/* base for [diouxX] conversion */
- int dprec; /* a copy of prec if [diouxX], 0 otherwise */
- int dpad; /* extra 0 padding needed for integers */
- int fieldsz; /* field size expanded by sign, dpad etc */
- /* The initialization of 'size' is to suppress a warning that
- 'size' might be used unitialized. It seems gcc can't
- quite grok this spaghetti code ... */
- int size = 0; /* size of converted field or string */
- char buf[BUF]; /* space for %c, %[diouxX], %[eEfgG] */
- char ox[2]; /* space for 0x hex-prefix */
-
- /*
- * BEWARE, these `goto error' on error, and PAD uses `n'.
- */
-#define PRINT(ptr, len) \
- do { if (_IO_sputn(fp,ptr, len) != len) goto error; } while (0)
-#define PAD_SP(howmany) if (_IO_padn(fp, ' ', howmany) < (howmany)) goto error;
-#define PAD_0(howmany) if (_IO_padn(fp, '0', howmany) < (howmany)) goto error;
-
- /*
- * To extend shorts properly, we need both signed and unsigned
- * argument extraction methods.
- */
-#define SARG() \
- (flags&LONGINT ? va_arg(ap, long) : \
- flags&SHORTINT ? (long)(short)va_arg(ap, int) : \
- (long)va_arg(ap, int))
-#define UARG() \
- (flags&LONGINT ? va_arg(ap, unsigned long) : \
- flags&SHORTINT ? (unsigned long)(unsigned short)va_arg(ap, int) : \
- (unsigned long)va_arg(ap, unsigned int))
-
- /* optimise stderr (and other unbuffered Unix files) */
- if (fp->_IO_file_flags & _IO_UNBUFFERED)
- return helper_vfprintf(fp, fmt0, ap);
-
- fmt = fmt0;
- ret = 0;
-
- /*
- * Scan the format for conversions (`%' character).
- */
- for (;;) {
- for (fmark = fmt; (ch = *fmt) != '\0' && ch != '%'; fmt++)
- /* void */;
- if ((n = fmt - fmark) != 0) {
- PRINT(fmark, n);
- ret += n;
- }
- if (ch == '\0')
- goto done;
- fmt++; /* skip over '%' */
-
- flags = 0;
- dprec = 0;
-#if defined(FLOATING_POINT) && !defined (_IO_USE_DTOA)
- fpprec = 0;
-#endif
- width = 0;
- prec = -1;
- sign = '\0';
-
-rflag: ch = *fmt++;
-reswitch: switch (ch) {
- case ' ':
- /*
- * ``If the space and + flags both appear, the space
- * flag will be ignored.''
- * -- ANSI X3J11
- */
- if (!sign)
- sign = ' ';
- goto rflag;
- case '#':
- flags |= ALT;
- goto rflag;
- case '*':
- /*
- * ``A negative field width argument is taken as a
- * - flag followed by a positive field width.''
- * -- ANSI X3J11
- * They don't exclude field widths read from args.
- */
- if ((width = va_arg(ap, int)) >= 0)
- goto rflag;
- width = -width;
- /* FALLTHROUGH */
- case '-':
- flags |= LADJUST;
- flags &= ~ZEROPAD; /* '-' disables '0' */
- goto rflag;
- case '+':
- sign = '+';
- goto rflag;
- case '.':
- if ((ch = *fmt++) == '*') {
- n = va_arg(ap, int);
- prec = n < 0 ? -1 : n;
- goto rflag;
- }
- n = 0;
- while (is_digit(ch)) {
- n = 10 * n + to_digit(ch);
- ch = *fmt++;
- }
- prec = n < 0 ? -1 : n;
- goto reswitch;
- case '0':
- /*
- * ``Note that 0 is taken as a flag, not as the
- * beginning of a field width.''
- * -- ANSI X3J11
- */
- if (!(flags & LADJUST))
- flags |= ZEROPAD; /* '-' disables '0' */
- goto rflag;
- case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- n = 0;
- do {
- n = 10 * n + to_digit(ch);
- ch = *fmt++;
- } while (is_digit(ch));
- width = n;
- goto reswitch;
-#ifdef FLOATING_POINT
- case 'L':
- flags |= LONGDBL;
- goto rflag;
-#endif
- case 'h':
- flags |= SHORTINT;
- goto rflag;
- case 'l':
- flags |= LONGINT;
- goto rflag;
- case 'c':
- *(cp = buf) = va_arg(ap, int);
- size = 1;
- sign = '\0';
- break;
- case 'D':
- flags |= LONGINT;
- /*FALLTHROUGH*/
- case 'd':
- case 'i':
- _ulong = SARG();
- if ((long)_ulong < 0) {
- _ulong = -_ulong;
- sign = '-';
- }
- base = DEC;
- goto number;
-#ifdef FLOATING_POINT
- case 'e':
- case 'E':
- case 'f':
- case 'F':
- case 'g':
- case 'G':
- _double = va_arg(ap, double);
-#ifdef _IO_USE_DTOA
- {
- int fmt_flags = 0;
- int fill = ' ';
- if (flags & ALT)
- fmt_flags |= _IO_SHOWPOINT;
- if (flags & LADJUST)
- fmt_flags |= _IO_LEFT;
- else if (flags & ZEROPAD)
- fmt_flags |= _IO_INTERNAL, fill = '0';
- n = _IO_outfloat(_double, fp, ch, width,
- prec < 0 ? DEFPREC : prec,
- fmt_flags, sign, fill);
- if (n < 0)
- goto error;
- ret += n;
- }
- /* CHECK ERROR! */
- continue;
-#else
- /*
- * don't do unrealistic precision; just pad it with
- * zeroes later, so buffer size stays rational.
- */
- if (prec > MAXFRACT) {
- if ((ch != 'g' && ch != 'G') || (flags&ALT))
- fpprec = prec - MAXFRACT;
- prec = MAXFRACT;
- } else if (prec == -1)
- prec = DEFPREC;
- /* __cvt_double may have to round up before the
- "start" of its buffer, i.e.
- ``intf("%.2f", (double)9.999);'';
- if the first character is still NUL, it did.
- softsign avoids negative 0 if _double < 0 but
- no significant digits will be shown. */
- cp = buf;
- *cp = '\0';
- size = __cvt_double(_double, prec, flags, &softsign,
- ch, cp, buf + sizeof(buf));
- if (softsign)
- sign = '-';
- if (*cp == '\0')
- cp++;
- break;
-#endif
-#endif /* FLOATING_POINT */
- case 'n':
- if (flags & LONGINT)
- *va_arg(ap, long *) = ret;
- else if (flags & SHORTINT)
- *va_arg(ap, short *) = ret;
- else
- *va_arg(ap, int *) = ret;
- continue; /* no output */
- case 'O':
- flags |= LONGINT;
- /*FALLTHROUGH*/
- case 'o':
- _ulong = UARG();
- base = OCT;
- goto nosign;
- case 'p':
- /*
- * ``The argument shall be a pointer to void. The
- * value of the pointer is converted to a sequence
- * of printable characters, in an implementation-
- * defined manner.''
- * -- ANSI X3J11
- */
- /* NOSTRICT */
- _ulong = (unsigned long)va_arg(ap, void *);
- base = HEX;
- flags |= HEXPREFIX;
- ch = 'x';
- goto nosign;
- case 's':
- if ((cp = va_arg(ap, char *)) == NULL)
- cp = "(null)";
- if (prec >= 0) {
- /*
- * can't use strlen; can only look for the
- * NUL in the first `prec' characters, and
- * strlen() will go further.
- */
- char *p = (char*)memchr(cp, 0, prec);
-
- if (p != NULL) {
- size = p - cp;
- if (size > prec)
- size = prec;
- } else
- size = prec;
- } else
- size = strlen(cp);
- sign = '\0';
- break;
- case 'U':
- flags |= LONGINT;
- /*FALLTHROUGH*/
- case 'u':
- _ulong = UARG();
- base = DEC;
- goto nosign;
- case 'X':
- case 'x':
- _ulong = UARG();
- base = HEX;
- /* leading 0x/X only if non-zero */
- if (flags & ALT && _ulong != 0)
- flags |= HEXPREFIX;
-
- /* unsigned conversions */
-nosign: sign = '\0';
- /*
- * ``... diouXx conversions ... if a precision is
- * specified, the 0 flag will be ignored.''
- * -- ANSI X3J11
- */
-number: if ((dprec = prec) >= 0)
- flags &= ~ZEROPAD;
-
- /*
- * ``The result of converting a zero value with an
- * explicit precision of zero is no characters.''
- * -- ANSI X3J11
- */
- cp = buf + BUF;
- if (_ulong != 0 || prec != 0) {
- char *xdigs; /* digits for [xX] conversion */
- /*
- * unsigned mod is hard, and unsigned mod
- * by a constant is easier than that by
- * a variable; hence this switch.
- */
- switch (base) {
- case OCT:
- do {
- *--cp = to_char(_ulong & 7);
- _ulong >>= 3;
- } while (_ulong);
- /* handle octal leading 0 */
- if (flags & ALT && *cp != '0')
- *--cp = '0';
- break;
-
- case DEC:
- /* many numbers are 1 digit */
- while (_ulong >= 10) {
- *--cp = to_char(_ulong % 10);
- _ulong /= 10;
- }
- *--cp = to_char(_ulong);
- break;
-
- case HEX:
- if (ch == 'X')
- xdigs = "0123456789ABCDEF";
- else /* ch == 'x' || ch == 'p' */
- xdigs = "0123456789abcdef";
- do {
- *--cp = xdigs[_ulong & 15];
- _ulong >>= 4;
- } while (_ulong);
- break;
-
- default:
- cp = "bug in vform: bad base";
- goto skipsize;
- }
- }
- size = buf + BUF - cp;
- skipsize:
- break;
- default: /* "%?" prints ?, unless ? is NUL */
- if (ch == '\0')
- goto done;
- /* pretend it was %c with argument ch */
- cp = buf;
- *cp = ch;
- size = 1;
- sign = '\0';
- break;
- }
-
- /*
- * All reasonable formats wind up here. At this point,
- * `cp' points to a string which (if not flags&LADJUST)
- * should be padded out to `width' places. If
- * flags&ZEROPAD, it should first be prefixed by any
- * sign or other prefix; otherwise, it should be blank
- * padded before the prefix is emitted. After any
- * left-hand padding and prefixing, emit zeroes
- * required by a decimal [diouxX] precision, then print
- * the string proper, then emit zeroes required by any
- * leftover floating precision; finally, if LADJUST,
- * pad with blanks.
- */
-
- /*
- * compute actual size, so we know how much to pad.
- */
-#if defined(FLOATING_POINT) && !defined (_IO_USE_DTOA)
- fieldsz = size + fpprec;
-#else
- fieldsz = size;
-#endif
- dpad = dprec - size;
- if (dpad < 0)
- dpad = 0;
-
- if (sign)
- fieldsz++;
- else if (flags & HEXPREFIX)
- fieldsz += 2;
- fieldsz += dpad;
-
- /* right-adjusting blank padding */
- if ((flags & (LADJUST|ZEROPAD)) == 0)
- PAD_SP(width - fieldsz);
-
- /* prefix */
- if (sign) {
- PRINT(&sign, 1);
- } else if (flags & HEXPREFIX) {
- ox[0] = '0';
- ox[1] = ch;
- PRINT(ox, 2);
- }
-
- /* right-adjusting zero padding */
- if ((flags & (LADJUST|ZEROPAD)) == ZEROPAD)
- PAD_0(width - fieldsz);
-
- /* leading zeroes from decimal precision */
- PAD_0(dpad);
-
- /* the string or number proper */
- PRINT(cp, size);
-
-#if defined(FLOATING_POINT) && !defined (_IO_USE_DTOA)
- /* trailing f.p. zeroes */
- PAD_0(fpprec);
-#endif
-
- /* left-adjusting padding (always blank) */
- if (flags & LADJUST)
- PAD_SP(width - fieldsz);
-
- /* finally, adjust ret */
- ret += width > fieldsz ? width : fieldsz;
-
- }
-done:
- return ret;
-error:
- return EOF;
- /* NOTREACHED */
-}
-
-#if defined(FLOATING_POINT) && !defined(_IO_USE_DTOA)
-
-static char *exponent(register char *p, register int exp, int fmtch)
-{
- register char *t;
- char expbuf[MAXEXP];
-
- *p++ = fmtch;
- if (exp < 0) {
- exp = -exp;
- *p++ = '-';
- }
- else
- *p++ = '+';
- t = expbuf + MAXEXP;
- if (exp > 9) {
- do {
- *--t = to_char(exp % 10);
- } while ((exp /= 10) > 9);
- *--t = to_char(exp);
- for (; t < expbuf + MAXEXP; *p++ = *t++);
- }
- else {
- *p++ = '0';
- *p++ = to_char(exp);
- }
- return (p);
-}
-
-static char * round(double fract, int *exp,
- register char *start, register char *end,
- char ch, int *signp)
-{
- double tmp;
-
- if (fract)
- (void)modf(fract * 10, &tmp);
- else
- tmp = to_digit(ch);
- if (tmp > 4)
- for (;; --end) {
- if (*end == '.')
- --end;
- if (++*end <= '9')
- break;
- *end = '0';
- if (end == start) {
- if (exp) { /* e/E; increment exponent */
- *end = '1';
- ++*exp;
- }
- else { /* f; add extra digit */
- *--end = '1';
- --start;
- }
- break;
- }
- }
- /* ``"%.3f", (double)-0.0004'' gives you a negative 0. */
- else if (*signp == '-')
- for (;; --end) {
- if (*end == '.')
- --end;
- if (*end != '0')
- break;
- if (end == start)
- *signp = 0;
- }
- return (start);
-}
-
-int __cvt_double(double number, register int prec, int flags, int *signp,
- int fmtch, char *startp, char *endp)
-{
- register char *p, *t;
- register double fract;
- int dotrim = 0, expcnt, gformat = 0;
- double integer, tmp;
-
- expcnt = 0;
- if (number < 0) {
- number = -number;
- *signp = '-';
- } else
- *signp = 0;
-
- fract = modf(number, &integer);
-
- /* get an extra slot for rounding. */
- t = ++startp;
-
- /*
- * get integer portion of number; put into the end of the buffer; the
- * .01 is added for modf(356.0 / 10, &integer) returning .59999999...
- */
- for (p = endp - 1; p >= startp && integer; ++expcnt) {
- tmp = modf(integer / 10, &integer);
- *p-- = to_char((int)((tmp + .01) * 10));
- }
- switch (fmtch) {
- case 'f':
- case 'F':
- /* reverse integer into beginning of buffer */
- if (expcnt)
- for (; ++p < endp; *t++ = *p);
- else
- *t++ = '0';
- /*
- * if precision required or alternate flag set, add in a
- * decimal point.
- */
- if (prec || flags&ALT)
- *t++ = '.';
- /* if requires more precision and some fraction left */
- if (fract) {
- if (prec)
- do {
- fract = modf(fract * 10, &tmp);
- *t++ = to_char((int)tmp);
- } while (--prec && fract);
- if (fract)
- startp = round(fract, (int *)NULL, startp,
- t - 1, (char)0, signp);
- }
- for (; prec--; *t++ = '0');
- break;
- case 'e':
- case 'E':
-eformat: if (expcnt) {
- *t++ = *++p;
- if (prec || flags&ALT)
- *t++ = '.';
- /* if requires more precision and some integer left */
- for (; prec && ++p < endp; --prec)
- *t++ = *p;
- /*
- * if done precision and more of the integer component,
- * round using it; adjust fract so we don't re-round
- * later.
- */
- if (!prec && ++p < endp) {
- fract = 0;
- startp = round((double)0, &expcnt, startp,
- t - 1, *p, signp);
- }
- /* adjust expcnt for digit in front of decimal */
- --expcnt;
- }
- /* until first fractional digit, decrement exponent */
- else if (fract) {
- /* adjust expcnt for digit in front of decimal */
- for (expcnt = -1;; --expcnt) {
- fract = modf(fract * 10, &tmp);
- if (tmp)
- break;
- }
- *t++ = to_char((int)tmp);
- if (prec || flags&ALT)
- *t++ = '.';
- }
- else {
- *t++ = '0';
- if (prec || flags&ALT)
- *t++ = '.';
- }
- /* if requires more precision and some fraction left */
- if (fract) {
- if (prec)
- do {
- fract = modf(fract * 10, &tmp);
- *t++ = to_char((int)tmp);
- } while (--prec && fract);
- if (fract)
- startp = round(fract, &expcnt, startp,
- t - 1, (char)0, signp);
- }
- /* if requires more precision */
- for (; prec--; *t++ = '0');
-
- /* unless alternate flag, trim any g/G format trailing 0's */
- if (gformat && !(flags&ALT)) {
- while (t > startp && *--t == '0');
- if (*t == '.')
- --t;
- ++t;
- }
- t = exponent(t, expcnt, fmtch);
- break;
- case 'g':
- case 'G':
- /* a precision of 0 is treated as a precision of 1. */
- if (!prec)
- ++prec;
- /*
- * ``The style used depends on the value converted; style e
- * will be used only if the exponent resulting from the
- * conversion is less than -4 or greater than the precision.''
- * -- ANSI X3J11
- */
- if (expcnt > prec || (!expcnt && fract && fract < .0001)) {
- /*
- * g/G format counts "significant digits, not digits of
- * precision; for the e/E format, this just causes an
- * off-by-one problem, i.e. g/G considers the digit
- * before the decimal point significant and e/E doesn't
- * count it as precision.
- */
- --prec;
- fmtch -= 2; /* G->E, g->e */
- gformat = 1;
- goto eformat;
- }
- /*
- * reverse integer into beginning of buffer,
- * note, decrement precision
- */
- if (expcnt)
- for (; ++p < endp; *t++ = *p, --prec);
- else
- *t++ = '0';
- /*
- * if precision required or alternate flag set, add in a
- * decimal point. If no digits yet, add in leading 0.
- */
- if (prec || flags&ALT) {
- dotrim = 1;
- *t++ = '.';
- }
- else
- dotrim = 0;
- /* if requires more precision and some fraction left */
- if (fract) {
- if (prec) {
- /* If no integer part, don't count initial
- * zeros as significant digits. */
- do {
- fract = modf(fract * 10, &tmp);
- *t++ = to_char((int)tmp);
- } while(!tmp && !expcnt);
- while (--prec && fract) {
- fract = modf(fract * 10, &tmp);
- *t++ = to_char((int)tmp);
- }
- }
- if (fract)
- startp = round(fract, (int *)NULL, startp,
- t - 1, (char)0, signp);
- }
- /* alternate format, adds 0's for precision, else trim 0's */
- if (flags&ALT)
- for (; prec--; *t++ = '0');
- else if (dotrim) {
- while (t > startp && *--t == '0');
- if (*t != '.')
- ++t;
- }
- }
- return (t - startp);
-}
-
-#endif /* defined(FLOATING_POINT) && !defined(_IO_USE_DTOA) */
diff --git a/contrib/libio/iovfscanf.c b/contrib/libio/iovfscanf.c
deleted file mode 100644
index 0631458..0000000
--- a/contrib/libio/iovfscanf.c
+++ /dev/null
@@ -1,790 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/*
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-/* Extensively hacked for GNU iostream by Per Bothner 1991, 1992, 1993.
- Changes copyright Free Software Foundation 1992, 1993. */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "%W% (Berkeley) %G%";
-#endif /* LIBC_SCCS and not lint */
-
-#include <libioP.h>
-#include <ctype.h>
-#ifdef __STDC__
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-
-#ifndef NO_FLOATING_POINT
-#define FLOATING_POINT
-#endif
-
-#ifdef FLOATING_POINT
-#include "floatio.h"
-#define BUF (MAXEXP+MAXFRACT+3) /* 3 = sign + decimal point + NUL */
-#else
-#define BUF 40
-#endif
-
-/*
- * Flags used during conversion.
- */
-#define LONG 0x01 /* l: long or double */
-#define LONGDBL 0x02 /* L: long double; unimplemented */
-#define SHORT 0x04 /* h: short */
-#define SUPPRESS 0x08 /* suppress assignment */
-#define POINTER 0x10 /* weird %p pointer (`fake hex') */
-#define NOSKIP 0x20 /* do not skip blanks */
-#define WIDTH 0x40 /* width */
-
-/*
- * The following are used in numeric conversions only:
- * SIGNOK, NDIGITS, DPTOK, and EXPOK are for floating point;
- * SIGNOK, NDIGITS, PFXOK, and NZDIGITS are for integral.
- */
-#define SIGNOK 0x40 /* +/- is (still) legal */
-#define NDIGITS 0x80 /* no digits detected */
-
-#define DPTOK 0x100 /* (float) decimal point is still legal */
-#define EXPOK 0x200 /* (float) exponent (e+3, etc) still legal */
-
-#define PFXOK 0x100 /* 0x prefix is (still) legal */
-#define NZDIGITS 0x200 /* no zero digits detected */
-
-/*
- * Conversion types.
- */
-#define CT_CHAR 0 /* %c conversion */
-#define CT_CCL 1 /* %[...] conversion */
-#define CT_STRING 2 /* %s conversion */
-#define CT_INT 3 /* integer, i.e., strtol or strtoul */
-#define CT_FLOAT 4 /* floating, i.e., strtod */
-
-#define u_char unsigned char
-#define u_long unsigned long
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-extern u_long strtoul __P((const char*, char**, int));
-extern long strtol __P((const char*, char**, int));
-static const u_char *__sccl __P((char *tab, const u_char *fmt));
-#ifndef _IO_USE_DTOA
-extern double atof();
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-/* If errp != NULL, *errp|=1 if we see a premature EOF;
- *errp|=2 if we an invalid character. */
-
-int
-_IO_vfscanf (fp, fmt0, ap, errp)
- _IO_FILE *fp;
- char const *fmt0;
- _IO_va_list ap;
- int *errp;
-{
- register const u_char *fmt = (const u_char *)fmt0;
- register int c; /* character from format, or conversion */
- register _IO_ssize_t width; /* field width, or 0 */
- register char *p; /* points into all kinds of strings */
- register int n; /* handy integer */
- register int flags = 0; /* flags as defined above */
- register char *p0; /* saves original value of p when necessary */
- int nassigned; /* number of fields assigned */
- int nread; /* number of characters consumed from fp */
- /* Assignments to base and ccfn are just to suppress warnings from gcc.*/
- int base = 0; /* base argument to strtol/strtoul */
- typedef u_long (*strtoulfn) __P((const char*, char**, int));
- strtoulfn ccfn = 0;
- /* conversion function (strtol/strtoul) */
- char ccltab[256]; /* character class table for %[...] */
- char buf[BUF]; /* buffer for numeric conversions */
- int seen_eof = 0;
-
- /* `basefix' is used to avoid `if' tests in the integer scanner */
- static short basefix[17] =
- { 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
-
- nassigned = 0;
- nread = 0;
- for (;;) {
- c = *fmt++;
- if (c == 0)
- goto done;
- if (isspace(c)) {
- for (;;) {
- c = _IO_getc(fp);
- if (c == EOF) {
- seen_eof++;
- break;
- }
- if (!isspace(c)) {
- _IO_ungetc (c, fp);
- break;
- }
- nread++;
- }
- continue;
- }
- if (c != '%')
- goto literal;
- width = 0;
- flags = 0;
- /*
- * switch on the format. continue if done;
- * break once format type is derived.
- */
-again: c = *fmt++;
- switch (c) {
- case '%':
-literal:
- n = _IO_getc(fp);
- if (n == EOF)
- goto eof_failure;
- if (n != c) {
- _IO_ungetc (n, fp);
- goto match_failure;
- }
- nread++;
- continue;
-
- case '*':
- if (flags) goto control_failure;
- flags = SUPPRESS;
- goto again;
- case 'l':
- if (flags & ~(SUPPRESS | WIDTH)) goto control_failure;
- flags |= LONG;
- goto again;
- case 'L':
- if (flags & ~(SUPPRESS | WIDTH)) goto control_failure;
- flags |= LONGDBL;
- goto again;
- case 'h':
- if (flags & ~(SUPPRESS | WIDTH)) goto control_failure;
- flags |= SHORT;
- goto again;
-
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- if (flags & ~(SUPPRESS | WIDTH)) goto control_failure;
- flags |= WIDTH;
- width = width * 10 + c - '0';
- goto again;
-
- /*
- * Conversions.
- * Those marked `compat' are for 4.[123]BSD compatibility.
- *
- * (According to ANSI, E and X formats are supposed
- * to the same as e and x. Sorry about that.)
- */
- case 'D': /* compat */
- flags |= LONG;
- /* FALLTHROUGH */
- case 'd':
- c = CT_INT;
- ccfn = (strtoulfn)strtol;
- base = 10;
- break;
-
- case 'i':
- c = CT_INT;
- ccfn = (strtoulfn)strtol;
- base = 0;
- break;
-
- case 'O': /* compat */
- flags |= LONG;
- /* FALLTHROUGH */
- case 'o':
- c = CT_INT;
- ccfn = strtoul;
- base = 8;
- break;
-
- case 'u':
- c = CT_INT;
- ccfn = strtoul;
- base = 10;
- break;
-
- case 'X':
- case 'x':
- flags |= PFXOK; /* enable 0x prefixing */
- c = CT_INT;
- ccfn = strtoul;
- base = 16;
- break;
-
-#ifdef FLOATING_POINT
- case 'E': case 'F':
- case 'e': case 'f': case 'g':
- c = CT_FLOAT;
- break;
-#endif
-
- case 's':
- c = CT_STRING;
- break;
-
- case '[':
- fmt = __sccl(ccltab, fmt);
- flags |= NOSKIP;
- c = CT_CCL;
- break;
-
- case 'c':
- flags |= NOSKIP;
- c = CT_CHAR;
- break;
-
- case 'p': /* pointer format is like hex */
- flags |= POINTER | PFXOK;
- c = CT_INT;
- ccfn = strtoul;
- base = 16;
- break;
-
- case 'n':
- if (flags & SUPPRESS) /* ??? */
- continue;
- if (flags & SHORT)
- *va_arg(ap, short *) = nread;
- else if (flags & LONG)
- *va_arg(ap, long *) = nread;
- else
- *va_arg(ap, int *) = nread;
- continue;
-
- /*
- * Disgusting backwards compatibility hacks. XXX
- */
- case '\0': /* compat */
- nassigned = EOF;
- goto done;
-
- default: /* compat */
- if (isupper(c))
- flags |= LONG;
- c = CT_INT;
- ccfn = (strtoulfn)strtol;
- base = 10;
- break;
- }
-
- /*
- * We have a conversion that requires input.
- */
- if (_IO_peekc(fp) == EOF)
- goto eof_failure;
-
- /*
- * Consume leading white space, except for formats
- * that suppress this.
- */
- if ((flags & NOSKIP) == 0) {
- n = (unsigned char)*fp->_IO_read_ptr;
- while (isspace(n)) {
- fp->_IO_read_ptr++;
- nread++;
- n = _IO_peekc(fp);
- if (n == EOF)
- goto eof_failure;
- }
- /* Note that there is at least one character in
- the buffer, so conversions that do not set NOSKIP
- can no longer result in an input failure. */
- }
-
- /*
- * Do the conversion.
- */
- switch (c) {
-
- case CT_CHAR:
- /* scan arbitrary characters (sets NOSKIP) */
- if (width == 0) /* FIXME! */
- width = 1;
- if (flags & SUPPRESS) {
- _IO_size_t sum = 0;
- for (;;) {
- n = fp->_IO_read_end - fp->_IO_read_ptr;
- if (n < (int)width) {
- sum += n;
- width -= n;
- fp->_IO_read_ptr += n;
- if (__underflow(fp) == EOF)
- if (sum == 0)
- goto eof_failure;
- else {
- seen_eof++;
- break;
- }
- } else {
- sum += width;
- fp->_IO_read_ptr += width;
- break;
- }
- }
- nread += sum;
- } else {
- _IO_size_t r =
-
- _IO_XSGETN (fp, (char*)va_arg(ap, char*), width);
- if (r != width)
- goto eof_failure;
- nread += r;
- nassigned++;
- }
- break;
-
- case CT_CCL:
- /* scan a (nonempty) character class (sets NOSKIP) */
- if (width == 0)
- width = ~0; /* `infinity' */
- /* take only those things in the class */
- if (flags & SUPPRESS) {
- n = 0;
- while (ccltab[(unsigned char)*fp->_IO_read_ptr]) {
- n++, fp->_IO_read_ptr++;
- if (--width == 0)
- break;
- if (_IO_peekc(fp) == EOF) {
- if (n == 0)
- goto eof_failure;
- seen_eof++;
- break;
- }
- }
- if (n == 0)
- goto match_failure;
- } else {
- p0 = p = va_arg(ap, char *);
- while (ccltab[(unsigned char)*fp->_IO_read_ptr]) {
- *p++ = *fp->_IO_read_ptr++;
- if (--width == 0)
- break;
- if (_IO_peekc(fp) == EOF) {
- if (p == p0)
- goto eof_failure;
- seen_eof++;
- break;
- }
- }
- n = p - p0;
- if (n == 0)
- goto match_failure;
- *p = 0;
- nassigned++;
- }
- nread += n;
- break;
-
- case CT_STRING:
- /* like CCL, but zero-length string OK, & no NOSKIP */
- if (width == 0)
- width = ~0;
- if (flags & SUPPRESS) {
- n = 0;
- while (!isspace((unsigned char)*fp->_IO_read_ptr)) {
- n++, fp->_IO_read_ptr++;
- if (--width == 0)
- break;
- if (_IO_peekc(fp) == EOF) {
- seen_eof++;
- break;
- }
- }
- nread += n;
- } else {
- p0 = p = va_arg(ap, char *);
- while (!isspace((unsigned char)*fp->_IO_read_ptr)) {
- *p++ = *fp->_IO_read_ptr++;
- if (--width == 0)
- break;
- if (_IO_peekc(fp) == EOF) {
- seen_eof++;
- break;
- }
- }
- *p = 0;
- nread += p - p0;
- nassigned++;
- }
- continue;
-
- case CT_INT:
- /* scan an integer as if by strtol/strtoul */
- if (width == 0 || width > sizeof(buf) - 1)
- width = sizeof(buf) - 1;
- flags |= SIGNOK | NDIGITS | NZDIGITS;
- for (p = buf; width; width--) {
- c = (unsigned char)*fp->_IO_read_ptr;
- /*
- * Switch on the character; `goto ok'
- * if we accept it as a part of number.
- */
- switch (c) {
-
- /*
- * The digit 0 is always legal, but is
- * special. For %i conversions, if no
- * digits (zero or nonzero) have been
- * scanned (only signs), we will have
- * base==0. In that case, we should set
- * it to 8 and enable 0x prefixing.
- * Also, if we have not scanned zero digits
- * before this, do not turn off prefixing
- * (someone else will turn it off if we
- * have scanned any nonzero digits).
- */
- case '0':
- if (base == 0) {
- base = 8;
- flags |= PFXOK;
- }
- if (flags & NZDIGITS)
- flags &= ~(SIGNOK|NZDIGITS|NDIGITS);
- else
- flags &= ~(SIGNOK|PFXOK|NDIGITS);
- goto ok;
-
- /* 1 through 7 always legal */
- case '1': case '2': case '3':
- case '4': case '5': case '6': case '7':
- base = basefix[base];
- flags &= ~(SIGNOK | PFXOK | NDIGITS);
- goto ok;
-
- /* digits 8 and 9 ok iff decimal or hex */
- case '8': case '9':
- base = basefix[base];
- if (base <= 8)
- break; /* not legal here */
- flags &= ~(SIGNOK | PFXOK | NDIGITS);
- goto ok;
-
- /* letters ok iff hex */
- case 'A': case 'B': case 'C':
- case 'D': case 'E': case 'F':
- case 'a': case 'b': case 'c':
- case 'd': case 'e': case 'f':
- /* no need to fix base here */
- if (base <= 10)
- break; /* not legal here */
- flags &= ~(SIGNOK | PFXOK | NDIGITS);
- goto ok;
-
- /* sign ok only as first character */
- case '+': case '-':
- if (flags & SIGNOK) {
- flags &= ~SIGNOK;
- goto ok;
- }
- break;
-
- /* x ok iff flag still set & 2nd char */
- case 'x': case 'X':
- if (flags & PFXOK && p == buf + 1) {
- base = 16; /* if %i */
- flags &= ~PFXOK;
- goto ok;
- }
- break;
- }
-
- /*
- * If we got here, c is not a legal character
- * for a number. Stop accumulating digits.
- */
- break;
- ok:
- /*
- * c is legal: store it and look at the next.
- */
- *p++ = c;
- fp->_IO_read_ptr++;
- if (_IO_peekc(fp) == EOF) {
- seen_eof++;
- break; /* EOF */
- }
- }
- /*
- * If we had only a sign, it is no good; push
- * back the sign. If the number ends in `x',
- * it was [sign] '0' 'x', so push back the x
- * and treat it as [sign] '0'.
- */
- if (flags & NDIGITS) {
- if (p > buf)
- (void) _IO_ungetc(*(u_char *)--p, fp);
- goto match_failure;
- }
- c = ((u_char *)p)[-1];
- if (c == 'x' || c == 'X') {
- --p;
- (void) _IO_ungetc (c, fp);
- }
- if ((flags & SUPPRESS) == 0) {
- u_long res;
-
- *p = 0;
- res = (*ccfn)(buf, (char **)NULL, base);
- if (flags & POINTER)
- *va_arg(ap, void **) = (void *)res;
- else if (flags & SHORT)
- *va_arg(ap, short *) = res;
- else if (flags & LONG)
- *va_arg(ap, long *) = res;
- else
- *va_arg(ap, int *) = res;
- nassigned++;
- }
- nread += p - buf;
- break;
-
-#ifdef FLOATING_POINT
- case CT_FLOAT:
- /* scan a floating point number as if by strtod */
- if (width == 0 || width > sizeof(buf) - 1)
- width = sizeof(buf) - 1;
- flags |= SIGNOK | NDIGITS | DPTOK | EXPOK;
- for (p = buf; width; width--) {
- c = (unsigned char)*fp->_IO_read_ptr;
- /*
- * This code mimicks the integer conversion
- * code, but is much simpler.
- */
- switch (c) {
-
- case '0': case '1': case '2': case '3':
- case '4': case '5': case '6': case '7':
- case '8': case '9':
- flags &= ~(SIGNOK | NDIGITS);
- goto fok;
-
- case '+': case '-':
- if (flags & SIGNOK) {
- flags &= ~SIGNOK;
- goto fok;
- }
- break;
- case '.':
- if (flags & DPTOK) {
- flags &= ~(SIGNOK | DPTOK);
- goto fok;
- }
- break;
- case 'e': case 'E':
- /* no exponent without some digits */
- if ((flags&(NDIGITS|EXPOK)) == EXPOK) {
- flags =
- (flags & ~(EXPOK|DPTOK)) |
- SIGNOK | NDIGITS;
- goto fok;
- }
- break;
- }
- break;
- fok:
- *p++ = c;
- fp->_IO_read_ptr++;
- if (_IO_peekc(fp) == EOF) {
- seen_eof++;
- break; /* EOF */
- }
- }
- /*
- * If no digits, might be missing exponent digits
- * (just give back the exponent) or might be missing
- * regular digits, but had sign and/or decimal point.
- */
- if (flags & NDIGITS) {
- if (flags & EXPOK) {
- /* no digits at all */
- while (p > buf)
- _IO_ungetc (*(u_char *)--p, fp);
- goto match_failure;
- }
- /* just a bad exponent (e and maybe sign) */
- c = *(u_char *)--p;
- if (c != 'e' && c != 'E') {
- (void) _IO_ungetc (c, fp);/* sign */
- c = *(u_char *)--p;
- }
- (void) _IO_ungetc (c, fp);
- }
- if ((flags & SUPPRESS) == 0) {
- double res;
- *p = 0;
-#ifdef _IO_USE_DTOA
- res = _IO_strtod(buf, NULL);
-#else
- res = atof(buf);
-#endif
- if (flags & LONG)
- *va_arg(ap, double *) = res;
- else
- *va_arg(ap, float *) = res;
- nassigned++;
- }
- nread += p - buf;
- break;
-#endif /* FLOATING_POINT */
- }
- }
-eof_failure:
- seen_eof++;
-input_failure:
- if (nassigned == 0)
- nassigned = -1;
-control_failure:
-match_failure:
- if (errp)
- *errp |= 2;
-done:
- if (errp && seen_eof)
- *errp |= 1;
- return (nassigned);
-}
-
-/*
- * Fill in the given table from the scanset at the given format
- * (just after `['). Return a pointer to the character past the
- * closing `]'. The table has a 1 wherever characters should be
- * considered part of the scanset.
- */
-static const u_char *
-__sccl (tab, fmt)
- char *tab;
- const u_char *fmt;
-{
- register int c, n, v;
-
- /* first `clear' the whole table */
- c = *fmt++; /* first char hat => negated scanset */
- if (c == '^') {
- v = 1; /* default => accept */
- c = *fmt++; /* get new first char */
- } else
- v = 0; /* default => reject */
- /* should probably use memset here */
- for (n = 0; n < 256; n++)
- tab[n] = v;
- if (c == 0)
- return (fmt - 1);/* format ended before closing ] */
-
- /*
- * Now set the entries corresponding to the actual scanset
- * to the opposite of the above.
- *
- * The first character may be ']' (or '-') without being special;
- * the last character may be '-'.
- */
- v = 1 - v;
- for (;;) {
- tab[c] = v; /* take character c */
-doswitch:
- n = *fmt++; /* and examine the next */
- switch (n) {
-
- case 0: /* format ended too soon */
- return (fmt - 1);
-
- case '-':
- /*
- * A scanset of the form
- * [01+-]
- * is defined as `the digit 0, the digit 1,
- * the character +, the character -', but
- * the effect of a scanset such as
- * [a-zA-Z0-9]
- * is implementation defined. The V7 Unix
- * scanf treats `a-z' as `the letters a through
- * z', but treats `a-a' as `the letter a, the
- * character -, and the letter a'.
- *
- * For compatibility, the `-' is not considerd
- * to define a range if the character following
- * it is either a close bracket (required by ANSI)
- * or is not numerically greater than the character
- * we just stored in the table (c).
- */
- n = *fmt;
- if (n == ']' || n < c) {
- c = '-';
- break; /* resume the for(;;) */
- }
- fmt++;
- do { /* fill in the range */
- tab[++c] = v;
- } while (c < n);
-#if 1 /* XXX another disgusting compatibility hack */
- /*
- * Alas, the V7 Unix scanf also treats formats
- * such as [a-c-e] as `the letters a through e'.
- * This too is permitted by the standard....
- */
- goto doswitch;
-#else
- c = *fmt++;
- if (c == 0)
- return (fmt - 1);
- if (c == ']')
- return (fmt);
-#endif
- break;
-
- case ']': /* end of scanset */
- return (fmt);
-
- default: /* just another character */
- c = n;
- break;
- }
- }
- /* NOTREACHED */
-}
diff --git a/contrib/libio/iovsprintf.c b/contrib/libio/iovsprintf.c
deleted file mode 100644
index 617a588..0000000
--- a/contrib/libio/iovsprintf.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "strfile.h"
-
-int
-_IO_vsprintf (string, format, args)
- char *string;
- const char *format;
- _IO_va_list args;
-{
- _IO_strfile sf;
-#ifdef _IO_MTSAFE_IO
- _IO_lock_t lock;
-#endif
- int ret;
-
-#ifdef _IO_MTSAFE_IO
- sf._sbf._f._lock = &lock;
-#endif
- _IO_init (&sf._sbf._f, 0);
- _IO_JUMPS (&sf._sbf._f) = &_IO_str_jumps;
- _IO_str_init_static (&sf._sbf._f, string, -1, string);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, &sf);
- _IO_flockfile (&sf._sbf._f);
- ret = _IO_vfprintf (&sf._sbf._f, format, args);
- _IO_putc_unlocked ('\0', &sf._sbf._f);
- _IO_cleanup_region_end (1);
- return ret;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_vsprintf, vsprintf)
-#elif defined(_G_STDIO_USES_LIBIO) && defined(_G_HAVE_WEAK_SYMBOL)
-int vsprintf (char *, const char *, _IO_va_list)
- __attribute__ ((weak, alias("_IO_vsprintf")));
-#endif
diff --git a/contrib/libio/iovsscanf.c b/contrib/libio/iovsscanf.c
deleted file mode 100644
index 6bdc3cc..0000000
--- a/contrib/libio/iovsscanf.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "strfile.h"
-
-int
-_IO_vsscanf (string, format, args)
- const char *string;
- const char *format;
- _IO_va_list args;
-{
- int ret;
- _IO_strfile sf;
-#ifdef _IO_MTSAFE_IO
- _IO_lock_t lock;
- sf._sbf._f._lock = &lock;
-#endif
- _IO_init (&sf._sbf._f, 0);
- _IO_JUMPS (&sf._sbf._f) = &_IO_str_jumps;
- _IO_str_init_static (&sf._sbf._f, (char*)string, 0, NULL);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, &sf);
- _IO_flockfile (&sf._sbf._f);
- ret = _IO_vfscanf (&sf._sbf._f, format, args, NULL);
- _IO_cleanup_region_end (1);
- return ret;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_vsscanf, __vsscanf)
-weak_alias (_IO_vsscanf, vsscanf)
-#elif defined(_G_STDIO_USES_LIBIO) && defined(_G_HAVE_WEAK_SYMBOL)
-int __vsscanf (const char *, const char *, _IO_va_list)
- __attribute__ ((weak, alias("_IO_vsscanf")));
-int vsscanf (const char *, const char *, _IO_va_list)
- __attribute__ ((weak, alias("_IO_vsscanf")));
-#endif
diff --git a/contrib/libio/isgetline.cc b/contrib/libio/isgetline.cc
deleted file mode 100644
index 5e48a00..0000000
--- a/contrib/libio/isgetline.cc
+++ /dev/null
@@ -1,153 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include <libioP.h>
-#include "iostream.h"
-#include <string.h>
-
-istream& istream::getline(char* buf, int len, char delim)
-{
- _gcount = 0;
- if (len <= 0)
- {
- set(ios::failbit);
- return *this;
- }
- int ch;
- if (ipfx1())
- {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- streambuf *sb = rdbuf();
- _gcount = _IO_getline_info(sb, buf, len - 1, delim, -1, &ch);
- if (ch != EOF)
- ch = sb->sbumpc();
- if (ch == EOF)
- set (_gcount == 0 ? (ios::failbit|ios::eofbit) : ios::eofbit);
- else if (ch != (unsigned char) delim)
- {
- set(ios::failbit);
- sb->sungetc(); // Leave delimiter unread.
- }
- isfx();
- _IO_cleanup_region_end (0);
- }
- else
- ch = EOF;
- buf[_gcount] = '\0';
- if (ch == (unsigned char)delim)
- _gcount++; // The delimiter is counted in the gcount().
- return *this;
-}
-
-istream& istream::get(char* buf, int len, char delim)
-{
- _gcount = 0;
- if (len <= 0)
- {
- set(ios::failbit);
- return *this;
- }
- if (ipfx1())
- {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- streambuf *sbuf = rdbuf();
- int ch;
- _gcount = _IO_getline_info(sbuf, buf, len - 1, delim, -1, &ch);
- if (_gcount == 0 && ch == EOF)
- set(ios::failbit|ios::eofbit);
- isfx();
- _IO_cleanup_region_end (0);
- }
- buf[_gcount] = '\0';
- return *this;
-}
-
-
-// from Doug Schmidt
-
-#define CHUNK_SIZE 512
-
-/* Reads an arbitrarily long input line terminated by a user-specified
- TERMINATOR. Super-nifty trick using recursion avoids unnecessary calls
- to NEW! */
-
-char *_sb_readline (streambuf *sb, long& total, char terminator)
-{
- char buf[CHUNK_SIZE];
- char *ptr;
- int ch;
-
- _IO_size_t count = _IO_getline_info(sb, buf, CHUNK_SIZE, terminator,
- -1, &ch);
- if (ch != EOF)
- ch = sb->sbumpc();
- long old_total = total;
- total += count;
- if (ch != EOF && ch != terminator) {
- total++; // Include ch in total.
- ptr = _sb_readline(sb, total, terminator);
- if (ptr) {
- memcpy(ptr + old_total, buf, count);
- ptr[old_total+count] = ch;
- }
- return ptr;
- }
-
- ptr = new char[total+1];
- if (ptr != NULL) {
- ptr[total] = '\0';
- memcpy(ptr + total - count, buf, count);
- }
- return ptr;
-}
-
-/* Reads an arbitrarily long input line terminated by TERMINATOR.
- This routine allocates its own memory, so the user should
- only supply the address of a (char *). */
-
-istream& istream::gets(char **s, char delim /* = '\n' */)
-{
- if (ipfx1()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- long size = 0;
- streambuf *sb = rdbuf();
- *s = _sb_readline (sb, size, delim);
- _gcount = *s ? size : 0;
- if (sb->_flags & _IO_EOF_SEEN) {
- set(ios::eofbit);
- if (_gcount == 0)
- set(ios::failbit);
- }
- isfx();
- _IO_cleanup_region_end (0);
- }
- else {
- _gcount = 0;
- *s = NULL;
- }
- return *this;
-}
diff --git a/contrib/libio/isgetsb.cc b/contrib/libio/isgetsb.cc
deleted file mode 100644
index 655c972..0000000
--- a/contrib/libio/isgetsb.cc
+++ /dev/null
@@ -1,63 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-#include "iostream.h"
-#include <string.h>
-
-istream& istream::get(streambuf& sb, char delim /* = '\n' */)
-{
- _gcount = 0;
- if (ipfx1())
- {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- register streambuf* isb = rdbuf();
- for (;;)
- {
- streamsize len = isb->_IO_read_end - isb->_IO_read_ptr;
- if (len <= 0)
- if (__underflow(isb) == EOF)
- break;
- else
- len = isb->_IO_read_end - isb->_IO_read_ptr;
- char *delimp = (char*)memchr((void*)isb->_IO_read_ptr, delim, len);
- if (delimp != NULL)
- len = delimp - isb->_IO_read_ptr;
- int written = sb.sputn(isb->_IO_read_ptr, len);
- isb->_IO_read_ptr += written;
- _gcount += written;
- if (written != len)
- {
- set(ios::failbit);
- break;
- }
- if (delimp != NULL)
- break;
- }
- isfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
diff --git a/contrib/libio/isscan.cc b/contrib/libio/isscan.cc
deleted file mode 100644
index 977559c..0000000
--- a/contrib/libio/isscan.cc
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-#include <iostream.h>
-#include <stdarg.h>
-
-istream& istream::scan(const char *format ...)
-{
- if (ipfx0()) {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- va_list ap;
- va_start(ap, format);
- _strbuf->vscan(format, ap, this);
- va_end(ap);
- isfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
-
-istream& istream::vscan(const char *format, _IO_va_list args)
-{
- if (ipfx0())
- {
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _strbuf);
- _strbuf->vscan(format, args, this);
- isfx();
- _IO_cleanup_region_end (0);
- }
- return *this;
-}
diff --git a/contrib/libio/istream.h b/contrib/libio/istream.h
deleted file mode 100644
index f54ec1d..0000000
--- a/contrib/libio/istream.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include <stream.h>
diff --git a/contrib/libio/libio.h b/contrib/libio/libio.h
deleted file mode 100644
index c453b77..0000000
--- a/contrib/libio/libio.h
+++ /dev/null
@@ -1,365 +0,0 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 97, 98 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
- Written by Per Bothner <bothner@cygnus.com>.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#ifndef _IO_STDIO_H
-#define _IO_STDIO_H
-
-#include <_G_config.h>
-#define _IO_pos_t _G_fpos_t /* obsolete */
-#define _IO_fpos_t _G_fpos_t
-#define _IO_size_t _G_size_t
-#define _IO_ssize_t _G_ssize_t
-#define _IO_off_t _G_off_t
-#define _IO_pid_t _G_pid_t
-#define _IO_uid_t _G_uid_t
-#define _IO_HAVE_SYS_WAIT _G_HAVE_SYS_WAIT
-#define _IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE
-#define _IO_BUFSIZ _G_BUFSIZ
-#define _IO_va_list _G_va_list
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-#define _IO_fpos64_t _G_fpos64_t
-#define _IO_off64_t _G_off64_t
-#endif
-
-#ifdef _G_NEED_STDARG_H
-/* This define avoids name pollution if we're using GNU stdarg.h */
-# define __need___va_list
-# include <stdarg.h>
-# ifdef __GNUC_VA_LIST
-# undef _IO_va_list
-# define _IO_va_list __gnuc_va_list
-# endif /* __GNUC_VA_LIST */
-#endif
-
-#ifndef __P
-# if _G_HAVE_SYS_CDEFS
-# include <sys/cdefs.h>
-# else
-# ifdef __STDC__
-# define __P(p) p
-# else
-# define __P(p) ()
-# endif
-# endif
-#endif /*!__P*/
-
-#ifndef __PMT
-# ifdef __STDC__
-# define __PMT(p) p
-# else
-# define __PMT(p) ()
-# endif
-#endif /*!__P*/
-
-/* For backward compatibility */
-#ifndef _PARAMS
-# define _PARAMS(protos) __P(protos)
-#endif /*!_PARAMS*/
-
-#ifndef __STDC__
-# define const
-#endif
-#define _IO_UNIFIED_JUMPTABLES 1
-#if !_G_HAVE_PRINTF_FP
-# define _IO_USE_DTOA 1
-#endif
-
-#ifndef EOF
-# define EOF (-1)
-#endif
-#ifndef NULL
-# if defined __GNUG__ && \
- (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8))
-# define NULL (__null)
-# else
-# if !defined(__cplusplus)
-# define NULL ((void*)0)
-# else
-# define NULL (0)
-# endif
-# endif
-#endif
-
-#define _IOS_INPUT 1
-#define _IOS_OUTPUT 2
-#define _IOS_ATEND 4
-#define _IOS_APPEND 8
-#define _IOS_TRUNC 16
-#define _IOS_NOCREATE 32
-#define _IOS_NOREPLACE 64
-#define _IOS_BIN 128
-
-/* Magic numbers and bits for the _flags field.
- The magic numbers use the high-order bits of _flags;
- the remaining bits are available for variable flags.
- Note: The magic numbers must all be negative if stdio
- emulation is desired. */
-
-#define _IO_MAGIC 0xFBAD0000 /* Magic number */
-#define _OLD_STDIO_MAGIC 0xFABC0000 /* Emulate old stdio. */
-#define _IO_MAGIC_MASK 0xFFFF0000
-#define _IO_USER_BUF 1 /* User owns buffer; don't delete it on close. */
-#define _IO_UNBUFFERED 2
-#define _IO_NO_READS 4 /* Reading not allowed */
-#define _IO_NO_WRITES 8 /* Writing not allowd */
-#define _IO_EOF_SEEN 0x10
-#define _IO_ERR_SEEN 0x20
-#define _IO_DELETE_DONT_CLOSE 0x40 /* Don't call close(_fileno) on cleanup. */
-#define _IO_LINKED 0x80 /* Set if linked (using _chain) to streambuf::_list_all.*/
-#define _IO_IN_BACKUP 0x100
-#define _IO_LINE_BUF 0x200
-#define _IO_TIED_PUT_GET 0x400 /* Set if put and get pointer logicly tied. */
-#define _IO_CURRENTLY_PUTTING 0x800
-#define _IO_IS_APPENDING 0x1000
-#define _IO_IS_FILEBUF 0x2000
-#define _IO_BAD_SEEN 0x4000
-#define _IO_USER_LOCK 0x8000
-
-/* These are "formatting flags" matching the iostream fmtflags enum values. */
-#define _IO_SKIPWS 01
-#define _IO_LEFT 02
-#define _IO_RIGHT 04
-#define _IO_INTERNAL 010
-#define _IO_DEC 020
-#define _IO_OCT 040
-#define _IO_HEX 0100
-#define _IO_SHOWBASE 0200
-#define _IO_SHOWPOINT 0400
-#define _IO_UPPERCASE 01000
-#define _IO_SHOWPOS 02000
-#define _IO_SCIENTIFIC 04000
-#define _IO_FIXED 010000
-#define _IO_UNITBUF 020000
-#define _IO_STDIO 040000
-#define _IO_DONT_CLOSE 0100000
-#define _IO_BOOLALPHA 0200000
-
-
-struct _IO_jump_t; struct _IO_FILE;
-
-/* Handle lock. */
-#ifdef _IO_MTSAFE_IO
-# if defined __GLIBC__ && __GLIBC__ >= 2
-# if __GLIBC_MINOR__ > 0
-# include <bits/stdio-lock.h>
-# else
-# include <stdio-lock.h>
-# endif
-# define _IO_LOCK_T _IO_lock_t *
-# else
-/*# include <comthread.h>*/
-# endif
-#else
-# if defined(__GLIBC__) && __GLIBC__ >= 2
- typedef void _IO_lock_t;
-# define _IO_LOCK_T void *
-# else
-# ifdef __linux__
- struct _IO_lock_t { void *ptr; short int field1; short int field2; };
-# define _IO_LOCK_T struct _IO_lock_t
-# else
- typedef void _IO_lock_t;
-# endif
-# endif
-#endif
-
-
-/* A streammarker remembers a position in a buffer. */
-
-struct _IO_marker {
- struct _IO_marker *_next;
- struct _IO_FILE *_sbuf;
- /* If _pos >= 0
- it points to _buf->Gbase()+_pos. FIXME comment */
- /* if _pos < 0, it points to _buf->eBptr()+_pos. FIXME comment */
- int _pos;
-#if 0
- void set_streampos(streampos sp) { _spos = sp; }
- void set_offset(int offset) { _pos = offset; _spos = (streampos)(-2); }
- public:
- streammarker(streambuf *sb);
- ~streammarker();
- int saving() { return _spos == -2; }
- int delta(streammarker&);
- int delta();
-#endif
-};
-
-struct _IO_FILE {
- int _flags; /* High-order word is _IO_MAGIC; rest is flags. */
-#define _IO_file_flags _flags
-
- /* The following pointers correspond to the C++ streambuf protocol. */
- /* Note: Tk uses the _IO_read_ptr and _IO_read_end fields directly. */
- char* _IO_read_ptr; /* Current read pointer */
- char* _IO_read_end; /* End of get area. */
- char* _IO_read_base; /* Start of putback+get area. */
- char* _IO_write_base; /* Start of put area. */
- char* _IO_write_ptr; /* Current put pointer. */
- char* _IO_write_end; /* End of put area. */
- char* _IO_buf_base; /* Start of reserve area. */
- char* _IO_buf_end; /* End of reserve area. */
- /* The following fields are used to support backing up and undo. */
- char *_IO_save_base; /* Pointer to start of non-current get area. */
- char *_IO_backup_base; /* Pointer to first valid character of backup area */
- char *_IO_save_end; /* Pointer to end of non-current get area. */
-
- struct _IO_marker *_markers;
-
- struct _IO_FILE *_chain;
-
- int _fileno;
- int _blksize;
-#ifdef _G_IO_IO_FILE_VERSION
- _IO_off_t _old_offset;
-#else
- _IO_off_t _offset;
-#endif
-
-#define __HAVE_COLUMN /* temporary */
- /* 1+column number of pbase(); 0 is unknown. */
- unsigned short _cur_column;
- char _unused;
- char _shortbuf[1];
-
- /* char* _save_gptr; char* _save_egptr; */
-
-#ifdef _IO_LOCK_T
- _IO_LOCK_T _lock;
-#endif
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
- _IO_off64_t _offset;
- int _unused2[16]; /* Make sure we don't get into trouble again. */
-#endif
-};
-
-#ifndef __cplusplus
-typedef struct _IO_FILE _IO_FILE;
-#endif
-
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-#define _IO_stdin_ _IO_2_1_stdin_
-#define _IO_stdout_ _IO_2_1_stdout_
-#define _IO_stderr_ _IO_2_1_stderr_
-#endif
-
-struct _IO_FILE_plus;
-extern struct _IO_FILE_plus _IO_stdin_, _IO_stdout_, _IO_stderr_;
-#define _IO_stdin ((_IO_FILE*)(&_IO_stdin_))
-#define _IO_stdout ((_IO_FILE*)(&_IO_stdout_))
-#define _IO_stderr ((_IO_FILE*)(&_IO_stderr_))
-
-
-/* Define the user-visible type, with user-friendly member names. */
-typedef struct
-{
- _IO_ssize_t (*read) __PMT ((struct _IO_FILE *, void *, _IO_ssize_t));
- _IO_ssize_t (*write) __PMT ((struct _IO_FILE *, const void *, _IO_ssize_t));
- _IO_off_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int));
- int (*close) __PMT ((struct _IO_FILE *));
-} _IO_cookie_io_functions_t;
-
-/* Special file type for fopencookie function. */
-struct _IO_cookie_file
-{
- struct _IO_FILE file;
- const void *vtable;
- void *cookie;
- _IO_cookie_io_functions_t io_functions;
-};
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern int __underflow __P ((_IO_FILE *));
-extern int __uflow __P ((_IO_FILE *));
-extern int __overflow __P ((_IO_FILE *, int));
-
-#define _IO_getc_unlocked(_fp) \
- ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end ? __uflow (_fp) \
- : *(unsigned char *) (_fp)->_IO_read_ptr++)
-#define _IO_peekc_unlocked(_fp) \
- ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end \
- && __underflow (_fp) == EOF ? EOF \
- : *(unsigned char *) (_fp)->_IO_read_ptr)
-
-#define _IO_putc_unlocked(_ch, _fp) \
- (((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) \
- ? __overflow (_fp, (unsigned char) (_ch)) \
- : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))
-
-#define _IO_feof_unlocked(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0)
-#define _IO_ferror_unlocked(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0)
-
-extern int _IO_getc __P ((_IO_FILE *__fp));
-extern int _IO_putc __P ((int __c, _IO_FILE *__fp));
-extern int _IO_feof __P ((_IO_FILE *__fp));
-extern int _IO_ferror __P ((_IO_FILE *__fp));
-
-extern int _IO_peekc_locked __P ((_IO_FILE *__fp));
-
-/* This one is for Emacs. */
-#define _IO_PENDING_OUTPUT_COUNT(_fp) \
- ((_fp)->_IO_write_ptr - (_fp)->_IO_write_base)
-
-extern void _IO_flockfile __P ((_IO_FILE *));
-extern void _IO_funlockfile __P ((_IO_FILE *));
-extern int _IO_ftrylockfile __P ((_IO_FILE *));
-
-#ifdef _IO_MTSAFE_IO
-# define _IO_peekc(_fp) _IO_peekc_locked (_fp)
-#else
-# define _IO_peekc(_fp) _IO_peekc_unlocked (_fp)
-# define _IO_flockfile(_fp) /**/
-# define _IO_funlockfile(_fp) /**/
-# define _IO_ftrylockfile(_fp) /**/
-# define _IO_cleanup_region_start(_fct, _fp) /**/
-# define _IO_cleanup_region_end(_Doit) /**/
-#endif /* !_IO_MTSAFE_IO */
-
-
-extern int _IO_vfscanf __P ((_IO_FILE *, const char *, _IO_va_list, int *));
-extern int _IO_vfprintf __P ((_IO_FILE *, const char *, _IO_va_list));
-extern _IO_ssize_t _IO_padn __P ((_IO_FILE *, int, _IO_ssize_t));
-extern _IO_size_t _IO_sgetn __P ((_IO_FILE *, void *, _IO_size_t));
-
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-
-extern void _IO_free_backup_area __P ((_IO_FILE *));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _IO_STDIO_H */
diff --git a/contrib/libio/libioP.h b/contrib/libio/libioP.h
deleted file mode 100644
index be70f52..0000000
--- a/contrib/libio/libioP.h
+++ /dev/null
@@ -1,648 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#ifndef _POSIX_SOURCE
-# define _POSIX_SOURCE
-#endif
-
-#include <errno.h>
-#ifndef __set_errno
-# define __set_errno(Val) errno = (Val)
-#endif
-
-#ifdef _IO_MTSAFE_IO
-# if defined __GLIBC__ && __GLIBC__ >= 2
-# if __GLIBC_MINOR__ > 0
-# include <bits/libc-lock.h>
-# else
-# include <libc-lock.h>
-# endif
-# else
-/*# include <comthread.h>*/
-# endif
-#endif
-
-#include "iolibio.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define _IO_seek_set 0
-#define _IO_seek_cur 1
-#define _IO_seek_end 2
-
-/* THE JUMPTABLE FUNCTIONS.
-
- * The _IO_FILE type is used to implement the FILE type in GNU libc,
- * as well as the streambuf class in GNU iostreams for C++.
- * These are all the same, just used differently.
- * An _IO_FILE (or FILE) object is allows followed by a pointer to
- * a jump table (of pointers to functions). The pointer is accessed
- * with the _IO_JUMPS macro. The jump table has a eccentric format,
- * so as to be compatible with the layout of a C++ virtual function table.
- * (as implemented by g++). When a pointer to a streambuf object is
- * coerced to an (_IO_FILE*), then _IO_JUMPS on the result just
- * happens to point to the virtual function table of the streambuf.
- * Thus the _IO_JUMPS function table used for C stdio/libio does
- * double duty as the virtual function table for C++ streambuf.
- *
- * The entries in the _IO_JUMPS function table (and hence also the
- * virtual functions of a streambuf) are described below.
- * The first parameter of each function entry is the _IO_FILE/streambuf
- * object being acted on (i.e. the 'this' parameter).
- */
-
-#define _IO_JUMPS(THIS) ((struct _IO_FILE_plus *) (THIS))->vtable
-#ifdef _G_USING_THUNKS
-# define JUMP_FIELD(TYPE, NAME) TYPE NAME
-# define JUMP0(FUNC, THIS) _IO_JUMPS(THIS)->FUNC (THIS)
-# define JUMP1(FUNC, THIS, X1) _IO_JUMPS(THIS)->FUNC (THIS, X1)
-# define JUMP2(FUNC, THIS, X1, X2) _IO_JUMPS(THIS)->FUNC (THIS, X1, X2)
-# define JUMP3(FUNC, THIS, X1,X2,X3) _IO_JUMPS(THIS)->FUNC (THIS, X1,X2, X3)
-# define JUMP_INIT(NAME, VALUE) VALUE
-# define JUMP_INIT_DUMMY JUMP_INIT(dummy, 0), JUMP_INIT (dummy2, 0)
-#else
-/* These macros will change when we re-implement vtables to use "thunks"! */
-# define JUMP_FIELD(TYPE, NAME) struct { short delta1, delta2; TYPE pfn; } NAME
-# define JUMP0(FUNC, THIS) _IO_JUMPS(THIS)->FUNC.pfn (THIS)
-# define JUMP1(FUNC, THIS, X1) _IO_JUMPS(THIS)->FUNC.pfn (THIS, X1)
-# define JUMP2(FUNC, THIS, X1, X2) _IO_JUMPS(THIS)->FUNC.pfn (THIS, X1, X2)
-# define JUMP3(FUNC, THIS, X1,X2,X3) _IO_JUMPS(THIS)->FUNC.pfn (THIS, X1,X2,X3)
-# define JUMP_INIT(NAME, VALUE) {0, 0, VALUE}
-# define JUMP_INIT_DUMMY JUMP_INIT(dummy, 0)
-#endif
-
-/* The 'finish' function does any final cleaning up of an _IO_FILE object.
- It does not delete (free) it, but does everything else to finalize it/
- It matches the streambuf::~streambuf virtual destructor. */
-typedef void (*_IO_finish_t) __PMT ((_IO_FILE *, int)); /* finalize */
-#define _IO_FINISH(FP) JUMP1 (__finish, FP, 0)
-
-/* The 'overflow' hook flushes the buffer.
- The second argument is a character, or EOF.
- It matches the streambuf::overflow virtual function. */
-typedef int (*_IO_overflow_t) __PMT ((_IO_FILE *, int));
-#define _IO_OVERFLOW(FP, CH) JUMP1 (__overflow, FP, CH)
-
-/* The 'underflow' hook tries to fills the get buffer.
- It returns the next character (as an unsigned char) or EOF. The next
- character remains in the get buffer, and the get position is not changed.
- It matches the streambuf::underflow virtual function. */
-typedef int (*_IO_underflow_t) __PMT ((_IO_FILE *));
-#define _IO_UNDERFLOW(FP) JUMP0 (__underflow, FP)
-
-/* The 'uflow' hook returns the next character in the input stream
- (cast to unsigned char), and increments the read position;
- EOF is returned on failure.
- It matches the streambuf::uflow virtual function, which is not in the
- cfront implementation, but was added to C++ by the ANSI/ISO committee. */
-#define _IO_UFLOW(FP) JUMP0 (__uflow, FP)
-
-/* The 'pbackfail' hook handles backing up.
- It matches the streambuf::pbackfail virtual function. */
-typedef int (*_IO_pbackfail_t) __PMT ((_IO_FILE *, int));
-#define _IO_PBACKFAIL(FP, CH) JUMP1 (__pbackfail, FP, CH)
-
-/* The 'xsputn' hook writes upto N characters from buffer DATA.
- Returns the number of character actually written.
- It matches the streambuf::xsputn virtual function. */
-typedef _IO_size_t (*_IO_xsputn_t) __PMT ((_IO_FILE *FP, const void *DATA,
- _IO_size_t N));
-#define _IO_XSPUTN(FP, DATA, N) JUMP2 (__xsputn, FP, DATA, N)
-
-/* The 'xsgetn' hook reads upto N characters into buffer DATA.
- Returns the number of character actually read.
- It matches the streambuf::xsgetn virtual function. */
-typedef _IO_size_t (*_IO_xsgetn_t) __PMT ((_IO_FILE *FP, void *DATA,
- _IO_size_t N));
-#define _IO_XSGETN(FP, DATA, N) JUMP2 (__xsgetn, FP, DATA, N)
-
-/* The 'seekoff' hook moves the stream position to a new position
- relative to the start of the file (if DIR==0), the current position
- (MODE==1), or the end of the file (MODE==2).
- It matches the streambuf::seekoff virtual function.
- It is also used for the ANSI fseek function. */
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_off64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
- int DIR, int MODE));
-#else
-typedef _IO_off_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
- int DIR, int MODE));
-#endif
-#define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE)
-
-/* The 'seekpos' hook also moves the stream position,
- but to an absolute position given by a fpos_t (seekpos).
- It matches the streambuf::seekpos virtual function.
- It is also used for the ANSI fgetpos and fsetpos functions. */
-/* The _IO_seek_cur and _IO_seek_end options are not allowed. */
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_off64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
-#else
-typedef _IO_off_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off_t, int));
-#endif
-#define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS)
-
-/* The 'setbuf' hook gives a buffer to the file.
- It matches the streambuf::setbuf virtual function. */
-typedef _IO_FILE* (*_IO_setbuf_t) __PMT ((_IO_FILE *, char *, _IO_ssize_t));
-#define _IO_SETBUF(FP, BUFFER, LENGTH) JUMP2 (__setbuf, FP, BUFFER, LENGTH)
-
-/* The 'sync' hook attempts to synchronize the internal data structures
- of the file with the external state.
- It matches the streambuf::sync virtual function. */
-typedef int (*_IO_sync_t) __PMT ((_IO_FILE *));
-#define _IO_SYNC(FP) JUMP0 (__sync, FP)
-
-/* The 'doallocate' hook is used to tell the file to allocate a buffer.
- It matches the streambuf::doallocate virtual function, which is not
- in the ANSI/ISO C++ standard, but is part traditional implementations. */
-typedef int (*_IO_doallocate_t) __PMT ((_IO_FILE *));
-#define _IO_DOALLOCATE(FP) JUMP0 (__doallocate, FP)
-
-/* The following four hooks (sysread, syswrite, sysclose, sysseek, and
- sysstat) are low-level hooks specific to this implementation.
- There is no correspondence in the ANSI/ISO C++ standard library.
- The hooks basically correspond to the Unix system functions
- (read, write, close, lseek, and stat) except that a _IO_FILE*
- parameter is used instead of a integer file descriptor; the default
- implementation used for normal files just calls those functions.
- The advantage of overriding these functions instead of the higher-level
- ones (underflow, overflow etc) is that you can leave all the buffering
- higher-level functions. */
-
-/* The 'sysread' hook is used to read data from the external file into
- an existing buffer. It generalizes the Unix read(2) function.
- It matches the streambuf::sys_read virtual function, which is
- specific to this implementation. */
-typedef _IO_ssize_t (*_IO_read_t) __PMT ((_IO_FILE *, void *, _IO_ssize_t));
-#define _IO_SYSREAD(FP, DATA, LEN) JUMP2 (__read, FP, DATA, LEN)
-
-/* The 'syswrite' hook is used to write data from an existing buffer
- to an external file. It generalizes the Unix write(2) function.
- It matches the streambuf::sys_write virtual function, which is
- specific to this implementation. */
-typedef _IO_ssize_t (*_IO_write_t) __PMT ((_IO_FILE *,const void *,_IO_ssize_t));
-#define _IO_SYSWRITE(FP, DATA, LEN) JUMP2 (__write, FP, DATA, LEN)
-
-/* The 'sysseek' hook is used to re-position an external file.
- It generalizes the Unix lseek(2) function.
- It matches the streambuf::sys_seek virtual function, which is
- specific to this implementation. */
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_off64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
-#else
-typedef _IO_off_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
-#endif
-#define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE)
-
-/* The 'sysclose' hook is used to finalize (close, finish up) an
- external file. It generalizes the Unix close(2) function.
- It matches the streambuf::sys_close virtual function, which is
- specific to this implementation. */
-typedef int (*_IO_close_t) __PMT ((_IO_FILE *)); /* finalize */
-#define _IO_SYSCLOSE(FP) JUMP0 (__close, FP)
-
-/* The 'sysstat' hook is used to get information about an external file
- into a struct stat buffer. It generalizes the Unix fstat(2) call.
- It matches the streambuf::sys_stat virtual function, which is
- specific to this implementation. */
-typedef int (*_IO_stat_t) __PMT ((_IO_FILE *, void *));
-#define _IO_SYSSTAT(FP, BUF) JUMP1 (__stat, FP, BUF)
-
-#if _G_IO_IO_FILE_VERSION == 0x20001
-/* The 'showmany' hook can be used to get an image how much input is
- available. In many cases the answer will be 0 which means unknown
- but some cases one can provide real information. */
-typedef int (*_IO_showmanyc_t) __PMT ((_IO_FILE *));
-#define _IO_SHOWMANYC(FP) JUMP0 (__showmanyc, FP)
-
-/* The 'imbue' hook is used to get information about the currently
- installed locales. */
-typedef void (*_IO_imbue_t) __PMT ((_IO_FILE *, void *));
-#define _IO_IMBUE(FP, LOCALE) JUMP1 (__imbue, FP, LOCALE)
-#endif
-
-
-#define _IO_CHAR_TYPE char /* unsigned char ? */
-#define _IO_INT_TYPE int
-
-struct _IO_jump_t
-{
- JUMP_FIELD(_G_size_t, __dummy);
-#ifdef _G_USING_THUNKS
- JUMP_FIELD(_G_size_t, __dummy2);
-#endif
- JUMP_FIELD(_IO_finish_t, __finish);
- JUMP_FIELD(_IO_overflow_t, __overflow);
- JUMP_FIELD(_IO_underflow_t, __underflow);
- JUMP_FIELD(_IO_underflow_t, __uflow);
- JUMP_FIELD(_IO_pbackfail_t, __pbackfail);
- /* showmany */
- JUMP_FIELD(_IO_xsputn_t, __xsputn);
- JUMP_FIELD(_IO_xsgetn_t, __xsgetn);
- JUMP_FIELD(_IO_seekoff_t, __seekoff);
- JUMP_FIELD(_IO_seekpos_t, __seekpos);
- JUMP_FIELD(_IO_setbuf_t, __setbuf);
- JUMP_FIELD(_IO_sync_t, __sync);
- JUMP_FIELD(_IO_doallocate_t, __doallocate);
- JUMP_FIELD(_IO_read_t, __read);
- JUMP_FIELD(_IO_write_t, __write);
- JUMP_FIELD(_IO_seek_t, __seek);
- JUMP_FIELD(_IO_close_t, __close);
- JUMP_FIELD(_IO_stat_t, __stat);
-#if _G_IO_IO_FILE_VERSION == 0x20001
- JUMP_FIELD(_IO_showmanyc_t, __showmanyc);
- JUMP_FIELD(_IO_imbue_t, __imbue);
-#endif
-#if 0
- get_column;
- set_column;
-#endif
-};
-
-/* We always allocate an extra word following an _IO_FILE.
- This contains a pointer to the function jump table used.
- This is for compatibility with C++ streambuf; the word can
- be used to smash to a pointer to a virtual function table. */
-
-struct _IO_FILE_plus
-{
- _IO_FILE file;
- const struct _IO_jump_t *vtable;
-};
-
-/* Generic functions */
-
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-
-extern void _IO_switch_to_main_get_area __P ((_IO_FILE *));
-extern void _IO_switch_to_backup_area __P ((_IO_FILE *));
-extern int _IO_switch_to_get_mode __P ((_IO_FILE *));
-extern void _IO_init __P ((_IO_FILE *, int));
-extern int _IO_sputbackc __P ((_IO_FILE *, int));
-extern int _IO_sungetc __P ((_IO_FILE *));
-extern void _IO_un_link __P ((_IO_FILE *));
-extern void _IO_link_in __P ((_IO_FILE *));
-extern void _IO_doallocbuf __P ((_IO_FILE *));
-extern void _IO_unsave_markers __P ((_IO_FILE *));
-extern void _IO_setb __P ((_IO_FILE *, char *, char *, int));
-extern unsigned _IO_adjust_column __P ((unsigned, const char *, int));
-#define _IO_sputn(__fp, __s, __n) _IO_XSPUTN (__fp, __s, __n)
-
-/* Marker-related function. */
-
-extern void _IO_init_marker __P ((struct _IO_marker *, _IO_FILE *));
-extern void _IO_remove_marker __P ((struct _IO_marker *));
-extern int _IO_marker_difference __P ((struct _IO_marker *,
- struct _IO_marker *));
-extern int _IO_marker_delta __P ((struct _IO_marker *));
-extern int _IO_seekmark __P ((_IO_FILE *, struct _IO_marker *, int));
-
-/* Default jumptable functions. */
-
-extern int _IO_default_underflow __P ((_IO_FILE *));
-extern int _IO_default_uflow __P ((_IO_FILE *));
-extern int _IO_default_doallocate __P ((_IO_FILE *));
-extern void _IO_default_finish __P ((_IO_FILE *, int));
-extern int _IO_default_pbackfail __P ((_IO_FILE *, int));
-extern _IO_FILE* _IO_default_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
-extern _IO_size_t _IO_default_xsputn __P ((_IO_FILE *, const void *,
- _IO_size_t));
-extern _IO_size_t _IO_default_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_default_seekoff __P ((_IO_FILE *,
- _IO_off64_t, int, int));
-extern _IO_off64_t _IO_default_seekpos __P ((_IO_FILE *,
- _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_off_t _IO_default_seekpos __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-extern _IO_ssize_t _IO_default_write __P ((_IO_FILE *, const void *,
- _IO_ssize_t));
-extern _IO_ssize_t _IO_default_read __P ((_IO_FILE *, void *, _IO_ssize_t));
-extern int _IO_default_stat __P ((_IO_FILE *, void *));
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-extern int _IO_default_sync __P ((_IO_FILE *));
-#define _IO_default_close ((_IO_close_t) _IO_default_sync)
-
-extern struct _IO_jump_t _IO_file_jumps;
-extern struct _IO_jump_t _IO_streambuf_jumps;
-extern struct _IO_jump_t _IO_proc_jumps;
-extern struct _IO_jump_t _IO_str_jumps;
-extern int _IO_do_write __P ((_IO_FILE *, const char *, _IO_size_t));
-extern int _IO_flush_all __P ((void));
-extern void _IO_cleanup __P ((void));
-extern void _IO_flush_all_linebuffered __P ((void));
-
-#define _IO_do_flush(_f) \
- _IO_do_write(_f, (_f)->_IO_write_base, \
- (_f)->_IO_write_ptr-(_f)->_IO_write_base)
-#define _IO_in_put_mode(_fp) ((_fp)->_flags & _IO_CURRENTLY_PUTTING)
-#define _IO_mask_flags(fp, f, mask) \
- ((fp)->_flags = ((fp)->_flags & ~(mask)) | ((f) & (mask)))
-#define _IO_setg(fp, eb, g, eg) ((fp)->_IO_read_base = (eb),\
- (fp)->_IO_read_ptr = (g), (fp)->_IO_read_end = (eg))
-#define _IO_setp(__fp, __p, __ep) \
- ((__fp)->_IO_write_base = (__fp)->_IO_write_ptr = __p, (__fp)->_IO_write_end = (__ep))
-#define _IO_have_backup(fp) ((fp)->_IO_save_base != NULL)
-#define _IO_in_backup(fp) ((fp)->_flags & _IO_IN_BACKUP)
-#define _IO_have_markers(fp) ((fp)->_markers != NULL)
-#define _IO_blen(fp) ((fp)->_IO_buf_end - (fp)->_IO_buf_base)
-
-/* Jumptable functions for files. */
-
-extern int _IO_file_doallocate __P ((_IO_FILE *));
-extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_off64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_off_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
-extern int _IO_file_stat __P ((_IO_FILE *, void *));
-extern int _IO_file_close __P ((_IO_FILE *));
-extern int _IO_file_underflow __P ((_IO_FILE *));
-extern int _IO_file_overflow __P ((_IO_FILE *, int));
-#define _IO_file_is_open(__fp) ((__fp)->_fileno >= 0)
-extern void _IO_file_init __P ((_IO_FILE *));
-extern _IO_FILE* _IO_file_attach __P ((_IO_FILE *, int));
-extern _IO_FILE* _IO_file_open __P ((_IO_FILE *, const char *, int, int,
- int, int));
-#if _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_FILE* _IO_file_fopen __P ((_IO_FILE *, const char *, const char *,
- int));
-#else
-extern _IO_FILE* _IO_file_fopen __P ((_IO_FILE *, const char *, const char *));
-#endif
-extern _IO_ssize_t _IO_file_write __P ((_IO_FILE *, const void *,
- _IO_ssize_t));
-extern _IO_ssize_t _IO_file_read __P ((_IO_FILE *, void *, _IO_ssize_t));
-extern int _IO_file_sync __P ((_IO_FILE *));
-extern int _IO_file_close_it __P ((_IO_FILE *));
-extern void _IO_file_finish __P ((_IO_FILE *, int));
-
-/* Jumptable functions for proc_files. */
-extern _IO_FILE* _IO_proc_open __P ((_IO_FILE *, const char *, const char *));
-extern int _IO_proc_close __P ((_IO_FILE *));
-
-/* Jumptable functions for strfiles. */
-extern int _IO_str_underflow __P ((_IO_FILE *));
-extern int _IO_str_overflow __P ((_IO_FILE *, int));
-extern int _IO_str_pbackfail __P ((_IO_FILE *, int));
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-#else
-extern _IO_off_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-#endif
-extern void _IO_str_finish __P ((_IO_FILE *, int));
-
-/* Other strfile functions */
-extern void _IO_str_init_static __P ((_IO_FILE *, char *, int, char *));
-extern void _IO_str_init_readonly __P ((_IO_FILE *, const char *, int));
-extern _IO_ssize_t _IO_str_count __P ((_IO_FILE *));
-
-extern int _IO_vasprintf __P ((char **result_ptr, __const char *format,
- _IO_va_list args));
-extern int _IO_vdprintf __P ((int d, __const char *format, _IO_va_list arg));
-extern int _IO_vsnprintf __P ((char *string, _IO_size_t maxlen,
- __const char *format, _IO_va_list args));
-
-
-extern _IO_size_t _IO_getline __P ((_IO_FILE *,char *, _IO_size_t, int, int));
-extern _IO_size_t _IO_getline_info __P ((_IO_FILE *,char *, _IO_size_t,
- int, int, int *));
-extern _IO_ssize_t _IO_getdelim __P ((char **, _IO_size_t *, int, _IO_FILE *));
-extern double _IO_strtod __P ((const char *, char **));
-extern char *_IO_dtoa __P ((double __d, int __mode, int __ndigits,
- int *__decpt, int *__sign, char **__rve));
-extern int _IO_outfloat __P ((double __value, _IO_FILE *__sb, int __type,
- int __width, int __precision, int __flags,
- int __sign_mode, int __fill));
-
-extern _IO_FILE *_IO_list_all;
-extern void (*_IO_cleanup_registration_needed) __PMT ((void));
-
-#ifndef EOF
-# define EOF (-1)
-#endif
-#ifndef NULL
-# if defined __GNUG__ && \
- (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8))
-# define NULL (__null)
-# else
-# if !defined(__cplusplus)
-# define NULL ((void*)0)
-# else
-# define NULL (0)
-# endif
-# endif
-#endif
-
-#if _G_HAVE_MMAP
-
-# include <unistd.h>
-# include <fcntl.h>
-# include <sys/mman.h>
-# include <sys/param.h>
-
-# if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)
-# define MAP_ANONYMOUS MAP_ANON
-# endif
-
-# if !defined(MAP_ANONYMOUS) || !defined(EXEC_PAGESIZE)
-# undef _G_HAVE_MMAP
-# define _G_HAVE_MMAP 0
-# endif
-
-#endif /* _G_HAVE_MMAP */
-
-#if _G_HAVE_MMAP
-
-# ifdef _LIBC
-/* When using this code in the GNU libc we must not pollute the name space. */
-# define mmap __mmap
-# define munmap __munmap
-# endif
-
-# define ROUND_TO_PAGE(_S) \
- (((_S) + EXEC_PAGESIZE - 1) & ~(EXEC_PAGESIZE - 1))
-
-# define FREE_BUF(_B, _S) \
- munmap ((_B), ROUND_TO_PAGE (_S))
-# define ALLOC_BUF(_B, _S, _R) \
- do { \
- (_B) = (char *) mmap (0, ROUND_TO_PAGE (_S), \
- PROT_READ | PROT_WRITE, \
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); \
- if ((_B) == (char *) -1) \
- return (_R); \
- } while (0)
-
-#else /* _G_HAVE_MMAP */
-
-# define FREE_BUF(_B, _S) \
- free(_B)
-# define ALLOC_BUF(_B, _S, _R) \
- do { \
- (_B) = (char*)malloc(_S); \
- if ((_B) == NULL) \
- return (_R); \
- } while (0)
-
-#endif /* _G_HAVE_MMAP */
-
-#ifndef OS_FSTAT
-# define OS_FSTAT fstat
-#endif
-struct stat;
-extern _IO_ssize_t _IO_read __P ((int, void *, _IO_size_t));
-extern _IO_ssize_t _IO_write __P ((int, const void *, _IO_size_t));
-extern _IO_off_t _IO_lseek __P ((int, _IO_off_t, int));
-extern int _IO_close __P ((int));
-extern int _IO_fstat __P ((int, struct stat *));
-extern int _IO_vscanf __P ((const char *, _IO_va_list));
-
-/* Operations on _IO_fpos_t.
- Normally, these are trivial, but we provide hooks for configurations
- where an _IO_fpos_t is a struct.
- Note that _IO_off_t must be an integral type. */
-
-/* _IO_pos_BAD is an _IO_off_t value indicating error, unknown, or EOF. */
-#ifndef _IO_pos_BAD
-# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-# define _IO_pos_BAD ((_IO_off64_t) -1)
-# else
-# define _IO_pos_BAD ((_IO_off_t) -1)
-# endif
-#endif
-/* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */
-#ifndef _IO_pos_as_off
-# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-# define _IO_pos_as_off(__pos) ((_IO_off64_t) (__pos))
-# else
-# define _IO_pos_as_off(__pos) ((_IO_off_t) (__pos))
-# endif
-#endif
-/* _IO_pos_adjust adjust an _IO_fpos_t by some number of bytes. */
-#ifndef _IO_pos_adjust
-# define _IO_pos_adjust(__pos, __delta) ((__pos) += (__delta))
-#endif
-/* _IO_pos_0 is an _IO_fpos_t value indicating beginning of file. */
-#ifndef _IO_pos_0
-# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-# define _IO_pos_0 ((_IO_fpos64_t) 0)
-# else
-# define _IO_pos_0 ((_IO_fpos_t) 0)
-# endif
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef _IO_MTSAFE_IO
-/* check following! */
-# define FILEBUF_LITERAL(CHAIN, FLAGS, FD) \
- { _IO_MAGIC+_IO_LINKED+_IO_IS_FILEBUF+FLAGS, \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, FD, \
- 0, 0, 0, 0, { 0 }, &_IO_stdfile_##FD##_lock }
-#else
-/* check following! */
-# define FILEBUF_LITERAL(CHAIN, FLAGS, FD) \
- { _IO_MAGIC+_IO_LINKED+_IO_IS_FILEBUF+FLAGS, \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, FD }
-#endif
-
-/* VTABLE_LABEL defines NAME as of the CLASS class.
- CNLENGTH is strlen(#CLASS). */
-#ifdef __GNUC__
-# if _G_VTABLE_LABEL_HAS_LENGTH
-# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
- extern char NAME[] asm (_G_VTABLE_LABEL_PREFIX #CNLENGTH #CLASS);
-# else
-# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
- extern char NAME[] asm (_G_VTABLE_LABEL_PREFIX #CLASS);
-# endif
-#endif /* __GNUC__ */
-
-#if !defined(builtinbuf_vtable) && defined(__cplusplus)
-# ifdef __GNUC__
-VTABLE_LABEL(builtinbuf_vtable, builtinbuf, 10)
-# else
-# if _G_VTABLE_LABEL_HAS_LENGTH
-# define builtinbuf_vtable _G_VTABLE_LABEL_PREFIX_ID##10builtinbuf
-# else
-# define builtinbuf_vtable _G_VTABLE_LABEL_PREFIX_ID##builtinbuf
-# endif
-# endif
-#endif /* !defined(builtinbuf_vtable) && defined(__cplusplus) */
-
-#if defined(__STDC__) || defined(__cplusplus)
-# define _IO_va_start(args, last) va_start(args, last)
-#else
-# define _IO_va_start(args, last) va_start(args)
-#endif
-
-extern struct _IO_fake_stdiobuf _IO_stdin_buf, _IO_stdout_buf, _IO_stderr_buf;
-
-#if 1
-# define COERCE_FILE(FILE) /* Nothing */
-#else
-/* This is part of the kludge for binary compatibility with old stdio. */
-# define COERCE_FILE(FILE) \
- (((FILE)->_IO_file_flags & _IO_MAGIC_MASK) == _OLD_MAGIC_MASK \
- && (FILE) = *(FILE**)&((int*)fp)[1])
-#endif
-
-#ifdef EINVAL
-# define MAYBE_SET_EINVAL __set_errno (EINVAL)
-#else
-# define MAYBE_SET_EINVAL /* nothing */
-#endif
-
-#ifdef IO_DEBUG
-# define CHECK_FILE(FILE, RET) \
- if ((FILE) == NULL) { MAYBE_SET_EINVAL; return RET; } \
- else { COERCE_FILE(FILE); \
- if (((FILE)->_IO_file_flags & _IO_MAGIC_MASK) != _IO_MAGIC) \
- { MAYBE_SET_EINVAL; return RET; }}
-#else
-# define CHECK_FILE(FILE, RET) COERCE_FILE (FILE)
-#endif
diff --git a/contrib/libio/osform.cc b/contrib/libio/osform.cc
deleted file mode 100644
index f08f2ef..0000000
--- a/contrib/libio/osform.cc
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-#include <iostream.h>
-#include <stdarg.h>
-
-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()) {
- _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;
-}
diff --git a/contrib/libio/ostream.h b/contrib/libio/ostream.h
deleted file mode 100644
index f54ec1d..0000000
--- a/contrib/libio/ostream.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include <stream.h>
diff --git a/contrib/libio/outfloat.c b/contrib/libio/outfloat.c
deleted file mode 100644
index 5cbb6c9..0000000
--- a/contrib/libio/outfloat.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-
-#ifdef _IO_USE_DTOA
-/* Format floating-point number and print them.
- Return number of chars printed, or EOF on error.
-
- sign_mode == '+' : print "-" or "+"
- sign_mode == ' ' : print "-" or " "
- sign_mode == '\0' : print "-' or ""
-*/
-
-int
-_IO_outfloat (value, sb, type, width, precision, flags, sign_mode, fill)
- double value;
- _IO_FILE *sb;
- int type;
- int width;
- int precision;
- int flags;
- int sign_mode;
- int fill;
-{
- int count = 0;
-#define PUT(x) do {if (_IO_putc(x, sb) < 0) goto error; count++;} while (0)
-#define PUTN(p, n) \
- do {int _n=n; count+=_n; if (_IO_sputn(sb, p,_n) != _n) goto error;} while(0)
-#define PADN(fill, n) \
- do {int _n = n; count+=_n; if (_IO_padn(sb, fill, _n) != _n) goto error;} while (0)
- int pad_kind = flags & (_IO_LEFT|_IO_RIGHT|_IO_INTERNAL);
- int skip_zeroes = 0;
- int show_dot = (flags & _IO_SHOWPOINT) != 0;
- int decpt;
- int sign;
- int mode;
- int exponent_size;
- int print_sign;
- int trailing_zeroes, useful_digits;
- int padding, unpadded_width;
- char *p;
- char *exponent_start;
- register int i;
-#define EBUF_SIZE 12
-#define EBUF_END &ebuf[EBUF_SIZE]
- char ebuf[EBUF_SIZE];
- char *end;
- int exp = 0;
- switch (type)
- {
- case 'f':
- mode = 3;
- break;
- case 'e':
- case 'E':
- exp = type;
- mode = 2;
- if (precision != 999)
- precision++; /* Add one to include digit before decimal point. */
- break;
- case 'g':
- case 'G':
- exp = type == 'g' ? 'e' : 'E';
- if (precision == 0) precision = 1;
- if (!(flags & _IO_SHOWPOINT))
- skip_zeroes = 1;
- type = 'g';
- mode = 2;
- break;
- }
- /* Do the actual convension */
- if (precision == 999 && mode != 3)
- mode = 0;
- p = _IO_dtoa(value, mode, precision, &decpt, &sign, &end);
- useful_digits = end-p;
- exponent_start = EBUF_END;
- if (mode == 0)
- precision = useful_digits;
- /* Check if we need to emit an exponent. */
- if (mode != 3 && decpt != 9999)
- {
- i = decpt - 1;
- if ((type != 'g' && type != 'F') || i < -4 || i >= precision)
- {
- /* Print the exponent into ebuf.
- We write ebuf in reverse order (right-to-left). */
- char sign;
- if (i >= 0)
- sign = '+';
- else
- sign = '-', i = -i;
- /* Note: ANSI requires at least 2 exponent digits. */
- do {
- *--exponent_start = (i % 10) + '0';
- i /= 10;
- } while (i >= 10);
- *--exponent_start = i + '0';
- *--exponent_start = sign;
- *--exponent_start = exp;
- }
- }
- exponent_size = EBUF_END - exponent_start;
- if (mode == 1)
- precision = 1;
- /* If we print an exponent, always show just one digit before point. */
- if (exponent_size)
- decpt = 1;
- if (decpt == 9999)
- { /* Infinity or NaN */
- decpt = useful_digits;
- precision = 0;
- show_dot = 0;
- }
-
- /* dtoa truncates trailing zeroes. Set the variable trailing_zeroes to
- the number of 0's we have to add (after the decimal point). */
- if (skip_zeroes)
- trailing_zeroes = 0;
- else if (type == 'f')
- trailing_zeroes = useful_digits <= decpt ? precision
- : precision-(useful_digits-decpt);
- else if (exponent_size) /* 'e' 'E' or 'g' format using exponential notation*/
- trailing_zeroes = precision - useful_digits;
- else /* 'g' format not using exponential notation. */
- trailing_zeroes = useful_digits <= decpt ? precision - decpt
- : precision-useful_digits;
- if (trailing_zeroes < 0) trailing_zeroes = 0;
-
- if (trailing_zeroes != 0 || useful_digits > decpt)
- show_dot = 1;
- if (sign_mode == 0)
- print_sign = sign ? '-' : 0;
- else if (sign_mode == '+')
- print_sign = sign ? '-' : '+';
- else /* if (sign_mode == ' ') */
- print_sign = sign ? '-' : ' ';
-
- /* Calculate the width (before padding). */
- unpadded_width =
- (print_sign != 0) + trailing_zeroes + exponent_size + show_dot
- + useful_digits
- + (decpt > useful_digits ? decpt - useful_digits
- : decpt > 0 ? 0 : 1 - decpt);
-
- padding = width > unpadded_width ? width - unpadded_width : 0;
- if (padding > 0 && pad_kind != _IO_LEFT && pad_kind != _IO_INTERNAL)
- PADN(fill, padding); /* Default (right) adjust */
- if (print_sign)
- PUT(print_sign);
- if (pad_kind == _IO_INTERNAL && padding > 0)
- PADN(fill, padding);
- if (decpt > 0)
- {
- if (useful_digits >= decpt)
- PUTN(p, decpt);
- else
- {
- PUTN(p, useful_digits);
- PADN('0', decpt-useful_digits);
- }
- if (show_dot)
- {
- PUT('.');
- /* Print digits after the decimal point. */
- if (useful_digits > decpt)
- PUTN(p + decpt, useful_digits-decpt);
- }
- }
- else
- {
- PUT('0');
- if (show_dot)
- {
- PUT('.');
- PADN('0', -decpt);
- /* Print digits after the decimal point. */
- PUTN(p, useful_digits);
- }
- }
- PADN('0', trailing_zeroes);
- if (exponent_size)
- PUTN(exponent_start, exponent_size);
- if (pad_kind == _IO_LEFT && padding > 0) /* Left adjustment*/
- PADN(fill, padding);
- return count;
- error:
- return EOF;
-}
-#endif
diff --git a/contrib/libio/parsestream.cc b/contrib/libio/parsestream.cc
deleted file mode 100644
index e430e60..0000000
--- a/contrib/libio/parsestream.cc
+++ /dev/null
@@ -1,317 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License.
-
-Written by Per Bothner (bothner@cygnus.com). */
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
-#include "libioP.h"
-#include "parsestream.h"
-#include <stdlib.h>
-
-streambuf* parsebuf::setbuf(char*, int)
-{
- return NULL;
-}
-
-int parsebuf::tell_in_line()
-{
- return 0;
-}
-
-int parsebuf::pbackfail(int c)
-{
- if (c == EOF)
- return 0;
- if (seekoff(-1, ios::cur) == EOF)
- return EOF;
- return (unsigned char)c;
-}
-
-char* parsebuf::current_line() { return NULL; }
-
-streampos parsebuf::seekoff(streamoff offset, _seek_dir dir, int)
-{
- // Make offset relative to line start.
- switch (dir) {
- case ios::beg:
- offset -= pos_at_line_start;
- break;
- case ios::cur:
- offset += tell_in_line();
- break;
- default:
- return EOF;
- }
- if (offset < -1)
- return EOF;
- if (offset > _line_length + 1)
- return EOF;
- return seek_in_line(offset) + pos_at_line_start;
-}
-
-// string_parsebuf invariants:
-// The reserve ares (base() .. ebuf()) is always the entire string.
-// The get area (eback() .. egptr()) is the extended current line
-// (i.e. with the '\n' at either end, if these exist).
-
-string_parsebuf::string_parsebuf(char *buf, int len,
- int delete_at_close /* = 0*/)
-: parsebuf()
-{
- setb(buf, buf+len, delete_at_close);
- register char *ptr = buf;
- while (ptr < ebuf() && *ptr != '\n') ptr++;
- _line_length = ptr - buf;
- setg(buf, buf, ptr);
-}
-
-int string_parsebuf::underflow()
-{
- register char* ptr = egptr(); // Point to end of current_line
- do {
- int i = right() - ptr;
- if (i <= 0)
- return EOF;
- ptr++; i--; // Skip '\n'.
- char *line_start = ptr;
- while (ptr < right() && *ptr == '\n') ptr++;
- setg(line_start-1, line_start, ptr + (ptr < right()));
- pos_at_line_start = line_start - left();
- _line_length = ptr - line_start;
- __line_number++;
- } while (gptr() == ptr);
- return *gptr();
-}
-
-char* string_parsebuf::current_line()
-{
- char *ptr = eback();
- if (__line_number > 0)
- ptr++; // Skip '\n' at end of previous line.
- return ptr;
-}
-
-int string_parsebuf::tell_in_line()
-{
- int offset = gptr() - eback();
- if (__line_number > 0)
- offset--;
- return offset;
-}
-
-int string_parsebuf::seek_in_line(int i)
-{
- int delta = i - tell_in_line();
- gbump(delta); // FIXME: Needs error (bounds) checking!
- return i;
-}
-
-static const char NewLine[1] = { '\n' };
-
-general_parsebuf::general_parsebuf(streambuf *buf, int delete_arg_buf)
- : parsebuf()
-{
- delete_buf = delete_arg_buf;
- sbuf = buf;
- int buf_size = 128;
- char* buffer = (char*)malloc(buf_size);
- setb(buffer, buffer+buf_size, 1);
-// setg(buffer, buffer, buffer);
-}
-
-general_parsebuf::~general_parsebuf()
-{
- if (delete_buf)
- delete sbuf;
-}
-
-int general_parsebuf::underflow()
-{
- register char *ptr = base();
- int has_newline = eback() < gptr() && gptr()[-1] == '\n';
- if (has_newline)
- *ptr++ = '\n';
- register streambuf *sb = sbuf;
- register int ch;
- for (;;) {
- ch = sb->sbumpc();
- if (ch == EOF)
- break;
- if (ptr == ebuf()) {
- int old_size = ebuf() - base();
- char *new_buffer = new char[old_size * 2];
- memcpy(new_buffer, base(), old_size);
- setb(new_buffer, new_buffer + 2 * old_size, 1);
- ptr = new_buffer + old_size;
- }
- *ptr++ = ch;
- if (ch == '\n')
- break;
- }
- char *cur_pos = base() + has_newline;
- pos_at_line_start += _line_length + 1;
- _line_length = ptr - cur_pos;
- if (ch != EOF || _line_length > 0)
- __line_number++;
- setg(base(), cur_pos, ptr);
- return ptr == cur_pos ? EOF : cur_pos[0];
-}
-
-char* general_parsebuf::current_line()
-{
- char* ret = base();
- if (__line_number > 1)
- ret++; // Move past '\n' from end of previous line.
- return ret;
-}
-
-int general_parsebuf::tell_in_line()
-{
- int off = gptr() - base();
- if (__line_number > 1)
- off--; // Subtract 1 for '\n' from end of previous line.
- return off;
-}
-
-int general_parsebuf::seek_in_line(int i)
-{
- if (__line_number == 0)
- (void)general_parsebuf::underflow();
- if (__line_number > 1)
- i++; // Add 1 for '\n' from end of previous line.
- if (i < 0) i = 0;
- int len = egptr() - eback();
- if (i > len) i = len;
- setg(base(), base() + i, egptr());
- return i;
-}
-
-func_parsebuf::func_parsebuf(CharReader func, void *argm) : parsebuf()
-{
- read_func = func;
- arg = argm;
- buf_start = NULL;
- buf_end = NULL;
- setb((char*)NewLine, (char*)NewLine+1, 0);
- setg((char*)NewLine, (char*)NewLine+1, (char*)NewLine+1);
- backed_up_to_newline = 0;
-}
-
-int func_parsebuf::tell_in_line()
-{
- if (buf_start == NULL)
- return 0;
- if (egptr() != (char*)NewLine+1)
- // Get buffer was line buffer.
- return gptr() - buf_start;
- if (backed_up_to_newline)
- return -1; // Get buffer is '\n' preceding current line.
- // Get buffer is '\n' following current line.
- return (buf_end - buf_start) + (gptr() - (char*)NewLine);
-}
-
-char* func_parsebuf::current_line()
-{
- return buf_start;
-}
-
-int func_parsebuf::seek_in_line(int i)
-{
- if (i < 0) {
- // Back up to preceding '\n'.
- if (i < -1) i = -1;
- backed_up_to_newline = 1;
- setg((char*)NewLine, (char*)NewLine+(i+1), (char*)NewLine+1);
- return i;
- }
- backed_up_to_newline = 0;
- int line_length = buf_end-buf_start;
- if (i <= line_length) {
- setg(buf_start, buf_start+i, buf_end);
- return i;
- }
- i -= line_length;
- if (i > 0) i = 1;
- setg((char*)NewLine, (char*)NewLine+i, (char*)NewLine+1);
- return line_length + i;
-}
-
-int func_parsebuf::underflow()
-{
- retry:
- if (gptr() < egptr())
- return *gptr();
- if (gptr() != (char*)NewLine+1) {
- // Get buffer was line buffer. Move to following '\n'.
- setg((char*)NewLine, (char*)NewLine, (char*)NewLine+1);
- return *gptr();
- }
- if (backed_up_to_newline)
- // Get buffer was '\n' preceding current line. Move to current line.
- backed_up_to_newline = 0;
- else {
- // Get buffer was '\n' following current line. Read new line.
- if (buf_start) free(buf_start);
- char *str = (*read_func)(arg);
- buf_start = str;
- if (str == NULL)
- return EOF;
- // Initially, _line_length == -1, so pos_at_line_start becomes 0.
- pos_at_line_start += _line_length + 1;
- _line_length = strlen(str);
- buf_end = str + _line_length;
- __line_number++;
- }
- setg(buf_start, buf_start, buf_end);
- goto retry;
-}
-
-#if 0
-size_t parsebuf::line_length()
-{
- if (current_line_length == (size_t)(-1)) // Initial value;
- (void)sgetc();
- return current_line_length;
-}
-#endif
-
-int parsebuf::seek_in_line(int i)
-{
-#if 1
- abort();
- return i; // Suppress warnings.
-#else
- if (i > 0) {
- size_t len = line_length();
- if ((unsigned)i > len) i = len;
- }
- else if (i < -1) i = -1;
- int new_pos = seekoff(pos_at_line_start + i, ios::beg);
- if (new_pos == EOF)
- return tell_in_line();
- else return new_pos - pos_at_line_start;
-#endif
-}
diff --git a/contrib/libio/parsestream.h b/contrib/libio/parsestream.h
deleted file mode 100644
index 97655bc..0000000
--- a/contrib/libio/parsestream.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License.
-
-Written by Per Bothner (bothner@cygnus.com). */
-
-#ifndef PARSESTREAM_H
-#define PARSESTREAM_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-#include "streambuf.h"
-
-extern "C++" {
-// A parsebuf is a streambuf optimized for scanning text files.
-// It keeps track of line and column numbers.
-// It is guaranteed to remember the entire current line,
-// as well the '\n'-s on either side of it (if they exist).
-// You can arbitrarily seek (or unget) within this extended line.
-// Other backward seeks are not supported.
-// Normal read semantics are supported (and hence istream operators like >>).
-
-class parsebuf : public streambuf {
- protected:
- _IO_off_t pos_at_line_start;
- long _line_length;
- unsigned long __line_number;
- char *buf_start;
- char *buf_end;
-
- public:
- parsebuf *chain;
-
- // Return column number (raw - don't handle tabs etc).
- // Retult can be -1, meaning: at '\n' before current line.
- virtual int tell_in_line();
-
- // seek to (raw) column I in current line.
- // Result is new (raw) column position - differs from I if unable to seek.
- // Seek to -1 tries to seek to before previous LF.
- virtual int seek_in_line(int i);
-
- // Note: there is no "current line" initially, until something is read.
-
- // Current line number, starting with 0.
- // If tell_in_line()==-1, then line number of next line.
- int line_number() { return __line_number; }
-
- // Length of current line, not counting either '\n'.
- int line_length() { return _line_length; }
- // Current line - not a copy, so file ops may trash it.
- virtual char* current_line();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streambuf* setbuf(char* p, int len);
- protected:
- parsebuf() { chain= NULL;
- __line_number = 0; pos_at_line_start = 0; _line_length = -1; }
- virtual int pbackfail(int c);
-};
-
-// A string_parsebuf is a parsebuf whose source is a fixed string.
-
-class string_parsebuf : public parsebuf {
- public:
- int do_delete;
- string_parsebuf(char *str, int len, int delete_at_close=0);
- virtual int underflow();
- virtual char* current_line();
- virtual int seek_in_line(int i);
- virtual int tell_in_line();
- char *left() const { return base(); }
- char *right() const { return ebuf(); }
-// streampos seekoff(streamoff, _seek_dir, int);
-};
-
-// A func_parsebuf calls a given function to get new input.
-// Each call returns an entire NUL-terminated line (without the '\n').
-// That line has been allocated with malloc(), not new.
-// The interface is tailored to the GNU readline library.
-// Example:
-// char* DoReadLine(void* arg)
-// {
-// char *line = readline((char*)arg); /* 'arg' is used as prompt. */
-// if line == NULL) { putc('\n', stderr); return NULL; }
-// if (line[0] != '\0') add_history(line);
-// return line;
-// }
-// char PromptBuffer[100] = "> ";
-// func_parsebuf my_stream(DoReadLine, PromptBuffer);
-
-typedef char *(*CharReader)(void *arg);
-class istream;
-
-class func_parsebuf : public parsebuf {
- public:
- void *arg;
- CharReader read_func;
- int backed_up_to_newline;
- func_parsebuf(CharReader func, void *argm = NULL);
- int underflow();
- virtual int tell_in_line();
- virtual int seek_in_line(int i);
- virtual char* current_line();
-};
-
-// A general_parsebuf is a parsebuf which gets its input from some
-// other streambuf. It explicitly buffers up an entire line.
-
-class general_parsebuf : public parsebuf {
- public:
- streambuf *sbuf;
- int delete_buf; // Delete sbuf when destroying this.
- general_parsebuf(streambuf *buf, int delete_arg_buf = 0);
- int underflow();
- virtual int tell_in_line();
- virtual int seek_in_line(int i);
- ~general_parsebuf();
- virtual char* current_line();
-};
-
-#if 0
-class parsestream : public istream {
- streammarker marks[2];
- short _first; // of the two marks; either 0 or 1
- int _lineno;
- int first() { return _first; }
- int second() { return 1-_first; }
- int line_length() { marks[second].delta(marks[first]); }
- int line_length() { marks[second].delta(marks[first]); }
- int seek_in_line(int i);
- int tell_in_line();
- int line_number();
-};
-#endif
-} // extern "C++"
-#endif /*!defined(PARSESTREAM_H)*/
diff --git a/contrib/libio/peekc.c b/contrib/libio/peekc.c
deleted file mode 100644
index 0b3b514..0000000
--- a/contrib/libio/peekc.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef _IO_peekc
-
-int
-_IO_peekc_locked (fp)
- _IO_FILE *fp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- result = _IO_peekc_unlocked (fp);
- _IO_cleanup_region_end (1);
- return result;
-}
diff --git a/contrib/libio/pfstream.cc b/contrib/libio/pfstream.cc
deleted file mode 100644
index 3fa93c9..0000000
--- a/contrib/libio/pfstream.cc
+++ /dev/null
@@ -1,92 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
-#include "libioP.h"
-#include <pfstream.h>
-#include <procbuf.h>
-
-ipfstream::ipfstream(const char *name, int mode, int prot)
-{
- const char* p;
-
- // Look for '| command' (as used by ftp).
- for (p = name; *p == ' ' || *p == '\t'; p++) ;
- if (*p == '|') {
- procbuf *pbuf = new procbuf();
- init(pbuf);
- if (!pbuf->open(p+1, mode))
- set(ios::badbit);
- return;
- }
-
- // Look for 'command |'
- while (*p) p++; // Point to last
- while (p[-1] == ' ' || p[-1] == '\t' || p[-1] == '\n') p--;
- if (p[-1] == '|') {
- // Must remove the final '|'.
- p--;
-#if !defined (__GNUC__) || defined (__STRICT_ANSI__)
- char *command = new char[p-name+1];
-#else
- char command[p-name+1];
-#endif
- memcpy(command, name, p-name);
- command[p-name] = '\0';
-
- procbuf *pbuf = new procbuf();
- if (pbuf->open(command, mode))
- set(ios::badbit);
-#if !defined (__GNUC__) || defined (__STRICT_ANSI__)
- delete command;
-#endif
- return;
- }
-
- init(new filebuf());
- if (!rdbuf()->open(name, mode, prot))
- set(ios::badbit);
-}
-
-opfstream::opfstream(const char *name, int mode, int prot)
-{
- const char *p;
- // Look for '| command'.
- for (p = name; *p == ' ' || *p == '\t'; p++) ;
- if (*p == '|') {
- procbuf *pbuf = new procbuf();
- init(pbuf);
- if (!pbuf->open(p+1, mode))
- set(ios::badbit);
- }
- else {
- init(new filebuf());
- if (!rdbuf()->open(name, mode, prot))
- set(ios::badbit);
- }
-}
diff --git a/contrib/libio/pfstream.h b/contrib/libio/pfstream.h
deleted file mode 100644
index 3c5458b..0000000
--- a/contrib/libio/pfstream.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#ifndef _PFSTREAM_H
-#define _PFSTREAM_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-#include <fstream.h>
-
-extern "C++" {
-// ipfstream foo("NAME") is like: ifstream foo("NAME"). However,
-// if NAME starts *or ends* with a '|', the remainder of NAME is
-// evaluated as a shell command (using a procbuf), and all input
-// read from foo is whatever that shell writes to its standard output.
-// E.g. ipfstream foo("|zcat foo.Z") or ipfstream foo("zcat foo.Z|")
-// (These two forms are equivalent.)
-
-class ipfstream : public ifstream {
- public:
- ipfstream(const char *name, int mode=ios::in, int prot=0664);
-};
-
-// opfstream foo("NAME") is like: ofstream foo("NAME").
-// However, if NAME starts with a '|', the remainder of NAME is
-// evaluated as a shell command (using a procbuf), and all output
-// written to foo is piped to the standard input of that shell.
-// E.g. opfstream foo("|more");
-
-class opfstream : public ofstream {
- public:
- opfstream(const char *name, int mode=ios::out, int prot=0664);
-};
-} // extern "C++"
-#endif /*!_PFSTREAM_H*/
-
diff --git a/contrib/libio/procbuf.cc b/contrib/libio/procbuf.cc
deleted file mode 100644
index eb6d50e..0000000
--- a/contrib/libio/procbuf.cc
+++ /dev/null
@@ -1,54 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
-#include "libioP.h"
-#include "procbuf.h"
-
-procbuf::procbuf(const char *command, int mode) : filebuf()
-{
- _IO_proc_open(this, command, (mode & ios::in) ? "r" : "w");
-}
-
-procbuf *procbuf::open(const char *command, int mode)
-{
- return (procbuf*)_IO_proc_open(this, command, (mode & ios::in) ? "r" : "w");
-}
-
-/* #define USE_SIGMASK */
-
-int procbuf::sys_close()
-{
- return _IO_proc_close(this);
-}
-
-procbuf::~procbuf()
-{
- close();
-}
diff --git a/contrib/libio/procbuf.h b/contrib/libio/procbuf.h
deleted file mode 100644
index b361a6a..0000000
--- a/contrib/libio/procbuf.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#ifndef _PROCBUF_H
-#define _PROCBUF_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include <streambuf.h>
-
-extern "C++" {
-class procbuf : public filebuf {
- /* Following fields must match those in struct _IO_proc_file */
- _IO_pid_t _pid;
- procbuf *_next;
- public:
- procbuf() : filebuf() { }
- procbuf(const char *command, int mode);
- procbuf* open(const char *command, int mode);
- procbuf *close() { return (procbuf*)filebuf::close(); }
- virtual int sys_close();
- ~procbuf();
-};
-} // extern "C++"
-
-#endif /* !_PROCBUF_H */
diff --git a/contrib/libio/sbform.cc b/contrib/libio/sbform.cc
deleted file mode 100644
index c17bd08..0000000
--- a/contrib/libio/sbform.cc
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-#include "streambuf.h"
-#include <stdarg.h>
-
-int streambuf::vform(char const *fmt0, _IO_va_list ap)
-{
- return _IO_vfprintf(this, fmt0, ap);
-}
-int streambuf::form(char const *format ...)
-{
- va_list ap;
- va_start(ap, format);
- int count = _IO_vfprintf(this, format, ap);
- va_end(ap);
- return count;
-}
diff --git a/contrib/libio/sbgetline.cc b/contrib/libio/sbgetline.cc
deleted file mode 100644
index 0475114..0000000
--- a/contrib/libio/sbgetline.cc
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-#include "streambuf.h"
-
-long streambuf::sgetline(char* buf, _IO_size_t n, char delim, int extract_delim)
-{
- return _IO_getline_info(this, buf, n, delim, extract_delim, (int *) 0);
-}
diff --git a/contrib/libio/sbscan.cc b/contrib/libio/sbscan.cc
deleted file mode 100644
index c0ec35c..0000000
--- a/contrib/libio/sbscan.cc
+++ /dev/null
@@ -1,45 +0,0 @@
-
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-#include "streambuf.h"
-#include <stdarg.h>
-
-int streambuf::vscan(char const *fmt0, _IO_va_list ap, ios* stream /* = NULL*/)
-{
- int errcode = 0;
- int count = _IO_vfscanf(this, fmt0, ap, &errcode);
- if (stream)
- stream->setstate((ios::iostate)errcode);
- return count;
-}
-int streambuf::scan(char const *format ...)
-{
- va_list ap;
- va_start(ap, format);
- int count = _IO_vfscanf(this, format, ap, NULL);
- va_end(ap);
- return count;
-}
diff --git a/contrib/libio/stdfiles.c b/contrib/libio/stdfiles.c
deleted file mode 100644
index 8453e33..0000000
--- a/contrib/libio/stdfiles.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 1993, 1994, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-
-/* This file provides definitions of _IO_stdin, _IO_stdout, and _IO_stderr
- for C code. Compare stdstreams.cc.
- (The difference is that here the vtable field is set to 0,
- so the objects defined are not valid C++ objects. On the other
- hand, we don't need a C++ compiler to build this file.) */
-
-#include "libioP.h"
-
-#ifdef _IO_MTSAFE_IO
-#define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \
- static _IO_lock_t _IO_stdfile_##FD##_lock = _IO_lock_initializer; \
- struct _IO_FILE_plus NAME \
- = {FILEBUF_LITERAL(CHAIN, FLAGS, FD), &_IO_file_jumps}
-#else
-#define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \
- struct _IO_FILE_plus NAME \
- = {FILEBUF_LITERAL(CHAIN, FLAGS, FD), &_IO_file_jumps}
-#endif
-
-DEF_STDFILE(_IO_stdin_, 0, 0, _IO_NO_WRITES);
-DEF_STDFILE(_IO_stdout_, 1, &_IO_stdin_.file, _IO_NO_READS);
-DEF_STDFILE(_IO_stderr_, 2, &_IO_stdout_.file,
- _IO_NO_READS+_IO_UNBUFFERED);
-
-_IO_FILE *_IO_list_all = &_IO_stderr_.file;
diff --git a/contrib/libio/stdio/ChangeLog b/contrib/libio/stdio/ChangeLog
deleted file mode 100644
index 8ef9dcc..0000000
--- a/contrib/libio/stdio/ChangeLog
+++ /dev/null
@@ -1,153 +0,0 @@
-Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
-
- * gcc-2.95.3 Released.
-
-Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95.2 Released.
-
-Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95.1 Released.
-
-Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95 Released.
-
-Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95 Released.
-
-1997-09-04 16:11 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.in (STDIO_OBJECTS): Lose feof.o and ferror.o. Add getc.o
- and putc.o.
- (stmp-libio, stmp-libiostream, stmp-io, stmp-streamlib): New rules.
-
- (iostream.list): Depend upon stmp-stdio. Add the entries
- from stdio.list to iostream.list.
- (stmp-stdio): New name for what was the stdio/stdio.list rule.
- All it now does is cd down into stdio and build stdio.list.
-
- * clearerr.c: Add copyright and lock stream before use.
- * feof.c: Likewise.
- * ferror.c: Likewise.
- * fgetc.c: Likewise.
- * fputc.c: Likewise.
- * freopen.c: Likewise.
- * fseek.c: Likewise.
- * getc.c: Likewise.
- * getchar.c: Likewise.
- * putc.c: Likewise.
- * putchar.c: Likewise.
- * rewind.c: Likewise.
-
- * setbuf.c: Update copyright.
- * setlinebuf.c: Likewise.
- * vscanf.c: Likewise.
-
- * fileno.c: Define alias fileno_unlocked. Update copyright.
-
- * clearerr_u.c: New file. Implement clearerr_unlocked function.
- * feof_u.c: New file. Implement feof_unlocked function.
- * ferror_u.c: New file. Implement ferror_unlocked function.
- * fputc_u.c: New file. Implement fputc_unlocked function.
- * getc_u.c: New file. Implement getc_unclocked function.
- * getchar_u.c: New file. Implement getchar_unclocked function.
- * putc_u.c: New file. Implement putc_unclocked function.
- * putchar_u.c: New file. Implement putchar_unclocked function.
-
- * vsnprintf.c: Rewrite according to ISO C 9X draft.
-
-Thu May 1 11:03:45 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * stdio.h (TMP_MAX): Wrap it with #ifndef for now, since it can
- get defined by <limits.h> (e.g., HP/UX and AIX).
-
-Wed Mar 12 08:51:37 1997 Gavin Koch <gavin@cygnus.com>
-
- * stdio.h: Use _IO_va_list rather than _G_va_list.
-
-Wed Jun 14 21:41:50 1995 Jason Merrill <jason@python.cygnus.com>
-
- * configure.in (LIBDIR): Set.
- (MOSTLYCLEAN): Remove pic and stamp-picdir.
- (stdio_objects): Also compile pic version.
-
- * Makefile.in (STDIO_OBJECTS): Remove getdelim.o.
-
-Wed May 10 03:05:53 1995 Jason Merrill <jason@python.cygnus.com>
-
- * vsnprintf.c (vsnprintf): Update to use _IO_JUMPS.
-
- * Makefile.in (STDIO_OBJECTS): Fix typo.
-
-Tue Oct 18 17:15:09 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * getline.c, snprintf.c, vsnprintf.c: New files, providing
- functionality of the GNU C library.
- * Makefile.in (STDIO_OBJECTS), configure.in: Add new files.
- * stdio.h: Add new functions.
-
-Fri Oct 14 15:56:27 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * stdio.h: Added vfscanf, vscanf, vsscanf, #ifndef __STRICT_ANSI__.
-
-Tue Aug 23 16:17:25 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * stdio.h: Added comment, at hjl's request.
-
-Sun Aug 7 13:28:12 1994 H.J. Lu (hjl@nynexst.com)
-
- * stdio.h (getc, getchar, putc, putchar): New declarations.
- Move macros after the declarations.
-
-Fri Aug 5 18:27:21 1994 H.J. Lu (hjl@nynexst.com)
-
- * clearerr.c, rewind.c, setfileno.c:
- Add CHECK_FILE(fp, ) and remove COERCE_FILE(fp).
- * feof.c, ferror.c, fgetc.c, fileno.c, fputc.c, getw.c, putw.c,
- vfscanf.c: Add CHECK_FILE(fp, EOF) and remove COERCE_FILE(fp).
- * freopen.c: Add CHECK_FILE(fp, NULL) and remove COERCE_FILE(fp).
- * fseek.c, vfprintf.c:
- Add CHECK_FILE(fp, -1) and remove COERCE_FILE(fp).
-
-Fri May 20 13:11:58 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * stdio.h: Rename _ARGS macro to __P for better gnlibc and
- BSD compatibility.
-
-Fri Nov 26 13:26:35 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- Bunch of little changes, many from H.J. Lu <hjl@nynexst.com>.
- * feof.c, setbuf.c, vprintf.c, vcanf.c: #include <stdio.h>,
- for error checking.
- * fileno.c: #include libioP.h, not just libio.h.
- * fputc.c: Fix typo.
- * fseek.c, rewind.c: Use #include "...", not <...> ,for local files.
- * getc.c, getchar.c, putc.c, putchar.c: New files, providing
- non-macro versions of the standard macros.
- * getw.c, putw.c, setfileno.c, setlinebuf.c: New files.
- * Makefile.in (STDIO_OBJECTS): Add new files.
- * vfscanf.c: Add missing new 4th arg to _IO_vfscanf call.
-
-Thu Oct 14 16:12:07 1993 Karen Christiansen (karen@deneb.cygnus.com)
-
- * configure.in: changed mv to mv -f
-
-Mon Oct 4 17:29:23 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * configure.in (stdio_renames): Add fgetpos, fsetpos, gets,
- perror, setbuffer, ungetc.
- * clearerr.c, ferror.c, fgetc.c, fileno.c, fputc.c, freopen.c,
- fseek.c, popen.c, rewind.c, setbuf.c: New files.
- * Makefile.in (STDIO_OBJECTS): Add new files.
- * stdio.h: Use _IO_XXX instead of _G_XXX many places.
- #include <libio.h> instead of <_stdio.h>, to get useful defs.
-
-Fri Aug 20 00:28:28 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * feof.c, vprintf.c, vscanf.c: Converted stub functions.
- * configure.in (stdio_renamed): Removed feof.
- Added sprintf sscanf vsscanf.
- * ChangeLog.old: Copy of old libg++/iostream/stdio/ChangeLog.
diff --git a/contrib/libio/stdio/Makefile.in b/contrib/libio/stdio/Makefile.in
deleted file mode 100644
index 680c8a4..0000000
--- a/contrib/libio/stdio/Makefile.in
+++ /dev/null
@@ -1,35 +0,0 @@
-srcdir = .
-
-#### package, host, target, and site dependent Makefile fragments come in here.
-##
-
-# These are compiled from the corresponding ../ioFOO.c files.
-STDIO_RENAMED_OBJECTS = ... filled in by configure ...
-# These are the files that a libc would want.
-STDIO_OBJECTS = $(STDIO_RENAMED_OBJECTS) \
- clearerr.o fdopen.o fgetc.o fileno.o \
- fputc.o freopen.o fseek.o getchar.o getline.o getw.o \
- popen.o putchar.o putw.o rewind.o \
- setbuf.o setfileno.o setlinebuf.o snprintf.o \
- vfprintf.o vfscanf.o vprintf.o vscanf.o vsnprintf.o
-
-CC_FOR_STDIO=$(CC)
-CINCLUDES = -I. -I$(srcdir) -I.. -I$(srcdir)/.. -D__USE_GNU
-
-nothing:
-
-stmp-libio: stdio.list stamp-io
-
-stamp-io:
- $(AR) $(AR_FLAGS) ../libio.a $(STDIO_OBJECTS)
- touch stmp-io
-
-stmp-libiostream: stdio.list stamp-streamlib
-
-stamp-streamlib:
- $(AR) $(AR_FLAGS) ../libiostream.a $(STDIO_OBJECTS)
- touch stmp-streamlib
-
-stdio.list: stamp-picdir $(STDIO_OBJECTS)
- @echo "$(STDIO_OBJECTS)" >stdio.list
-
diff --git a/contrib/libio/stdio/clearerr.c b/contrib/libio/stdio/clearerr.c
deleted file mode 100644
index 4776250..0000000
--- a/contrib/libio/stdio/clearerr.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-void
-clearerr (fp)
- FILE *fp;
-{
- CHECK_FILE (fp, /*nothing*/);
- _IO_flockfile (fp);
- _IO_clearerr (fp);
- _IO_funlockfile (fp);
-}
diff --git a/contrib/libio/stdio/clearerr_u.c b/contrib/libio/stdio/clearerr_u.c
deleted file mode 100644
index 2a1ba70..0000000
--- a/contrib/libio/stdio/clearerr_u.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-void
-clearerr_unlocked (fp)
- FILE *fp;
-{
- CHECK_FILE (fp, /*nothing*/);
- _IO_clearerr (fp);
-}
diff --git a/contrib/libio/stdio/configure.in b/contrib/libio/stdio/configure.in
deleted file mode 100644
index 83cac17..0000000
--- a/contrib/libio/stdio/configure.in
+++ /dev/null
@@ -1,49 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary for a configure script to process the program in
-# this directory. For more information, look at ../configure.
-
-configdirs=
-srctrigger=stdio.h
-srcname="libio/stdio"
-package_makefile_frag=../Make.pack
-package_makefile_rules_frag=../Make.pack.r
-
-# per-host:
-
-# per-target:
-
-LIBDIR=yes
-TO_TOPDIR=../../
-ALL=nothing
-MOSTLYCLEAN='*.o pic stamp-picdir core stdio.list'
-(. ${srcdir}/../config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag}
-
-# post-target:
-
-# Certain files that are used to build a C library (such as fprintf.o)
-# are compled from the same sources as the ioXXX versions (such as ioprintf.c).
-# These lines add the appropriate rules.
-# NOTE: We assume a C compiler that where -o with -c works.
-# But these files are not built by default anyway ...
-
-# TODO: remove rename tmpfile tmpnam
-
-stdio_renames="fclose fflush fgetpos fgets fopen fprintf fputs fread \
- fscanf fsetpos ftell fwrite getdelim gets perror printf puts \
- scanf setbuffer setvbuf sprintf sscanf ungetc vsprintf vsscanf"
-stdio_objects=""
-
-for file in $stdio_renames ; do
- cat >>Makefile <<EOF
-$file.o: \$(srcdir)/../io$file.c
- if [ -n "\$(PICFLAG)" ]; then \\
- \$(CC_FOR_STDIO) \$(CFLAGS) \$(CINCLUDES) \$(PICFLAG) -c \\
- \$(srcdir)/../io$file.c -D_IO_$file=$file -o pic/$file.o; \\
- fi
- \$(CC_FOR_STDIO) \$(CFLAGS) \$(CINCLUDES) -c \\
- \$(srcdir)/../io$file.c -D_IO_$file=$file -o $file.o
-EOF
- stdio_objects="$stdio_objects $file.o"
-done
-sed -e "/STDIO_RENAMED_OBJECTS =/s/=.*/=${stdio_objects}/" <Makefile >tmp
-mv -f tmp Makefile
diff --git a/contrib/libio/stdio/fdopen.c b/contrib/libio/stdio/fdopen.c
deleted file mode 100644
index 83e026e..0000000
--- a/contrib/libio/stdio/fdopen.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include "libioP.h"
-
-_IO_FILE *
-fdopen (fd, mode)
- int fd;
- const char *mode;
-{
- return _IO_fdopen (fd, mode);
-}
diff --git a/contrib/libio/stdio/feof.c b/contrib/libio/stdio/feof.c
deleted file mode 100644
index d06de04..0000000
--- a/contrib/libio/stdio/feof.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-int
-_IO_feof (fp)
- _IO_FILE* fp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_flockfile (fp);
- result = _IO_feof_unlocked (fp);
- _IO_funlockfile (fp);
- return result;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_feof, feof)
-#endif
diff --git a/contrib/libio/stdio/feof_u.c b/contrib/libio/stdio/feof_u.c
deleted file mode 100644
index 4773599..0000000
--- a/contrib/libio/stdio/feof_u.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef feof_unlocked
-
-int
-feof_unlocked (fp)
- _IO_FILE* fp;
-{
- CHECK_FILE (fp, EOF);
- return _IO_feof_unlocked (fp);
-}
diff --git a/contrib/libio/stdio/ferror.c b/contrib/libio/stdio/ferror.c
deleted file mode 100644
index 855627a..0000000
--- a/contrib/libio/stdio/ferror.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-int
-_IO_ferror (fp)
- _IO_FILE* fp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_flockfile (fp);
- result = _IO_ferror_unlocked (fp);
- _IO_funlockfile (fp);
- return result;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_ferror, ferror)
-#endif
diff --git a/contrib/libio/stdio/ferror_u.c b/contrib/libio/stdio/ferror_u.c
deleted file mode 100644
index 6e13e53..0000000
--- a/contrib/libio/stdio/ferror_u.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef ferror_unlocked
-
-int
-ferror_unlocked (fp)
- _IO_FILE* fp;
-{
- CHECK_FILE (fp, EOF);
- return _IO_ferror_unlocked (fp);
-}
diff --git a/contrib/libio/stdio/fgetc.c b/contrib/libio/stdio/fgetc.c
deleted file mode 100644
index 174e60f..0000000
--- a/contrib/libio/stdio/fgetc.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-int
-fgetc (fp)
- FILE *fp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- result = _IO_getc_unlocked (fp);
- _IO_cleanup_region_end (1);
- return result;
-}
diff --git a/contrib/libio/stdio/fileno.c b/contrib/libio/stdio/fileno.c
deleted file mode 100644
index 7ff93e6..0000000
--- a/contrib/libio/stdio/fileno.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-int
-fileno (fp)
- _IO_FILE* fp;
-{
- CHECK_FILE (fp, EOF);
-
- if (!(fp->_flags & _IO_IS_FILEBUF))
- return EOF;
-
- return _IO_fileno (fp);
-}
-
-#ifdef _IO_MTSAFE_IO
-#ifdef weak_alias
-/* The fileno implementation for libio does not require locking because
- it only accesses once a single variable and this is already atomic
- (at least at thread level). */
-
-weak_alias (fileno, fileno_unlocked)
-#endif
-#endif
diff --git a/contrib/libio/stdio/fputc.c b/contrib/libio/stdio/fputc.c
deleted file mode 100644
index 22cdfab..0000000
--- a/contrib/libio/stdio/fputc.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-int
-fputc (c, fp)
- int c;
- _IO_FILE *fp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- result = _IO_putc_unlocked (c, fp);
- _IO_cleanup_region_end (1);
- return result;
-}
diff --git a/contrib/libio/stdio/fputc_u.c b/contrib/libio/stdio/fputc_u.c
deleted file mode 100644
index 48701e1..0000000
--- a/contrib/libio/stdio/fputc_u.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef fputc_unlocked
-
-int
-fputc_unlocked (c, fp)
- int c;
- _IO_FILE *fp;
-{
- CHECK_FILE (fp, EOF);
- return _IO_putc_unlocked (c, fp);
-}
diff --git a/contrib/libio/stdio/freopen.c b/contrib/libio/stdio/freopen.c
deleted file mode 100644
index ff57d60..0000000
--- a/contrib/libio/stdio/freopen.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-FILE*
-freopen (filename, mode, fp)
- const char* filename;
- const char* mode;
- FILE* fp;
-{
- FILE *result;
- CHECK_FILE (fp, NULL);
- if (!(fp->_flags & _IO_IS_FILEBUF))
- return NULL;
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- result = _IO_freopen (filename, mode, fp);
- _IO_cleanup_region_end (1);
- return result;
-}
diff --git a/contrib/libio/stdio/fseek.c b/contrib/libio/stdio/fseek.c
deleted file mode 100644
index f2563d3..0000000
--- a/contrib/libio/stdio/fseek.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-int
-fseek (fp, offset, whence)
- _IO_FILE* fp;
- long int offset;
- int whence;
-{
- int result;
- CHECK_FILE (fp, -1);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- result = _IO_fseek (fp, offset, whence);
- _IO_cleanup_region_end (1);
- return result;
-}
diff --git a/contrib/libio/stdio/getc.c b/contrib/libio/stdio/getc.c
deleted file mode 100644
index 1dc53b5..0000000
--- a/contrib/libio/stdio/getc.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef _IO_getc
-
-int
-_IO_getc (fp)
- FILE *fp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- result = _IO_getc_unlocked (fp);
- _IO_cleanup_region_end (1);
- return result;
-}
-
-#undef getc
-
-#ifdef weak_alias
-weak_alias (_IO_getc, getc)
-#endif
diff --git a/contrib/libio/stdio/getc_u.c b/contrib/libio/stdio/getc_u.c
deleted file mode 100644
index f074427..0000000
--- a/contrib/libio/stdio/getc_u.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef getc_unlocked
-
-int
-getc_unlocked (fp)
- FILE *fp;
-{
- CHECK_FILE (fp, EOF);
- return _IO_getc_unlocked (fp);
-}
diff --git a/contrib/libio/stdio/getchar.c b/contrib/libio/stdio/getchar.c
deleted file mode 100644
index 93194b3..0000000
--- a/contrib/libio/stdio/getchar.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef getchar
-
-int
-getchar ()
-{
- int result;
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, stdin);
- _IO_flockfile (stdin);
- result = _IO_getc_unlocked (stdin);
- _IO_cleanup_region_end (1);
- return result;
-}
diff --git a/contrib/libio/stdio/getchar_u.c b/contrib/libio/stdio/getchar_u.c
deleted file mode 100644
index bfbe56b..0000000
--- a/contrib/libio/stdio/getchar_u.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef getchar_unlocked
-
-int
-getchar_unlocked ()
-{
- return _IO_getc_unlocked (stdin);
-}
diff --git a/contrib/libio/stdio/getline.c b/contrib/libio/stdio/getline.c
deleted file mode 100644
index 6f4b677..0000000
--- a/contrib/libio/stdio/getline.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include "libioP.h"
-#include "stdio.h"
-
-/* NOTE: This geline function is different from _IO_getline. */
-
-_IO_ssize_t
-getline (lineptr, linelen, fp)
- char** lineptr;
- size_t* linelen;
- FILE* fp;
-{
- return _IO_getdelim (lineptr, linelen, '\n', fp);
-}
diff --git a/contrib/libio/stdio/getw.c b/contrib/libio/stdio/getw.c
deleted file mode 100644
index 1dfafbc..0000000
--- a/contrib/libio/stdio/getw.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include "libioP.h"
-#include "stdio.h"
-
-int
-getw(fp)
- FILE *fp;
-{
- int w;
- _IO_size_t bytes_read;
- CHECK_FILE(fp, EOF);
- bytes_read = _IO_sgetn (fp, (char*)&w, sizeof(w));
- return sizeof(w) == bytes_read ? w : EOF;
-}
diff --git a/contrib/libio/stdio/obprintf.c b/contrib/libio/stdio/obprintf.c
deleted file mode 100644
index 6b959e4..0000000
--- a/contrib/libio/stdio/obprintf.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/* Print output of stream to given obstack.
- Copyright (C) 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-
-#ifdef __STDC__
-#include <stdlib.h>
-#endif
-#include "libioP.h"
-#include <string.h>
-#include <errno.h>
-#include <obstack.h>
-#include <stdarg.h>
-
-
-struct _IO_obstack_file
-{
- struct _IO_FILE file;
- const void *vtable;
- struct obstack *obstack;
-};
-
-
-static int
-_IO_obstack_overflow (_IO_FILE *fp, int c)
-{
- struct obstack *obstack = ((struct _IO_obstack_file *) fp)->obstack;
-
- /* Make room for another character. This might as well allocate a
- new chunk a memory and moves the old contents over. */
- if (c != EOF)
- obstack_1grow (obstack, c);
-
- /* Setup the buffer pointers again. */
- fp->_IO_write_base = obstack_base (obstack);
- fp->_IO_write_ptr = obstack_next_free (obstack);
- fp->_IO_write_end = fp->_IO_write_base + obstack_room (obstack);
- /* Now allocate the rest of the current chunk. */
- obstack_blank_fast (obstack, fp->_IO_write_end - fp->_IO_write_ptr);
-
- return c;
-}
-
-
-static _IO_size_t
-_IO_obstack_xsputn (_IO_FILE *fp, const void *data, _IO_size_t n)
-{
- struct obstack *obstack = ((struct _IO_obstack_file *) fp)->obstack;
-
- if (fp->_IO_write_ptr + n > fp->_IO_write_end)
- {
- /* We need some more memory. First shrink the buffer to the
- space we really currently need. */
- obstack_blank (obstack, fp->_IO_write_ptr - fp->_IO_write_end);
-
- /* Now grow for N bytes. */
- obstack_blank (obstack, n);
-
- /* Setup the buffer pointers again. */
- fp->_IO_write_base = obstack_base (obstack);
- fp->_IO_write_ptr = obstack_next_free (obstack);
- fp->_IO_write_end = (fp->_IO_write_base + obstack_room (obstack));
- /* Now allocate the rest of the current chunk. */
- obstack_blank_fast (obstack, fp->_IO_write_end - fp->_IO_write_ptr);
- }
- else
- {
- memcpy (fp->_IO_write_ptr, data, n);
- fp->_IO_write_ptr += n;
- }
-
- return n;
-}
-
-
-/* the jump table. */
-static struct _IO_jump_t _IO_obstack_jumps =
-{
- JUMP_INIT_DUMMY,
- JUMP_INIT(finish, NULL),
- JUMP_INIT(overflow, _IO_obstack_overflow),
- JUMP_INIT(underflow, NULL),
- JUMP_INIT(uflow, NULL),
- JUMP_INIT(pbackfail, NULL),
- JUMP_INIT(xsputn, _IO_obstack_xsputn),
- JUMP_INIT(xsgetn, NULL),
- JUMP_INIT(seekoff, NULL),
- JUMP_INIT(seekpos, NULL),
- JUMP_INIT(setbuf, NULL),
- JUMP_INIT(sync, NULL),
- JUMP_INIT(doallocate, NULL),
- JUMP_INIT(read, NULL),
- JUMP_INIT(write, NULL),
- JUMP_INIT(seek, NULL),
- JUMP_INIT(close, NULL),
- JUMP_INIT(stat, NULL)
-};
-
-
-int
-_IO_obstack_vprintf (struct obstack *obstack, const char *format, va_list args)
-{
- struct obstack_FILE
- {
- struct _IO_obstack_file ofile;
-#ifdef _IO_MTSAFE_IO
- _IO_lock_t lock;
-#endif
- } new_f;
- int result;
-
-#ifdef _IO_MTSAFE_IO
- new_f.ofile.file._lock = &new_f.lock;
-#endif
-
- _IO_init ((_IO_FILE *) &new_f.ofile, 0);
- _IO_JUMPS (&new_f.ofile.file) = &_IO_obstack_jumps;
- _IO_str_init_static (&new_f.ofile.file, obstack_base (obstack),
- (obstack_object_size (obstack) +
- obstack_room (obstack)), obstack_next_free (obstack));
- /* Now allocate the rest of the current chunk. */
- obstack_blank_fast (obstack,
- (new_f.ofile.file._IO_write_end
- - new_f.ofile.file._IO_write_ptr));
- new_f.ofile.obstack = obstack;
-
- result = _IO_vfprintf ((_IO_FILE *) &new_f, format, args);
-
- /* Shrink the buffer to the space we really currently need. */
- obstack_blank (obstack, (new_f.ofile.file._IO_write_ptr
- - new_f.ofile.file._IO_write_end));
-
- return result;
-}
-#ifdef weak_alias
-weak_alias (_IO_obstack_vprintf, obstack_vprintf)
-#endif
-
-
-int
-_IO_obstack_printf (struct obstack *obstack, const char *format, ...)
-{
- int result;
- va_list ap;
- va_start (ap, format);
- result = _IO_obstack_vprintf (obstack, format, ap);
- va_end (ap);
- return result;
-}
-#ifdef weak_alias
-weak_alias (_IO_obstack_printf, obstack_printf)
-#endif
diff --git a/contrib/libio/stdio/popen.c b/contrib/libio/stdio/popen.c
deleted file mode 100644
index 9f9f3f7..0000000
--- a/contrib/libio/stdio/popen.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "libioP.h"
-#include "stdio.h"
-#include <errno.h>
-
-FILE *
-popen(command, mode)
- const char *command; const char *mode;
-{
- return _IO_popen(command, mode);
-}
-
-int
-pclose(fp)
- FILE *fp;
-{
-#if 0
- /* Does not actually test that stream was created by popen(). Instead,
- it depends on the filebuf::sys_close() virtual to Do The Right Thing. */
- if (fp is not a proc_file)
- return -1;
-#endif
- return _IO_fclose(fp);
-}
diff --git a/contrib/libio/stdio/putc.c b/contrib/libio/stdio/putc.c
deleted file mode 100644
index 3c35c36..0000000
--- a/contrib/libio/stdio/putc.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef _IO_putc
-
-int
-_IO_putc (c, fp)
- int c;
- _IO_FILE *fp;
-{
- int result;
- CHECK_FILE (fp, EOF);
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- result = _IO_putc_unlocked (c, fp);
- _IO_cleanup_region_end (1);
- return result;
-}
-
-#undef putc
-
-#ifdef weak_alias
-weak_alias (_IO_putc, putc)
-#endif
diff --git a/contrib/libio/stdio/putc_u.c b/contrib/libio/stdio/putc_u.c
deleted file mode 100644
index b4d94e8..0000000
--- a/contrib/libio/stdio/putc_u.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef putc_unlocked
-
-int
-putc_unlocked (c, fp)
- int c;
- _IO_FILE *fp;
-{
- CHECK_FILE (fp, EOF);
- return _IO_putc_unlocked (c, fp);
-}
diff --git a/contrib/libio/stdio/putchar.c b/contrib/libio/stdio/putchar.c
deleted file mode 100644
index 1e1dd13..0000000
--- a/contrib/libio/stdio/putchar.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef putchar
-
-int
-putchar (c)
- int c;
-{
- int result;
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
- _IO_stdout);
- _IO_flockfile (_IO_stdout);
- result = _IO_putc_unlocked (c, _IO_stdout);
- _IO_cleanup_region_end (1);
- return result;
-}
diff --git a/contrib/libio/stdio/putchar_u.c b/contrib/libio/stdio/putchar_u.c
deleted file mode 100644
index f8f387a..0000000
--- a/contrib/libio/stdio/putchar_u.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef putchar_unlocked
-
-int
-putchar_unlocked (c)
- int c;
-{
- CHECK_FILE (stdout, EOF);
- return _IO_putc_unlocked (c, stdout);
-}
diff --git a/contrib/libio/stdio/putw.c b/contrib/libio/stdio/putw.c
deleted file mode 100644
index fd73261..0000000
--- a/contrib/libio/stdio/putw.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "libioP.h"
-#include "stdio.h"
-
-#undef putw
-
-int
-putw(w, fp)
- int w;
- FILE *fp;
-{
- _IO_size_t written;
- CHECK_FILE(fp, EOF);
- written = _IO_sputn(fp, (const char *)&w, sizeof(w));
- return written == sizeof(w) ? 0 : EOF;
-}
diff --git a/contrib/libio/stdio/rewind.c b/contrib/libio/stdio/rewind.c
deleted file mode 100644
index bce2757..0000000
--- a/contrib/libio/stdio/rewind.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-void
-rewind (fp)
- _IO_FILE *fp;
-{
- CHECK_FILE (fp, );
- _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
- _IO_flockfile (fp);
- _IO_rewind (fp);
- _IO_cleanup_region_end (1);
-}
diff --git a/contrib/libio/stdio/setbuf.c b/contrib/libio/stdio/setbuf.c
deleted file mode 100644
index ac323a3..0000000
--- a/contrib/libio/stdio/setbuf.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-void
-setbuf (fp, buf)
- _IO_FILE *fp;
- char *buf;
-{
- _IO_setbuffer (fp, buf, _IO_BUFSIZ);
-}
diff --git a/contrib/libio/stdio/setfileno.c b/contrib/libio/stdio/setfileno.c
deleted file mode 100644
index f7ccc6f..0000000
--- a/contrib/libio/stdio/setfileno.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Some known programs (xterm, pdksh?) non-portably change the _file
- field of s struct _iobuf. This kludge allows the same "functionality".
- This code is an undocumented feature for iostream/stdio. Use it at
- your own risk. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-void
-setfileno(fp, fd)
- _IO_FILE* fp;
- int fd;
-{
- CHECK_FILE(fp, );
- if ((fp->_flags & _IO_IS_FILEBUF) != 0)
- fp->_fileno = fd;
-}
diff --git a/contrib/libio/stdio/setlinebuf.c b/contrib/libio/stdio/setlinebuf.c
deleted file mode 100644
index e4e029f..0000000
--- a/contrib/libio/stdio/setlinebuf.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef setlinebuf
-
-void
-setlinebuf (stream)
- _IO_FILE *stream;
-{
- _IO_setvbuf (stream, NULL, 1, 0);
-}
diff --git a/contrib/libio/stdio/snprintf.c b/contrib/libio/stdio/snprintf.c
deleted file mode 100644
index 5c70a44..0000000
--- a/contrib/libio/stdio/snprintf.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright (C) 1994 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-
-#ifdef __STDC__
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-
-int
-snprintf
-#ifdef __STDC__
- (char *string, _IO_size_t maxlen, const char *format, ...)
-#else
-(string, maxlen, format, va_alist)
- char *string;
- _IO_size_t maxlen;
- char *format;
- va_dcl
-#endif
-{
- int ret;
- va_list args;
- _IO_va_start(args, format);
- ret = vsnprintf(string, maxlen, format, args);
- va_end(args);
- return ret;
-}
diff --git a/contrib/libio/stdio/stdio.h b/contrib/libio/stdio/stdio.h
deleted file mode 100644
index 30065ac..0000000
--- a/contrib/libio/stdio/stdio.h
+++ /dev/null
@@ -1,219 +0,0 @@
-/* This is part of the iostream/stdio library, providing -*- C -*- I/O.
- Define ANSI C stdio on top of C++ iostreams.
- Copyright (C) 1991, 1994 Free Software Foundation
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public
-License as published by the Free Software Foundation; either
-version 2 of the License, or (at your option) any later version.
-
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-/*
- * ANSI Standard: 4.9 INPUT/OUTPUT <stdio.h>
- */
-
-#ifndef _STDIO_H
-#define _STDIO_H
-#define _STDIO_USES_IOSTREAM
-
-#include <libio.h>
-
-#ifndef NULL
-#ifdef __cplusplus
-#define NULL 0
-#else
-#define NULL (void*)0
-#endif
-#endif
-
-#ifndef EOF
-#define EOF (-1)
-#endif
-#ifndef BUFSIZ
-#define BUFSIZ 1024
-#endif
-
-#define _IOFBF 0 /* Fully buffered. */
-#define _IOLBF 1 /* Line buffered. */
-#define _IONBF 2 /* No buffering. */
-
-#define SEEK_SET 0
-#define SEEK_CUR 1
-#define SEEK_END 2
-
- /* define size_t. Crud in case <sys/types.h> has defined it. */
-#if !defined(_SIZE_T) && !defined(_T_SIZE_) && !defined(_T_SIZE)
-#if !defined(__SIZE_T) && !defined(_SIZE_T_) && !defined(___int_size_t_h)
-#if !defined(_GCC_SIZE_T) && !defined(_SIZET_)
-#define _SIZE_T
-#define _T_SIZE_
-#define _T_SIZE
-#define __SIZE_T
-#define _SIZE_T_
-#define ___int_size_t_h
-#define _GCC_SIZE_T
-#define _SIZET_
-typedef _IO_size_t size_t;
-#endif
-#endif
-#endif
-
-typedef struct _IO_FILE FILE;
-typedef _IO_fpos_t fpos_t;
-
-#define FOPEN_MAX _G_FOPEN_MAX
-#define FILENAME_MAX _G_FILENAME_MAX
-#ifndef TMP_MAX
-#define TMP_MAX 999 /* Only limited by filename length */
-#endif
-
-#define L_ctermid 9
-#define L_cuserid 9
-#define P_tmpdir "/tmp"
-#define L_tmpnam 20
-
-/* For use by debuggers. These are linked in if printf or fprintf are used. */
-extern FILE *stdin, *stdout, *stderr; /* TODO */
-
-#define stdin _IO_stdin
-#define stdout _IO_stdout
-#define stderr _IO_stderr
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef __P
-#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
-#define __P(args) args
-#else
-#define __P(args) ()
-#endif
-#endif /*!__P*/
-
-extern void clearerr __P((FILE*));
-extern int fclose __P((FILE*));
-extern int feof __P((FILE*));
-extern int ferror __P((FILE*));
-extern int fflush __P((FILE*));
-extern int fgetc __P((FILE *));
-extern int fgetpos __P((FILE* fp, fpos_t *pos));
-extern char* fgets __P((char*, int, FILE*));
-extern FILE* fopen __P((const char*, const char*));
-extern int fprintf __P((FILE*, const char* format, ...));
-extern int fputc __P((int, FILE*));
-extern int fputs __P((const char *str, FILE *fp));
-extern size_t fread __P((void*, size_t, size_t, FILE*));
-extern FILE* freopen __P((const char*, const char*, FILE*));
-extern int fscanf __P((FILE *fp, const char* format, ...));
-extern int fseek __P((FILE* fp, long int offset, int whence));
-extern int fsetpos __P((FILE* fp, const fpos_t *pos));
-extern long int ftell __P((FILE* fp));
-extern size_t fwrite __P((const void*, size_t, size_t, FILE*));
-extern int getc __P((FILE *));
-extern int getchar __P((void));
-extern char* gets __P((char*));
-extern void perror __P((const char *));
-extern int printf __P((const char* format, ...));
-extern int putc __P((int, FILE *));
-extern int putchar __P((int));
-extern int puts __P((const char *str));
-extern int remove __P((const char*));
-extern int rename __P((const char* _old, const char* _new));
-extern void rewind __P((FILE*));
-extern int scanf __P((const char* format, ...));
-extern void setbuf __P((FILE*, char*));
-extern void setlinebuf __P((FILE*));
-extern void setbuffer __P((FILE*, char*, int));
-extern int setvbuf __P((FILE*, char*, int mode, size_t size));
-extern int sprintf __P((char*, const char* format, ...));
-extern int sscanf __P((const char* string, const char* format, ...));
-extern FILE* tmpfile __P((void));
-extern char* tmpnam __P((char*));
-extern int ungetc __P((int c, FILE* fp));
-extern int vfprintf __P((FILE *fp, char const *fmt0, _IO_va_list));
-extern int vprintf __P((char const *fmt, _IO_va_list));
-extern int vsprintf __P((char* string, const char* format, _IO_va_list));
-
-#ifndef __STRICT_ANSI__
-extern int vfscanf __P((FILE*, const char *, _IO_va_list));
-extern int vscanf __P((const char *, _IO_va_list));
-extern int vsscanf __P((const char *, const char *, _IO_va_list));
-#endif
-
-#if !defined(__STRICT_ANSI__) || defined(_POSIX_SOURCE)
-extern FILE *fdopen __P((int, const char *));
-extern int fileno __P((FILE*));
-extern FILE* popen __P((const char*, const char*));
-extern int pclose __P((FILE*));
-#endif
-
-#ifdef __USE_GNU
-extern _IO_ssize_t getdelim __P ((char **, size_t *, int, FILE*));
-extern _IO_ssize_t getline __P ((char **, size_t *, FILE *));
-
-extern int snprintf __P ((char *, size_t, const char *, ...));
-extern int vsnprintf __P ((char *, size_t, const char *, _IO_va_list));
-#endif
-
-extern int __underflow __P((struct _IO_FILE*));
-extern int __overflow __P((struct _IO_FILE*, int));
-
-/* Handle locking of streams. */
-#if defined _REENTRANT || defined _THREAD_SAFE
-extern void clearerr_locked __P ((FILE *));
-extern void clearerr_unlocked __P ((FILE *));
-extern int feof_locked __P ((FILE *));
-extern int feof_unlocked __P ((FILE *));
-extern int ferror_locked __P ((FILE*));
-extern int ferror_unlocked __P ((FILE*));
-extern int fileno_locked __P ((FILE *));
-extern int fileno_unlocked __P ((FILE *));
-extern void flockfile __P ((FILE *));
-extern void funlockfile __P ((FILE *));
-extern int ftrylockfile __P ((FILE *));
-extern int fclose_unlocked __P ((FILE *));
-extern int fflush_locked __P ((FILE *));
-extern int fflush_unlocked __P ((FILE *));
-extern size_t fread_unlocked __P ((void *, size_t, size_t, FILE *));
-extern size_t fwrite_unlocked __P ((const void *, size_t, size_t, FILE *));
-
-extern int fputc_locked __P ((int, FILE*));
-extern int fputc_unlocked __P ((int, FILE*));
-extern int getc_locked __P ((FILE *));
-extern int getc_unlocked __P ((FILE *));
-extern int getchar_locked __P ((void));
-extern int getchar_unlocked __P ((void));
-extern int putc_locked __P ((int, FILE *));
-extern int putc_unlocked __P ((int, FILE *));
-extern int putchar_locked __P ((int));
-extern int putchar_unlocked __P ((int));
-
-# define getc_unlocked(fp) _IO_getc_unlocked (fp)
-# define getc_locked(fp) _IO_getc (fp)
-# define getchar_unlocked() _IO_getc_unlocked (stdin)
-# define getchar_locked() _IO_getc (stdin)
-# define putchar_unlocked(c) _IO_putc_unlocked (c, stdout)
-# define putchar_locked(c) _IO_putc (c, stdout)
-#endif /* __USE_REENTRANT */
-
-#define getc(fp) _IO_getc(fp)
-#define putc(c, fp) _IO_putc(c, fp)
-#define putchar(c) _IO_putc(c, stdout)
-#define getchar() _IO_getc(stdin)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /*!_STDIO_H*/
diff --git a/contrib/libio/stdio/vasprintf.c b/contrib/libio/stdio/vasprintf.c
deleted file mode 100644
index 15513d0..0000000
--- a/contrib/libio/stdio/vasprintf.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright (C) 1995, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include <malloc.h>
-#include "libioP.h"
-#include "stdio.h"
-#include "strfile.h"
-
-int
-_IO_vasprintf (result_ptr, format, args)
- char **result_ptr;
- const char *format;
- _IO_va_list args;
-{
- /* Initial size of the buffer to be used. Will be doubled each time an
- overflow occurs. */
- const _IO_size_t init_string_size = 100;
- char *string;
- _IO_strfile sf;
-#ifdef _IO_MTSAFE_IO
- _IO_lock_t lock;
-#endif
- int ret;
- string = (char *) malloc (init_string_size);
- if (string == NULL)
- return -1;
-#ifdef _IO_MTSAFE_IO
- sf._sbf._f._lock = &lock;
-#endif
- _IO_init ((_IO_FILE *) &sf, 0);
- _IO_JUMPS ((_IO_FILE *) &sf) = &_IO_str_jumps;
- _IO_str_init_static ((_IO_FILE *) &sf, string, init_string_size, string);
- sf._sbf._f._flags &= ~_IO_USER_BUF;
- sf._s._allocate_buffer = (_IO_alloc_type) malloc;
- sf._s._free_buffer = (_IO_free_type) free;
- ret = _IO_vfprintf ((_IO_FILE *) &sf, format, args);
- if (ret < 0)
- return ret;
- *result_ptr = (char *) realloc (sf._sbf._f._IO_buf_base,
- (sf._sbf._f._IO_write_ptr
- - sf._sbf._f._IO_write_base) +1);
- if (*result_ptr == NULL)
- *result_ptr = sf._sbf._f._IO_buf_base;
- (*result_ptr)[sf._sbf._f._IO_write_ptr-sf._sbf._f._IO_write_base] = '\0';
- return ret;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_vasprintf, vasprintf)
-#endif
diff --git a/contrib/libio/stdio/vfprintf.c b/contrib/libio/stdio/vfprintf.c
deleted file mode 100644
index fca6209..0000000
--- a/contrib/libio/stdio/vfprintf.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-
-int
-vfprintf(fp, format, args)
- register _IO_FILE* fp;
- char const *format;
- _IO_va_list args;
-{
- CHECK_FILE(fp, -1);
- return _IO_vfprintf(fp, format, args);
-}
diff --git a/contrib/libio/stdio/vfscanf.c b/contrib/libio/stdio/vfscanf.c
deleted file mode 100644
index 1759ee5..0000000
--- a/contrib/libio/stdio/vfscanf.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-int
-vfscanf(fp, format, args)
- register _IO_FILE* fp;
- const char *format;
- _IO_va_list args;
-{
- CHECK_FILE(fp, EOF);
- return _IO_vfscanf(fp, format, args, NULL);
-}
diff --git a/contrib/libio/stdio/vprintf.c b/contrib/libio/stdio/vprintf.c
deleted file mode 100644
index 784f0d9..0000000
--- a/contrib/libio/stdio/vprintf.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-int vprintf(format, args)
- const char* format;
- _IO_va_list args;
-{
- return _IO_vfprintf(_IO_stdout, format, args);
-}
diff --git a/contrib/libio/stdio/vscanf.c b/contrib/libio/stdio/vscanf.c
deleted file mode 100644
index 8b92ae2..0000000
--- a/contrib/libio/stdio/vscanf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "stdio.h"
-
-#undef vscanf
-
-int
-_IO_vscanf (format, args)
- const char *format;
- _IO_va_list args;
-{
- return _IO_vfscanf (_IO_stdin, format, args, NULL);
-}
-
-#ifdef weak_alias
-weak_alias (_IO_vscanf, vscanf)
-#endif
diff --git a/contrib/libio/stdio/vsnprintf.c b/contrib/libio/stdio/vsnprintf.c
deleted file mode 100644
index 3f35af2..0000000
--- a/contrib/libio/stdio/vsnprintf.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "libioP.h"
-#include "strfile.h"
-
-
-typedef struct
-{
- _IO_strfile f;
- /* This is used for the characters which do not fit in the buffer
- provided by the user. */
- char overflow_buf[64];
-} _IO_strnfile;
-
-
-static int _IO_strn_overflow __P ((_IO_FILE *fp, int c));
-
-static int
-_IO_strn_overflow (fp, c)
- _IO_FILE *fp;
- int c;
-{
- /* When we come to here this means the user supplied buffer is
- filled. But since we must return the number of characters which
- would have been written in total we must provide a buffer for
- further use. We can do this by writing on and on in the overflow
- buffer in the _IO_strnfile structure. */
- _IO_strnfile *snf = (_IO_strnfile *) fp;
-
- if (fp->_IO_buf_base != snf->overflow_buf)
- {
- /* Terminate the string. We know that there is room for at
- least one more character since we initialized the stream with
- a size to make this possible. */
- *fp->_IO_write_ptr = '\0';
-
- _IO_setb (fp, snf->overflow_buf,
- snf->overflow_buf + sizeof (snf->overflow_buf), 0);
-
- fp->_IO_write_base = snf->overflow_buf;
- fp->_IO_read_base = snf->overflow_buf;
- fp->_IO_read_ptr = snf->overflow_buf;
- fp->_IO_read_end = snf->overflow_buf + sizeof (snf->overflow_buf);
- }
-
- fp->_IO_write_ptr = snf->overflow_buf;
- fp->_IO_write_end = snf->overflow_buf;
-
- /* Since we are not really interested in storing the characters
- which do not fit in the buffer we simply ignore it. */
- return c;
-}
-
-
-static struct _IO_jump_t _IO_strn_jumps =
-{
- JUMP_INIT_DUMMY,
- JUMP_INIT(finish, _IO_str_finish),
- JUMP_INIT(overflow, _IO_strn_overflow),
- JUMP_INIT(underflow, _IO_str_underflow),
- JUMP_INIT(uflow, _IO_default_uflow),
- JUMP_INIT(pbackfail, _IO_str_pbackfail),
- JUMP_INIT(xsputn, _IO_default_xsputn),
- JUMP_INIT(xsgetn, _IO_default_xsgetn),
- JUMP_INIT(seekoff, _IO_str_seekoff),
- JUMP_INIT(seekpos, _IO_default_seekpos),
- JUMP_INIT(setbuf, _IO_default_setbuf),
- JUMP_INIT(sync, _IO_default_sync),
- JUMP_INIT(doallocate, _IO_default_doallocate),
- JUMP_INIT(read, _IO_default_read),
- JUMP_INIT(write, _IO_default_write),
- JUMP_INIT(seek, _IO_default_seek),
- JUMP_INIT(close, _IO_default_close),
- JUMP_INIT(stat, _IO_default_stat)
-};
-
-
-int
-_IO_vsnprintf (string, maxlen, format, args)
- char *string;
- _IO_size_t maxlen;
- const char *format;
- _IO_va_list args;
-{
- _IO_strnfile sf;
- int ret;
-#ifdef _IO_MTSAFE_IO
- _IO_lock_t lock;
- sf.f._sbf._f._lock = &lock;
-#endif
-
- /* We need to handle the special case where MAXLEN is 0. Use the
- overflow buffer right from the start. */
- if (maxlen == 0)
- {
- string = sf.overflow_buf;
- maxlen = sizeof (sf.overflow_buf);
- }
-
- _IO_init ((_IO_FILE *) &sf, 0);
- _IO_JUMPS ((_IO_FILE *) &sf) = &_IO_strn_jumps;
- _IO_str_init_static ((_IO_FILE *) &sf, string, maxlen - 1, string);
- ret = _IO_vfprintf ((_IO_FILE *) &sf, format, args);
-
- if (sf.f._sbf._f._IO_buf_base != sf.overflow_buf)
- *sf.f._sbf._f._IO_write_ptr = '\0';
- return ret;
-}
-
-#ifdef weak_alias
-weak_alias (_IO_vsnprintf, __vsnprintf)
-weak_alias (_IO_vsnprintf, vsnprintf)
-#endif
diff --git a/contrib/libio/stdiostream.cc b/contrib/libio/stdiostream.cc
deleted file mode 100644
index ee0907b..0000000
--- a/contrib/libio/stdiostream.cc
+++ /dev/null
@@ -1,159 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
-#include "libioP.h"
-#include <stdiostream.h>
-
-// A stdiobuf is "tied" to a FILE object (as used by the stdio package).
-// Thus a stdiobuf is always synchronized with the corresponding FILE,
-// though at the cost of some overhead. (If you use the implementation
-// of stdio supplied with this library, you don't need stdiobufs.)
-// This implementation inherits from filebuf, but implement the virtual
-// functions sys_read/..., using the stdio functions fread/... instead
-// of the low-level read/... system calls. This has the advantage that
-// we get all of the nice filebuf semantics automatically, though
-// with some overhead.
-
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#endif
-#ifndef SEEK_CUR
-#define SEEK_CUR 1
-#endif
-#ifndef SEEK_END
-#define SEEK_END 2
-#endif
-
-stdiobuf::stdiobuf(FILE *f) : filebuf(fileno(f))
-{
- _file = f;
- // Turn off buffer in stdiobuf. Instead, rely on buffering in (FILE).
- // Thus the stdiobuf will be synchronized with the FILE.
- setbuf(NULL, 0);
-}
-
-stdiobuf::~stdiobuf()
-{
- /* Only needed if we're buffered. Not buffered is the default. */
- _IO_do_flush((_IO_FILE*)this);
-}
-
-streamsize stdiobuf::sys_read(char* buf, streamsize size)
-{
- // A minor optimization, but it makes a noticable difference.
- // A bigger optimization would be to write stdiobuf::underflow,
- // but that has some modularity disadvantages. Re-evaluate that
- // after we have gotten rid of the double indirection. FIXME
- if (size == 1)
- {
- register int ch = getc(_file);
- if (ch == EOF)
- return 0;
- *buf = (char)ch;
- return 1;
- }
- else
- return fread(buf, 1, size, _file);
-}
-
-streamsize stdiobuf::sys_write(const char *buf, streamsize n)
-{
- _IO_ssize_t count = fwrite(buf, 1, n, _file);
- if (_offset >= 0)
- _offset += n;
- return count;
-}
-
-streampos stdiobuf::sys_seek(streamoff offset, _seek_dir dir)
-{
- // Normally, equivalent to: fdir=dir
- int fdir =
- (dir == ios::beg) ? SEEK_SET :
- (dir == ios::cur) ? SEEK_CUR :
- (dir == ios::end) ? SEEK_END :
- dir;
- return fseek(_file, offset, fdir);
-}
-
-int stdiobuf::sys_close()
-{
- int status = fclose(_file);
- _file = NULL;
- return status;
-}
-
-int stdiobuf::sync()
-{
- if (_IO_do_flush((_IO_FILE*)this))
- return EOF;
- if (!(xflags() & _IO_NO_WRITES))
- if (fflush(_file))
- return EOF;
- return 0;
-}
-
-int stdiobuf::overflow(int c /* = EOF*/)
-{
- if (filebuf::overflow(c) == EOF)
- return EOF;
- if (c != EOF)
- return c;
- return fflush(_file);
-}
-
-streamsize stdiobuf::xsputn(const char* s, streamsize n)
-{
- if (buffered ())
- {
- // The filebuf implementation of sputn loses.
- return streambuf::xsputn(s, n);
- }
- else
- return fwrite (s, 1, n, _file);
-}
-
-void stdiobuf::buffered (int b)
-{
- if (b)
- {
- if (_flags & _IO_UNBUFFERED)
- { /* Was unbuffered, make it buffered. */
- _flags &= ~_IO_UNBUFFERED;
- }
- }
- else
- {
- if (!(_flags & _IO_UNBUFFERED))
- { /* Was buffered, make it unbuffered. */
- setbuf(NULL, 0);
- }
- }
-}
diff --git a/contrib/libio/stdiostream.h b/contrib/libio/stdiostream.h
deleted file mode 100644
index b973d7a..0000000
--- a/contrib/libio/stdiostream.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#ifndef _STDIOSTREAM_H
-#define _STDIOSTREAM_H
-
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include <iostream.h>
-#include <stdio.h>
-
-extern "C++" {
-class stdiobuf : public filebuf {
- protected:
- FILE *_file;
- public:
- FILE* stdiofile() const { return _file; }
- stdiobuf(FILE *);
- ~stdiobuf();
- int buffered () const { return _flags & _IO_UNBUFFERED ? 0 : 1; }
- void buffered (int);
- virtual streamsize sys_read(char*, streamsize);
- virtual streampos sys_seek(streamoff, _seek_dir);
- virtual streamsize sys_write(const char*, streamsize);
- virtual int sys_close();
- virtual int sync();
- virtual int overflow(int c = EOF);
- streamsize xsputn(const char* s, streamsize n);
-};
-
-class istdiostream : public istream
-{
-private:
- stdiobuf _file;
-public:
- istdiostream (FILE* __f) : istream(), _file(__f) { init(&_file); }
- stdiobuf* rdbuf()/* const */ { return &_file; }
- int buffered () const { return _file.buffered (); }
- void buffered (int _i) { _file.buffered (_i); }
-};
-
-class ostdiostream : public ostream
-{
-private:
- stdiobuf _file;
-public:
- ostdiostream (FILE* __f) : ostream(), _file(__f) { init(&_file); }
- stdiobuf* rdbuf() /* const */ { return &_file; }
- int buffered () const { return _file.buffered (); }
- void buffered (int _i) { _file.buffered (_i); }
-};
-} // extern "C++"
-
-#endif /* !_STDIOSTREAM_H */
diff --git a/contrib/libio/stdstrbufs.cc b/contrib/libio/stdstrbufs.cc
deleted file mode 100644
index 48aa719..0000000
--- a/contrib/libio/stdstrbufs.cc
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
-Copyright (C) 1994 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-
-/* This file provides definitions of _IO_stdin, _IO_stdout, and _IO_stderr
- for C++ code. Compare stdfiles.c.
- (The difference is that here the vtable field is set to
- point to builtinbuf's vtable, so the objects are effectively
- of class builtinbuf.) */
-
-#include "libioP.h"
-#include <stdio.h>
-
-#if !defined(filebuf_vtable) && defined(__cplusplus)
-#ifdef __GNUC__
-extern char filebuf_vtable[]
- asm (_G_VTABLE_LABEL_PREFIX
-#if _G_VTABLE_LABEL_HAS_LENGTH
- "7"
-#endif
- "filebuf");
-#else /* !__GNUC__ */
-#if _G_VTABLE_LABEL_HAS_LENGTH
-#define filebuf_vtable _G_VTABLE_LABEL_PREFIX_ID##7filebuf
-#else
-#define filebuf_vtable _G_VTABLE_LABEL_PREFIX_ID##filebuf
-#endif
-extern char filebuf_vtable[];
-#endif /* !__GNUC__ */
-#endif /* !defined(filebuf_vtable) && defined(__cplusplus) */
-
-#ifndef STD_VTABLE
-#define STD_VTABLE (const struct _IO_jump_t *)filebuf_vtable
-#endif
-
-#ifdef _IO_MTSAFE_IO
-#define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \
- static _IO_lock_t _IO_stdfile_##FD##_lock = _IO_lock_initializer; \
- struct _IO_FILE_plus NAME \
- = {FILEBUF_LITERAL(CHAIN, FLAGS, FD), STD_VTABLE}
-#else
-#define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \
- struct _IO_FILE_plus NAME = {FILEBUF_LITERAL(CHAIN, FLAGS, FD), STD_VTABLE}
-#endif
-
-DEF_STDFILE(_IO_stdin_, 0, 0, _IO_NO_WRITES);
-DEF_STDFILE(_IO_stdout_, 1, &_IO_stdin_.file, _IO_NO_READS);
-DEF_STDFILE(_IO_stderr_, 2, &_IO_stdout_.file,
- _IO_NO_READS+_IO_UNBUFFERED);
-
-#ifdef _STDIO_USES_IOSTREAM
-_IO_FILE *_IO_list_all = &_IO_stderr_.file;
-#else /* !_STDIO_USES_IOSTREAM */
-#include "stdiostream.h"
-
-struct _IO_fake_stdiobuf {
- struct {
- _IO_FILE file;
- const void *vtable;
- } s;
- FILE *stdio_file;
-};
-
-/* Define stdiobuf_vtable as a name for the virtual function table
- of the stdiobuf class. */
-#ifndef stdiobuf_vtable
-#ifdef __GNUC__
-extern struct _IO_jump_t stdiobuf_vtable
- asm (_G_VTABLE_LABEL_PREFIX
-#if _G_VTABLE_LABEL_HAS_LENGTH
- "8"
-#endif
- "stdiobuf");
-#else /* !__GNUC__ */
-#if _G_VTABLE_LABEL_HAS_LENGTH
-#define stdiobuf_vtable _G_VTABLE_LABEL_PREFIX_ID##8stdiobuf
-#else
-#define stdiobuf_vtable _G_VTABLE_LABEL_PREFIX_ID##stdiobuf
-#endif
-extern struct _IO_jump_t stdiobuf_vtable;
-#endif /* !__GNUC__ */
-#endif /* !stdiobuf_vtable */
-
-#ifdef _IO_MTSAFE_IO
-#define DEF_STDIOFILE(NAME, FD, FILE, FLAGS, CHAIN) \
- static _IO_lock_t _IO_stdfile_##FD##_lock = _IO_lock_initializer; \
- struct _IO_fake_stdiobuf NAME = \
- {{{ _IO_MAGIC+_IO_LINKED+_IO_IS_FILEBUF+_IO_UNBUFFERED+FLAGS, \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, FD, \
- 0, 0, 0, 0, { 0 }, _IO_stdfile_##FD##_lock},\
- &stdiobuf_vtable}, FILE}
-#else
-#define DEF_STDIOFILE(NAME, FD, FILE, FLAGS, CHAIN) \
- struct _IO_fake_stdiobuf NAME = \
- {{{ _IO_MAGIC+_IO_LINKED+_IO_IS_FILEBUF+_IO_UNBUFFERED+FLAGS, \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, FD}, \
- &stdiobuf_vtable}, FILE}
-#endif
-
-DEF_STDIOFILE(_IO_stdin_buf, 0, stdin, _IO_NO_WRITES, &_IO_stderr_.file);
-DEF_STDIOFILE(_IO_stdout_buf, 1, stdout, _IO_NO_READS, &_IO_stdin_buf.s.file);
-DEF_STDIOFILE(_IO_stderr_buf, 2, stderr, _IO_NO_READS, &_IO_stdout_buf.s.file);
-
-_IO_FILE *_IO_list_all = &_IO_stderr_buf.s.file;
-#endif /* !_STDIO_USES_IOSTREAM */
diff --git a/contrib/libio/stdstreams.cc b/contrib/libio/stdstreams.cc
deleted file mode 100644
index 7a74eaa..0000000
--- a/contrib/libio/stdstreams.cc
+++ /dev/null
@@ -1,153 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#include "libioP.h"
-#include "streambuf.h"
-#include <stdio.h>
-
-// The ANSI draft requires that operations on cin/cout/cerr can be
-// mixed with operations on stdin/stdout/stderr on a character by
-// character basis. This normally requires that the streambuf's
-// used by cin/cout/cerr be stdiostreams. However, if the stdio
-// implementation is the one that is built using this library,
-// then we don't need to, since in that case stdin/stdout/stderr
-// are identical to _IO_stdin/_IO_stdout/_IO_stderr.
-
-#include <libio.h>
-
-#ifdef _STDIO_USES_IOSTREAM
-#define CIN_SBUF _IO_stdin_
-#define COUT_SBUF _IO_stdout_
-#define CERR_SBUF _IO_stderr_
-static int use_stdiobuf = 0;
-#else
-#define CIN_SBUF _IO_stdin_buf
-#define COUT_SBUF _IO_stdout_buf
-#define CERR_SBUF _IO_stderr_buf
-static int use_stdiobuf = 1;
-#endif
-
-#define cin CIN
-#define cout COUT
-#define cerr CERR
-#define clog CLOG
-#include "iostream.h"
-#undef cin
-#undef cout
-#undef cerr
-#undef clog
-
-#ifdef __GNUG__
-#define PAD 0 /* g++ allows 0-length arrays. */
-#else
-#define PAD 1
-#endif
-struct _fake_istream {
- struct myfields {
-#ifdef __GNUC__
- _ios_fields *vb; /* pointer to virtual base class ios */
- _IO_ssize_t _gcount;
-#else
- /* This is supposedly correct for cfront. */
- _IO_ssize_t _gcount;
- void *vptr;
- _ios_fields *vb; /* pointer to virtual base class ios */
-#endif
- } mine;
- _ios_fields base;
- char filler[sizeof(struct istream)-sizeof(struct _ios_fields)+PAD];
-};
-struct _fake_ostream {
- struct myfields {
-#ifndef __GNUC__
- void *vptr;
-#endif
- _ios_fields *vb; /* pointer to virtual base class ios */
- } mine;
- _ios_fields base;
- char filler[sizeof(struct ostream)-sizeof(struct _ios_fields)+PAD];
-};
-
-
-#ifdef _IO_NEW_STREAMS
-#define STD_STR(SBUF, TIE, EXTRA_FLAGS) \
- (streambuf*)&SBUF, TIE, 0, ios::skipws|ios::dec|EXTRA_FLAGS, ' ',0,0,6
-#else
-#define STD_STR(SBUF, TIE, EXTRA_FLAGS) \
- (streambuf*)&SBUF, TIE, 0, ios::dont_close|ios::dec|ios::skipws|EXTRA_FLAGS, ' ',0,0,6
-#endif
-
-#ifdef __GNUC__
-#define OSTREAM_DEF(NAME, SBUF, TIE, EXTRA_FLAGS, ASM) \
- _fake_ostream NAME ASM = { {&NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
-#define ISTREAM_DEF(NAME, SBUF, TIE, EXTRA_FLAGS) \
- _fake_istream NAME = { {&NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
-#else
-#define OSTREAM_DEF(NAME, SBUF, TIE, EXTRA_FLAGS) \
- _fake_ostream NAME = { {0, &NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
-#define ISTREAM_DEF(NAME, SBUF, TIE, EXTRA_FLAGS) \
- _fake_istream NAME = {{0, 0, &NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS)}};
-#endif
-
-OSTREAM_DEF(cout, COUT_SBUF, NULL, 0, )
-OSTREAM_DEF(cerr, CERR_SBUF,(ostream*)&cout, ios::unitbuf, )
-ISTREAM_DEF(cin, CIN_SBUF, (ostream*)&cout, 0)
-
-/* Only for (partial) compatibility with AT&T's library. */
-#if _G_CLOG_CONFLICT
-OSTREAM_DEF(clog, CERR_SBUF, (ostream*)&cout, 0, __asm__ ("__IO_clog"))
-#else
-OSTREAM_DEF(clog, CERR_SBUF, (ostream*)&cout, 0, )
-#endif
-
-// Switches between using _IO_std{in,out,err} and __std{in,out,err}_buf
-// for standard streams. This does not normally need to be called
-// explicitly, but is provided for AT&T compatibility.
-
-int ios::sync_with_stdio(int new_state)
-{
-#ifdef _STDIO_USES_IOSTREAM
- // It is always synced.
- return 0;
-#else
- if (new_state == use_stdiobuf) // The usual case now.
- return use_stdiobuf;
- if (new_state) {
- cin.base._strbuf = (streambuf*)&_IO_stdin_buf;
- cout.base._strbuf = (streambuf*)&_IO_stdout_buf;
- cerr.base._strbuf = (streambuf*)&_IO_stderr_buf;
- clog.base._strbuf = (streambuf*)&_IO_stderr_buf;
- } else {
- cin.base._strbuf = (streambuf*)_IO_stdin;
- cout.base._strbuf = (streambuf*)_IO_stdout;
- cerr.base._strbuf = (streambuf*)_IO_stderr;
- clog.base._strbuf = (streambuf*)_IO_stderr;
- }
- int old_state = use_stdiobuf;
- use_stdiobuf = new_state;
- return old_state;
-#endif
-}
diff --git a/contrib/libio/stream.cc b/contrib/libio/stream.cc
deleted file mode 100644
index 3440a0c..0000000
--- a/contrib/libio/stream.cc
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include <stdarg.h>
-#include <string.h>
-#include "libioP.h"
-#include "stream.h"
-#include "strstream.h"
-
-static char Buffer[_IO_BUFSIZ];
-#define EndBuffer (Buffer+_IO_BUFSIZ)
-static char* next_chunk = Buffer; // Start of available part of Buffer.
-
-char* form(const char* format, ...)
-{
- int space_left = EndBuffer - next_chunk;
- // If less that 25% of the space is available start over.
- if (space_left < (_IO_BUFSIZ>>2))
- next_chunk = Buffer;
- char* buf = next_chunk;
-
- strstreambuf stream(buf, EndBuffer-buf-1, buf);
- va_list ap;
- va_start(ap, format);
- int count = stream.vform(format, ap);
- va_end(ap);
- stream.sputc(0);
- next_chunk = buf + stream.pcount();
- return buf;
-}
-
-#define u_long unsigned long
-
-static char* itoa(unsigned long i, int size, int neg, int base)
-{
- // Conservative estimate: If base==2, might need 8 characters
- // for each input byte, but normally 3 is plenty.
- int needed = size ? size
- : (base >= 8 ? 3 : 8) * sizeof(unsigned long) + 2;
- int space_left = EndBuffer - next_chunk;
- if (space_left <= needed)
- next_chunk = Buffer; // start over.
-
- char* buf = next_chunk;
-
- register char* ptr = buf+needed+1;
- next_chunk = ptr;
-
- if (needed < (2+neg) || ptr > EndBuffer)
- return NULL;
- *--ptr = 0;
-
- if (i == 0)
- *--ptr = '0';
- while (i != 0 && ptr > buf) {
- int ch = i % base;
- i = i / base;
- if (ch >= 10)
- ch += 'a' - 10;
- else
- ch += '0';
- *--ptr = ch;
- }
- if (neg)
- *--ptr = '-';
- if (size == 0)
- return ptr;
- while (ptr > buf)
- *--ptr = ' ';
- return buf;
-}
-
-char* dec(long i, int len /* = 0 */)
-{
- if (i >= 0) return itoa((unsigned long)i, len, 0, 10);
- else return itoa((unsigned long)(-i), len, 1, 10);
-}
-char* dec(int i, int len /* = 0 */)
-{
- if (i >= 0) return itoa((unsigned long)i, len, 0, 10);
- else return itoa((unsigned long)(-i), len, 1, 10);
-}
-char* dec(unsigned long i, int len /* = 0 */)
-{
- return itoa(i, len, 0, 10);
-}
-char* dec(unsigned int i, int len /* = 0 */)
-{
- return itoa(i, len, 0, 10);
-}
-
-char* hex(long i, int len /* = 0 */)
-{
- return itoa((unsigned long)i, len, 0, 16);
-}
-char* hex(int i, int len /* = 0 */)
-{
- return itoa((unsigned long)i, len, 0, 16);
-}
-char* hex(unsigned long i, int len /* = 0 */)
-{
- return itoa(i, len, 0, 16);
-}
-char* hex(unsigned int i, int len /* = 0 */)
-{
- return itoa(i, len, 0, 16);
-}
-
-char* oct(long i, int len /* = 0 */)
-{
- return itoa((unsigned long)i, len, 0, 8);
-}
-char* oct(int i, int len /* = 0 */)
-{
- return itoa((unsigned long)i, len, 0, 8);
-}
-char* oct(unsigned long i, int len /* = 0 */)
-{
- return itoa(i, len, 0, 8);
-}
-char* oct(unsigned int i, int len /* = 0 */)
-{
- return itoa(i, len, 0, 8);
-}
-
-static char *str(const char* s, int len, int width)
-{
- if (width < len)
- width = len;
- int space_left = EndBuffer - next_chunk;
- if (space_left <= width + 1)
- next_chunk = Buffer; // start over.
- char* buf = next_chunk;
- memset (buf, ' ', width - len);
- memcpy (buf + width - len, s, len);
- buf[width] = 0;
- return buf;
-}
-
-char* str(const char* s, int width)
-{
- return str (s, strlen (s), width);
-}
-
-char* chr(char ch, int width)
-{
- char c = ch;
- return str (&c, 1, width);
-}
diff --git a/contrib/libio/stream.h b/contrib/libio/stream.h
deleted file mode 100644
index 90f8c1f..0000000
--- a/contrib/libio/stream.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright (C) 1993, 1999 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#ifndef _COMPAT_STREAM_H
-#define _COMPAT_STREAM_H
-
-// Compatibility with old library.
-// DO NOT USE THESE FUNCTIONS IN NEW CODE!
-// They are obsolete, non-standard, and non-reentrant.
-
-#define _STREAM_COMPAT
-#include <iostream.h>
-
-extern "C++" {
-extern char* form(const char*, ...);
-
-extern char* dec(long, int=0);
-extern char* dec(int, int=0);
-extern char* dec(unsigned long, int=0);
-extern char* dec(unsigned int, int=0);
-
-extern char* hex(long, int=0);
-extern char* hex(int, int=0);
-extern char* hex(unsigned long, int=0);
-extern char* hex(unsigned int, int=0);
-
-extern char* oct(long, int=0);
-extern char* oct(int, int=0);
-extern char* oct(unsigned long, int=0);
-extern char* oct(unsigned int, int=0);
-
-char* chr(char ch, int width = 0);
-char* str(const char* s, int width = 0);
-
-inline istream& WS(istream& __str) { return ws(__str); }
-} // extern "C++"
-
-#endif /* !_COMPAT_STREAM_H */
diff --git a/contrib/libio/streambuf.cc b/contrib/libio/streambuf.cc
deleted file mode 100644
index 057d1e6..0000000
--- a/contrib/libio/streambuf.cc
+++ /dev/null
@@ -1,364 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1991, 1992, 1993, 1995 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#define _STREAM_COMPAT
-#ifdef __GNUG__
-#pragma implementation
-#endif
-#include "iostreamP.h"
-#include <string.h>
-#include <stdarg.h>
-#include <errno.h>
-#ifndef errno
-extern int errno;
-#endif
-
-void streambuf::_un_link() { _IO_un_link(this); }
-
-void streambuf::_link_in() { _IO_link_in(this); }
-
-int streambuf::switch_to_get_mode()
-{ return _IO_switch_to_get_mode(this); }
-
-void streambuf::free_backup_area()
-{ _IO_free_backup_area(this); }
-
-#if 0
-int streambuf::switch_to_put_mode()
-{ return _IO_:switch_to_put_mode(this); }
-#endif
-
-int __overflow(streambuf* sb, int c)
-{
- return sb->overflow(c);
-}
-
-int streambuf::underflow()
-{ return EOF; }
-
-int streambuf::uflow()
-{ return _IO_default_uflow (this); }
-
-int streambuf::overflow(int /* = EOF */)
-{ return EOF; }
-
-streamsize streambuf::xsputn(register const char* s, streamsize n)
-{ return _IO_default_xsputn(this, s, n); }
-
-streamsize streambuf::xsgetn(char* s, streamsize n)
-{ return _IO_default_xsgetn(this, s, n); }
-
-int streambuf::ignore(int n)
-{
- register int more = n;
- for (;;) {
- int count = _IO_read_end - _IO_read_ptr; // Data available.
- if (count > 0) {
- if (count > more)
- count = more;
- _IO_read_ptr += count;
- more -= count;
- }
- if (more == 0 || __underflow(this) == EOF)
- break;
- }
- return n - more;
-}
-
-int streambuf::sync()
-{
- return 0;
-}
-
-int streambuf::pbackfail(int c)
-{
- return _IO_default_pbackfail(this, c);
-}
-
-streambuf* streambuf::setbuf(char* p, int len)
-{
- if (sync() == EOF)
- return NULL;
- if (p == NULL || len == 0) {
- unbuffered(1);
- setb(_shortbuf, _shortbuf+1, 0);
- }
- else {
- unbuffered(0);
- setb(p, p+len, 0);
- }
- setp(0, 0);
- setg(0, 0, 0);
- return this;
-}
-
-streampos streambuf::seekpos(streampos pos, int mode)
-{
- return seekoff(pos, ios::beg, mode);
-}
-
-streampos streambuf::sseekpos(streampos pos, int mode)
-{
- return _IO_seekpos (this, pos, mode);
-}
-
-void streambuf::setb(char* b, char* eb, int a)
-{ _IO_setb(this, b, eb, a); }
-
-int streambuf::doallocate() { return _IO_default_doallocate(this); }
-
-void streambuf::doallocbuf() { _IO_doallocbuf(this); }
-
-#if !_IO_UNIFIED_JUMPTABLES
-/* The following are jump table entries that just call the virtual method */
-
-static int _IO_sb_overflow(_IO_FILE *fp, int c)
-{ return ((streambuf*)fp)->overflow(c); }
-static int _IO_sb_underflow(_IO_FILE *fp)
-{ return ((streambuf*)fp)->underflow(); }
-static _IO_size_t _IO_sb_xsputn(_IO_FILE *fp, const void *s, _IO_size_t n)
-{ return ((streambuf*)fp)->xsputn((const char*)s, n); }
-static _IO_size_t _IO_sb_xsgetn(_IO_FILE *fp, void *s, _IO_size_t n)
-{ return ((streambuf*)fp)->xsgetn((char*)s, n); }
-static int _IO_sb_close(_IO_FILE *fp)
-{ return ((streambuf*)fp)->sys_close(); }
-static int _IO_sb_stat(_IO_FILE *fp, void *b)
-{ return ((streambuf*)fp)->sys_stat(b); }
-static int _IO_sb_doallocate(_IO_FILE *fp)
-{ return ((streambuf*)fp)->doallocate(); }
-
-static _IO_pos_t _IO_sb_seekoff(_IO_FILE *fp, _IO_off_t pos, int dir, int mode)
-{
- return ((streambuf*)fp)->seekoff(pos, (ios::seek_dir)dir, mode);
-}
-
-static _IO_pos_t _IO_sb_seekpos(_IO_FILE *fp, _IO_pos_t pos, int mode)
-{
- return ((streambuf*)fp)->seekpos(pos, mode);
-}
-
-static int _IO_sb_pbackfail(_IO_FILE *fp, int ch)
-{ return ((streambuf*)fp)->pbackfail(ch); }
-static void _IO_sb_finish(_IO_FILE *fp, int)
-{ ((streambuf*)fp)->~streambuf(); }
-static _IO_ssize_t _IO_sb_read(_IO_FILE *fp, void *buf, _IO_ssize_t n)
-{ return ((streambuf*)fp)->sys_read((char*)buf, n); }
-static _IO_ssize_t _IO_sb_write(_IO_FILE *fp, const void *buf, _IO_ssize_t n)
-{ return ((streambuf*)fp)->sys_write((const char*)buf, n); }
-static int _IO_sb_sync(_IO_FILE *fp)
-{ return ((streambuf*)fp)->sync(); }
-static _IO_pos_t _IO_sb_seek(_IO_FILE *fp, _IO_off_t off, int dir)
-{ return ((streambuf*)fp)->sys_seek(off, (_seek_dir)dir); }
-static _IO_FILE* _IO_sb_setbuf(_IO_FILE *fp, char *buf, _IO_ssize_t n)
-{ return ((streambuf*)fp)->setbuf(buf, n); }
-
-/* This callbacks in this jumptable just call the corresponding
- virtual function, so that C functions can access (potentially user-defined)
- streambuf-derived objects.
- Contrast the builtinbuf class, which does the converse: Allow
- C++ virtual calls to be used on _IO_FILE objects that are builtin
- (or defined by C code). */
-
-
-struct _IO_jump_t _IO_streambuf_jumps = {
- JUMP_INIT_DUMMY,
- JUMP_INIT(finish, _IO_sb_finish),
- JUMP_INIT(overflow, _IO_sb_overflow),
- JUMP_INIT(underflow, _IO_sb_underflow),
- JUMP_INIT(uflow, _IO_default_uflow),
- JUMP_INIT(pbackfail, _IO_sb_pbackfail),
- JUMP_INIT(xsputn, _IO_sb_xsputn),
- JUMP_INIT(xsgetn, _IO_sb_xsgetn),
- JUMP_INIT(seekoff, _IO_sb_seekoff),
- JUMP_INIT(seekpos, _IO_sb_seekpos),
- JUMP_INIT(setbuf, _IO_sb_setbuf),
- JUMP_INIT(sync, _IO_sb_sync),
- JUMP_INIT(doallocate, _IO_sb_doallocate),
- JUMP_INIT(read, _IO_sb_read),
- JUMP_INIT(write, _IO_sb_write),
- JUMP_INIT(seek, _IO_sb_seek),
- JUMP_INIT(close, _IO_sb_close),
- JUMP_INIT(stat, _IO_sb_stat)
-};
-#endif
-
-streambuf::streambuf(int flags)
-{
-#ifdef _IO_MTSAFE_IO
- _lock = new _IO_lock_t;
-#endif
- _IO_init(this, flags);
-#if !_IO_UNIFIED_JUMPTABLES
- _jumps = &_IO_streambuf_jumps;
-#endif
-}
-
-streambuf::~streambuf()
-{
- _IO_default_finish(this,0);
-#ifdef _IO_MTSAFE_IO
- if (this != _IO_stdin && this != _IO_stdout && this != _IO_stderr)
- delete _lock;
-#endif
-}
-
-streampos
-streambuf::seekoff(streamoff, _seek_dir, int /*=ios::in|ios::out*/)
-{
- return EOF;
-}
-
-streampos
-streambuf::sseekoff(streamoff o , _seek_dir d, int m /*=ios::in|ios::out*/)
-{
- return _IO_seekoff (this, o, d, m);
-}
-
-int streambuf::sputbackc(char c)
-{
- return _IO_sputbackc(this, c);
-}
-
-int streambuf::sungetc()
-{
- return _IO_sungetc(this);
-}
-
-#if 0 /* Work in progress */
-void streambuf::collumn(int c)
-{
- if (c == -1)
- _collumn = -1;
- else
- _collumn = c - (_IO_write_ptr - _IO_write_base);
-}
-#endif
-
-
-int streambuf::get_column()
-{
- if (_cur_column)
- return _IO_adjust_column(_cur_column - 1, pbase(), pptr() - pbase());
- return -1;
-}
-
-int streambuf::set_column(int i)
-{
- _cur_column = i+1;
- return 0;
-}
-
-int streambuf::flush_all() { return _IO_flush_all (); }
-
-void streambuf::flush_all_linebuffered()
-{ _IO_flush_all_linebuffered(); }
-
-int streambuf::sys_stat(void *)
-{
-#ifdef EIO
- errno = EIO;
-#endif
- return -1;
-}
-
-streamsize streambuf::sys_read(char* /*buf*/, streamsize /*size*/)
-{
- return 0;
-}
-
-streamsize streambuf::sys_write(const char* /*buf*/, streamsize /*size*/)
-{
- return 0;
-}
-
-streampos streambuf::sys_seek(streamoff, _seek_dir)
-{
- return EOF;
-}
-
-int streambuf::sys_close() { return 0; /* Suceess; do nothing */ }
-
-#if _G_IO_IO_FILE_VERSION == 0x20001
-int streambuf::showmanyc()
-{
- return -1;
-}
-
-void streambuf::imbue(void *)
-{
-}
-#endif
-
-streammarker::streammarker(streambuf *sb)
-{
- _IO_init_marker(this, sb);
-}
-
-streammarker::~streammarker()
-{
- _IO_remove_marker(this);
-}
-
-#define BAD_DELTA EOF
-
-int streammarker::delta(streammarker& other_mark)
-{
- return _IO_marker_difference(this, &other_mark);
-}
-
-int streammarker::delta()
-{
- return _IO_marker_delta(this);
-}
-
-int streambuf::seekmark(streammarker& mark, int delta /* = 0 */)
-{
- return _IO_seekmark(this, &mark, delta);
-}
-
-void streambuf::unsave_markers()
-{
- _IO_unsave_markers(this);
-}
-
-int ios::readable() { return !(rdbuf()->_flags & _IO_NO_READS); }
-int ios::writable() { return !(rdbuf()->_flags & _IO_NO_WRITES); }
-int ios::is_open() { return rdbuf()
- && (rdbuf()->_flags & _IO_NO_READS+_IO_NO_WRITES)
- != _IO_NO_READS+_IO_NO_WRITES; }
-
-#if defined(linux)
-#define IO_CLEANUP
-#endif
-
-#ifdef IO_CLEANUP
- IO_CLEANUP
-#else
-struct __io_defs {
- ~__io_defs() { _IO_cleanup (); }
-};
-__io_defs io_defs__;
-#endif
diff --git a/contrib/libio/streambuf.h b/contrib/libio/streambuf.h
deleted file mode 100644
index 193c499..0000000
--- a/contrib/libio/streambuf.h
+++ /dev/null
@@ -1,490 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#ifndef _STREAMBUF_H
-#define _STREAMBUF_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-/* #define _G_IO_THROW */ /* Not implemented: ios::failure */
-
-#define _IO_NEW_STREAMS // new optimizated stream representation
-
-extern "C" {
-#include <libio.h>
-}
-//#include <_G_config.h>
-#ifdef _G_NEED_STDARG_H
-#include <stdarg.h>
-#endif
-#ifndef _IO_va_list
-#define _IO_va_list char *
-#endif
-
-#ifndef EOF
-#define EOF (-1)
-#endif
-#ifndef NULL
-#ifdef __GNUG__
-#define NULL (__null)
-#else
-#define NULL (0)
-#endif
-#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. */
-class ostream; class streambuf;
-
-// In case some header files defines these as macros.
-#undef open
-#undef close
-
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_off64_t streamoff;
-typedef _IO_off64_t streampos;
-#else
-typedef _IO_off_t streamoff;
-typedef _IO_off_t streampos;
-#endif
-typedef _IO_ssize_t streamsize;
-
-typedef unsigned long __fmtflags;
-typedef unsigned char __iostate;
-
-struct _ios_fields
-{ // The data members of an ios.
- streambuf *_strbuf;
- ostream* _tie;
- int _width;
- __fmtflags _flags;
- _IO_wchar_t _fill;
- __iostate _state;
- __iostate _exceptions;
- int _precision;
-
- void *_arrays; /* Support for ios::iword and ios::pword. */
-};
-
-#define _IOS_GOOD 0
-#define _IOS_EOF 1
-#define _IOS_FAIL 2
-#define _IOS_BAD 4
-
-#define _IO_INPUT 1
-#define _IO_OUTPUT 2
-#define _IO_ATEND 4
-#define _IO_APPEND 8
-#define _IO_TRUNC 16
-#define _IO_NOCREATE 32
-#define _IO_NOREPLACE 64
-#define _IO_BIN 128
-
-#ifdef _STREAM_COMPAT
-enum state_value {
- _good = _IOS_GOOD,
- _eof = _IOS_EOF,
- _fail = _IOS_FAIL,
- _bad = _IOS_BAD };
-enum open_mode {
- input = _IO_INPUT,
- output = _IO_OUTPUT,
- atend = _IO_ATEND,
- append = _IO_APPEND };
-#endif
-
-class ios : public _ios_fields {
- ios& operator=(ios&); /* Not allowed! */
- ios (const ios&); /* Not allowed! */
- public:
- typedef __fmtflags fmtflags;
- typedef int iostate;
- typedef int openmode;
- typedef _IO_ssize_t streamsize;
- enum io_state {
- goodbit = _IOS_GOOD,
- eofbit = _IOS_EOF,
- failbit = _IOS_FAIL,
- badbit = _IOS_BAD };
- enum open_mode {
- in = _IO_INPUT,
- out = _IO_OUTPUT,
- ate = _IO_ATEND,
- app = _IO_APPEND,
- trunc = _IO_TRUNC,
- nocreate = _IO_NOCREATE,
- noreplace = _IO_NOREPLACE,
- bin = _IOS_BIN, // Deprecated - ANSI uses ios::binary.
- binary = _IOS_BIN };
- enum seek_dir { beg, cur, end};
- typedef enum seek_dir seekdir;
- // NOTE: If adding flags here, before to update ios::bitalloc().
- enum { skipws=_IO_SKIPWS,
- left=_IO_LEFT, right=_IO_RIGHT, internal=_IO_INTERNAL,
- dec=_IO_DEC, oct=_IO_OCT, hex=_IO_HEX,
- showbase=_IO_SHOWBASE, showpoint=_IO_SHOWPOINT,
- uppercase=_IO_UPPERCASE, showpos=_IO_SHOWPOS,
- scientific=_IO_SCIENTIFIC, fixed=_IO_FIXED,
- unitbuf=_IO_UNITBUF, stdio=_IO_STDIO
-#ifndef _IO_NEW_STREAMS
- , dont_close=_IO_DONT_CLOSE // Don't delete streambuf on stream destruction
-#endif
- };
- enum { // Masks.
- basefield=dec+oct+hex,
- floatfield = scientific+fixed,
- adjustfield = left+right+internal
- };
-
-#ifdef _IO_THROW
- class failure : public xmsg {
- ios* _stream;
- public:
- failure(ios* stream) { _stream = stream; }
- failure(string cause, ios* stream) { _stream = stream; }
- ios* rdios() const { return _stream; }
- };
-#endif
-
- ostream* tie() const { return _tie; }
- ostream* tie(ostream* val) { ostream* save=_tie; _tie=val; return save; }
-
- // Methods to change the format state.
- _IO_wchar_t fill() const { return _fill; }
- _IO_wchar_t fill(_IO_wchar_t newf)
- {_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; }
- int precision() const { return _precision; }
- int precision(int newp) {
- unsigned short oldp = _precision; _precision = (unsigned short)newp;
- return oldp; }
- fmtflags setf(fmtflags val) {
- fmtflags oldbits = _flags;
- _flags |= val; return oldbits; }
- fmtflags setf(fmtflags val, fmtflags mask) {
- fmtflags oldbits = _flags;
- _flags = (_flags & ~mask) | (val & mask); return oldbits; }
- fmtflags unsetf(fmtflags mask) {
- fmtflags oldbits = _flags;
- _flags &= ~mask; return oldbits; }
- int width() const { return _width; }
- int width(int val) { int save = _width; _width = val; return save; }
-
-#ifdef _IO_THROW
- void _throw_failure() const { throw new ios::failure(this); }
-#else
- void _throw_failure() const { }
-#endif
- void clear(iostate state = 0) {
- _state = _strbuf ? state : state|badbit;
- if (_state & _exceptions) _throw_failure(); }
- void set(iostate flag) { _state |= flag;
- if (_state & _exceptions) _throw_failure(); }
- void setstate(iostate flag) { _state |= flag; // ANSI
- if (_state & _exceptions) _throw_failure(); }
- int good() const { return _state == 0; }
- int eof() const { return _state & ios::eofbit; }
- int fail() const { return _state & (ios::badbit|ios::failbit); }
- int bad() const { return _state & ios::badbit; }
- iostate rdstate() const { return _state; }
- operator void*() const { return fail() ? (void*)0 : (void*)(-1); }
- int operator!() const { return fail(); }
- iostate exceptions() const { return _exceptions; }
- void exceptions(iostate enable) {
- _exceptions = enable;
- if (_state & _exceptions) _throw_failure(); }
-
- streambuf* rdbuf() const { return _strbuf; }
- streambuf* rdbuf(streambuf *_s) {
- streambuf *_old = _strbuf; _strbuf = _s; clear (); return _old; }
-
- static int sync_with_stdio(int on);
- static void sync_with_stdio() { sync_with_stdio(1); }
- static fmtflags bitalloc();
- static int xalloc();
- void*& pword(int);
- void* pword(int) const;
- long& iword(int);
- long iword(int) const;
-
-#ifdef _STREAM_COMPAT
- void unset(state_value flag) { _state &= ~flag; }
- void close();
- int is_open();
- int readable();
- int writable();
-#endif
-
- // Used to initialize standard streams. Not needed in this implementation.
- class Init {
- public:
- Init () { }
- };
-
- protected:
- inline ios(streambuf* sb = 0, ostream* tie_to = 0);
- inline virtual ~ios();
- inline void init(streambuf* sb, ostream* tie = 0);
-};
-
-#if __GNUG__==1
-typedef int _seek_dir;
-#else
-typedef ios::seek_dir _seek_dir;
-#endif
-
-// Magic numbers and bits for the _flags field.
-// The magic numbers use the high-order bits of _flags;
-// the remaining bits are abailable for variable flags.
-// Note: The magic numbers must all be negative if stdio
-// emulation is desired.
-
-// A streammarker remembers a position in a buffer.
-// You are guaranteed to be able to seek back to it if it is saving().
-class streammarker : private _IO_marker {
- friend class streambuf;
- void set_offset(int offset) { _pos = offset; }
- public:
- streammarker(streambuf *sb);
- ~streammarker();
- int saving() { return 1; }
- int delta(streammarker&);
- int delta();
-};
-
-struct streambuf : public _IO_FILE { // protected??
- friend class ios;
- friend class istream;
- friend class ostream;
- friend class streammarker;
- const void *&_vtable() { return *(const void**)((_IO_FILE*)this + 1); }
- protected:
- static streambuf* _list_all; /* List of open streambufs. */
- _IO_FILE*& xchain() { return _chain; }
- void _un_link();
- void _link_in();
- char* gptr() const
- { return _IO_file_flags & _IO_IN_BACKUP ? _IO_save_base : _IO_read_ptr; }
- char* pptr() const { return _IO_write_ptr; }
- char* egptr() const
- { return _IO_file_flags & _IO_IN_BACKUP ? _IO_save_end : _IO_read_end; }
- char* epptr() const { return _IO_write_end; }
- char* pbase() const { return _IO_write_base; }
- char* eback() const
- { return _IO_file_flags & _IO_IN_BACKUP ? _IO_save_base : _IO_read_base;}
- char* base() const { return _IO_buf_base; }
- char* ebuf() const { return _IO_buf_end; }
- int blen() const { return _IO_buf_end - _IO_buf_base; }
- void xput_char(char c) { *_IO_write_ptr++ = c; }
- int xflags() { return _IO_file_flags; }
- int xflags(int f) {int fl = _IO_file_flags; _IO_file_flags = f; return fl;}
- void xsetflags(int f) { _IO_file_flags |= f; }
- void xsetflags(int f, int mask)
- { _IO_file_flags = (_IO_file_flags & ~mask) | (f & mask); }
- void gbump(int n)
- { _IO_file_flags & _IO_IN_BACKUP ? (_IO_save_base+=n):(_IO_read_ptr+=n);}
- void pbump(int n) { _IO_write_ptr += n; }
- void setb(char* b, char* eb, int a=0);
- void setp(char* p, char* ep)
- { _IO_write_base=_IO_write_ptr=p; _IO_write_end=ep; }
- void setg(char* eb, char* g, char *eg) {
- if (_IO_file_flags & _IO_IN_BACKUP) _IO_free_backup_area(this);
- _IO_read_base = eb; _IO_read_ptr = g; _IO_read_end = eg; }
- char *shortbuf() { return _shortbuf; }
-
- int in_backup() { return _flags & _IO_IN_BACKUP; }
- // The start of the main get area: FIXME: wrong for write-mode filebuf?
- char *Gbase() { return in_backup() ? _IO_save_base : _IO_read_base; }
- // The end of the main get area:
- char *eGptr() { return in_backup() ? _IO_save_end : _IO_read_end; }
- // The start of the backup area:
- char *Bbase() { return in_backup() ? _IO_read_base : _IO_save_base; }
- char *Bptr() { return _IO_backup_base; }
- // The end of the backup area:
- char *eBptr() { return in_backup() ? _IO_read_end : _IO_save_end; }
- char *Nbase() { return _IO_save_base; }
- char *eNptr() { return _IO_save_end; }
- int have_backup() { return _IO_save_base != NULL; }
- int have_markers() { return _markers != NULL; }
- void free_backup_area();
- void unsave_markers(); // Make all streammarkers !saving().
- int put_mode() { return _flags & _IO_CURRENTLY_PUTTING; }
- int switch_to_get_mode();
-
- streambuf(int flags=0);
- public:
- static int flush_all();
- static void flush_all_linebuffered(); // Flush all line buffered files.
- virtual ~streambuf();
- virtual int overflow(int c = EOF); // Leave public for now
- virtual int underflow(); // Leave public for now
- virtual int uflow(); // Leave public for now
- virtual int pbackfail(int c);
-// virtual int showmany ();
- virtual streamsize xsputn(const char* s, streamsize n);
- virtual streamsize xsgetn(char* s, streamsize n);
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streampos seekpos(streampos pos, int mode = ios::in|ios::out);
-
- streampos pubseekoff(streamoff o, _seek_dir d, int mode=ios::in|ios::out)
- { return _IO_seekoff (this, o, d, mode); }
- streampos pubseekpos(streampos pos, int mode = ios::in|ios::out)
- { return _IO_seekpos (this, pos, mode); }
- streampos sseekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- streampos sseekpos(streampos pos, int mode = ios::in|ios::out);
- virtual streambuf* setbuf(char* p, int len);
- virtual int sync();
- virtual int doallocate();
-
- int seekmark(streammarker& mark, int delta = 0);
- int sputbackc(char c);
- int sungetc();
- int unbuffered() { return _flags & _IO_UNBUFFERED ? 1 : 0; }
- int linebuffered() { return _flags & _IO_LINE_BUF ? 1 : 0; }
- void unbuffered(int i)
- { if (i) _flags |= _IO_UNBUFFERED; else _flags &= ~_IO_UNBUFFERED; }
- void linebuffered(int i)
- { if (i) _flags |= _IO_LINE_BUF; else _flags &= ~_IO_LINE_BUF; }
- int allocate() { // For AT&T compatibility
- if (base() || unbuffered()) return 0;
- else return doallocate(); }
- // Allocate a buffer if needed; use _shortbuf if appropriate.
- void allocbuf() { if (base() == NULL) doallocbuf(); }
- void doallocbuf();
- int in_avail() { return _IO_read_end - _IO_read_ptr; }
- int out_waiting() { return _IO_write_ptr - _IO_write_base; }
- streamsize sputn(const char* s, streamsize n) { return xsputn(s, n); }
- streamsize padn(char pad, streamsize n) { return _IO_padn(this, pad, n); }
- streamsize sgetn(char* s, streamsize n) { return _IO_sgetn(this, s, n); }
- int ignore(int);
- int get_column();
- int set_column(int);
- long sgetline(char* buf, _IO_size_t n, char delim, int putback_delim);
- int sputc(int c) { return _IO_putc(c, this); }
- int sbumpc() { return _IO_getc(this); }
- int sgetc() { return _IO_peekc(this); }
- int snextc() {
- if (_IO_read_ptr >= _IO_read_end && __underflow(this) == EOF)
- return EOF;
- else return _IO_read_ptr++, sgetc(); }
- void stossc() { if (_IO_read_ptr < _IO_read_end) _IO_read_ptr++; }
- int vscan(char const *fmt0, _IO_va_list ap, ios* stream = NULL);
- int scan(char const *fmt0 ...);
- int vform(char const *fmt0, _IO_va_list ap);
- int form(char const *fmt0 ...);
-#if 0 /* Work in progress */
- int column(); // Current column number (of put pointer). -1 is unknown.
- void column(int c); // Set column number of put pointer to c.
-#endif
- virtual streamsize sys_read(char* buf, streamsize size);
- virtual streamsize sys_write(const char*, streamsize);
- 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.
-// All standard streambufs in the GNU iostream library are backupbufs.
-
-class filebuf : public streambuf {
- protected:
- void init();
- public:
- static const int openprot; // Non-ANSI AT&T-ism: Default open protection.
- filebuf();
- filebuf(int fd);
- filebuf(int fd, char* p, int len);
-#if !_IO_UNIFIED_JUMPTABLES
- static filebuf *__new();
-#endif
- ~filebuf();
- filebuf* attach(int fd);
- filebuf* open(const char *filename, const char *mode);
- filebuf* open(const char *filename, ios::openmode mode, int prot = 0664);
- virtual int underflow();
- virtual int overflow(int c = EOF);
- int is_open() const { return _fileno >= 0; }
- int fd() const { return is_open() ? _fileno : EOF; }
- filebuf* close();
- virtual int doallocate();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
- virtual streambuf* setbuf(char* p, int len);
- streamsize xsputn(const char* s, streamsize n);
- streamsize xsgetn(char* s, streamsize n);
- virtual int sync();
- protected: // See documentation in filebuf.C.
-// virtual int pbackfail(int c);
- int is_reading() { return eback() != egptr(); }
- char* cur_ptr() { return is_reading() ? gptr() : pptr(); }
- /* System's idea of pointer */
- char* file_ptr() { return eGptr(); }
- // Low-level operations (Usually invoke system calls.)
- virtual streamsize sys_read(char* buf, streamsize size);
- virtual streampos sys_seek(streamoff, _seek_dir);
- virtual streamsize sys_write(const char*, streamsize);
- virtual int sys_stat(void*); // Actually, a (struct stat*)
- virtual int sys_close();
-#if 0
- virtual uflow;
- virtual showmany;
-#endif
-};
-
-inline void ios::init(streambuf* sb, ostream* tie_to) {
- _state = sb ? ios::goodbit : ios::badbit; _exceptions=0;
- _strbuf=sb; _tie = tie_to; _width=0; _fill=' ';
-#ifdef _IO_NEW_STREAMS
- _flags=ios::skipws|ios::dec;
-#else
- _flags=ios::skipws|ios::dec|ios::dont_close;
-#endif
- _precision=6; _arrays = 0; }
-
-inline ios::ios(streambuf* sb, ostream* tie_to) { init(sb, tie_to); }
-
-inline ios::~ios() {
-#ifndef _IO_NEW_STREAMS
- if (!(_flags & (unsigned int)ios::dont_close)) delete rdbuf();
-#endif
- // It is safe to use naked operator delete[] as we know elements have no
- // dtor, and g++ does not add a new[] cookie for such cases.
- operator delete[] (_arrays);
-}
-} // extern "C++"
-#endif /* _STREAMBUF_H */
diff --git a/contrib/libio/strfile.h b/contrib/libio/strfile.h
deleted file mode 100644
index 85e83a9..0000000
--- a/contrib/libio/strfile.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright (C) 1993, 1997, 1998 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include <libio.h>
-#ifdef TODO
-Merge into libio.h ?
-#endif
-
-#ifndef __PMT
-# ifdef __STDC__
-# define __PMT(p) p
-# else
-# define __PMT(p) ()
-# endif
-#endif /*!__P*/
-
-typedef void *(*_IO_alloc_type) __PMT ((_IO_size_t));
-typedef void (*_IO_free_type) __PMT ((void*));
-
-struct _IO_str_fields
-{
- _IO_alloc_type _allocate_buffer;
- _IO_free_type _free_buffer;
-};
-
-/* This is needed for the Irix6 N32 ABI, which has a 64 bit off_t type,
- but a 32 bit pointer type. In this case, we get 4 bytes of padding
- after the vtable pointer. Putting them in a structure together solves
- this problem. */
-
-struct _IO_streambuf
-{
- struct _IO_FILE _f;
- const void *_vtable;
-};
-
-typedef struct _IO_strfile_
-{
- struct _IO_streambuf _sbf;
- struct _IO_str_fields _s;
-} _IO_strfile;
-
-/* dynamic: set when the array object is allocated (or reallocated) as
- necessary to hold a character sequence that can change in length. */
-#define _IO_STR_DYNAMIC(FP) ((FP)->_s._allocate_buffer != (_IO_alloc_type)0)
-
-/* frozen: set when the program has requested that the array object not
- be altered, reallocated, or freed. */
-#define _IO_STR_FROZEN(FP) ((FP)->_f._IO_file_flags & _IO_USER_BUF)
diff --git a/contrib/libio/strops.c b/contrib/libio/strops.c
deleted file mode 100644
index 193e39d..0000000
--- a/contrib/libio/strops.c
+++ /dev/null
@@ -1,303 +0,0 @@
-/* Copyright (C) 1993, 1997, 1998 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#include "strfile.h"
-#include "libioP.h"
-#include <string.h>
-
-#if 0
-/* The following definitions are for exposition only.
- They map the terminology used in the ANSI/ISO C++ draft standard
- to the implementation. */
-
-/* allocated: set when a dynamic array object has been allocated, and
- hence should be freed by the destructor for the strstreambuf object. */
-#define ALLOCATED(FP) ((FP)->_f._IO_buf_base && DYNAMIC(FP))
-
-/* constant: set when the array object has const elements,
- so the output sequence cannot be written. */
-#define CONSTANT(FP) ((FP)->_f._IO_file_flags & _IO_NO_WRITES)
-
-/* alsize: the suggested minimum size for a dynamic array object. */
-#define ALSIZE(FP) ??? /* not stored */
-
-/* palloc: points to the function to call to allocate a dynamic array object.*/
-#define PALLOC(FP) \
- ((FP)->_s._allocate_buffer == default_alloc ? 0 : (FP)->_s._allocate_buffer)
-
-/* pfree: points to the function to call to free a dynamic array object. */
-#define PFREE(FP) \
- ((FP)->_s._free_buffer == default_free ? 0 : (FP)->_s._free_buffer)
-
-#endif
-
-#ifdef TODO
-/* An "unbounded buffer" is when a buffer is supplied, but with no
- specified length. An example is the buffer argument to sprintf.
- */
-#endif
-
-void
-_IO_str_init_static (fp, ptr, size, pstart)
- _IO_FILE *fp;
- char *ptr;
- int size;
- char *pstart;
-{
- if (size == 0)
- size = strlen (ptr);
- else if (size < 0)
- {
- /* If size is negative 'the characters are assumed to
- continue indefinitely.' This is kind of messy ... */
- int s;
- size = 512;
- /* Try increasing powers of 2, as long as we don't wrap around. */
- for (; s = 2*size, s > 0 && ptr + s > ptr && s < 0x4000000L; )
- size = s;
- /* Try increasing size as much as we can without wrapping around. */
- for (s = size >> 1; s > 0; s >>= 1)
- {
- if (ptr + size + s > ptr)
- size += s;
- }
- }
- _IO_setb (fp, ptr, ptr + size, 0);
-
- fp->_IO_write_base = ptr;
- fp->_IO_read_base = ptr;
- fp->_IO_read_ptr = ptr;
- if (pstart)
- {
- fp->_IO_write_ptr = pstart;
- fp->_IO_write_end = ptr + size;
- fp->_IO_read_end = pstart;
- }
- else
- {
- fp->_IO_write_ptr = ptr;
- fp->_IO_write_end = ptr;
- fp->_IO_read_end = ptr+size;
- }
- /* A null _allocate_buffer function flags the strfile as being static. */
- (((_IO_strfile *) fp)->_s._allocate_buffer) = (_IO_alloc_type)0;
-}
-
-void
-_IO_str_init_readonly (fp, ptr, size)
- _IO_FILE *fp;
- const char *ptr;
- int size;
-{
- _IO_str_init_static (fp, (char *) ptr, size, NULL);
- fp->_IO_file_flags |= _IO_NO_WRITES;
-}
-
-int
-_IO_str_overflow (fp, c)
- _IO_FILE *fp;
- int c;
-{
- int flush_only = c == EOF;
- _IO_size_t pos;
- if (fp->_flags & _IO_NO_WRITES)
- return flush_only ? 0 : EOF;
- if ((fp->_flags & _IO_TIED_PUT_GET) && !(fp->_flags & _IO_CURRENTLY_PUTTING))
- {
- fp->_flags |= _IO_CURRENTLY_PUTTING;
- fp->_IO_write_ptr = fp->_IO_read_ptr;
- fp->_IO_read_ptr = fp->_IO_read_end;
- }
- pos = fp->_IO_write_ptr - fp->_IO_write_base;
- if (pos >= (_IO_size_t) (_IO_blen (fp) + flush_only))
- {
- if (fp->_flags & _IO_USER_BUF) /* not allowed to enlarge */
- return EOF;
- else
- {
- char *new_buf;
- char *old_buf = fp->_IO_buf_base;
- _IO_size_t new_size = 2 * _IO_blen (fp) + 100;
- new_buf
- = (char *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (new_size);
- if (new_buf == NULL)
- {
- /* __ferror(fp) = 1; */
- return EOF;
- }
- if (fp->_IO_buf_base)
- {
- memcpy (new_buf, old_buf, _IO_blen (fp));
- (*((_IO_strfile *) fp)->_s._free_buffer) (fp->_IO_buf_base);
- /* Make sure _IO_setb won't try to delete _IO_buf_base. */
- fp->_IO_buf_base = NULL;
- }
-#if 0
- if (lenp == &LEN(fp)) /* use '\0'-filling */
- memset (new_buf + pos, 0, blen() - pos);
-#endif
- _IO_setb (fp, new_buf, new_buf + new_size, 1);
- fp->_IO_read_base = new_buf + (fp->_IO_read_base - old_buf);
- fp->_IO_read_ptr = new_buf + (fp->_IO_read_ptr - old_buf);
- fp->_IO_read_end = new_buf + (fp->_IO_read_end - old_buf);
- fp->_IO_write_ptr = new_buf + (fp->_IO_write_ptr - old_buf);
-
- fp->_IO_write_base = new_buf;
- fp->_IO_write_end = fp->_IO_buf_end;
- }
- }
-
- if (!flush_only)
- *fp->_IO_write_ptr++ = (unsigned char) c;
- if (fp->_IO_write_ptr > fp->_IO_read_end)
- fp->_IO_read_end = fp->_IO_write_ptr;
- return c;
-}
-
-int
-_IO_str_underflow (fp)
- _IO_FILE *fp;
-{
- if (fp->_IO_write_ptr > fp->_IO_read_end)
- fp->_IO_read_end = fp->_IO_write_ptr;
- if ((fp->_flags & _IO_TIED_PUT_GET) && (fp->_flags & _IO_CURRENTLY_PUTTING))
- {
- fp->_flags &= ~_IO_CURRENTLY_PUTTING;
- fp->_IO_read_ptr = fp->_IO_write_ptr;
- fp->_IO_write_ptr = fp->_IO_write_end;
- }
- if (fp->_IO_read_ptr < fp->_IO_read_end)
- return *((unsigned char *) fp->_IO_read_ptr);
- else
- return EOF;
-}
-
-/* The size of the valid part of the buffer. */
-
-_IO_ssize_t
-_IO_str_count (fp)
- _IO_FILE *fp;
-{
- return ((fp->_IO_write_ptr > fp->_IO_read_end
- ? fp->_IO_write_ptr : fp->_IO_read_end)
- - fp->_IO_read_base);
-}
-
-_IO_pos_t
-_IO_str_seekoff (fp, offset, dir, mode)
- _IO_FILE *fp;
- _IO_off_t offset;
- int dir;
- int mode;
-{
- _IO_ssize_t cur_size = _IO_str_count (fp);
- _IO_pos_t new_pos = EOF;
-
- /* Move the get pointer, if requested. */
- if (mode & _IOS_INPUT)
- {
- switch (dir)
- {
- case _IO_seek_end:
- offset += cur_size;
- break;
- case _IO_seek_cur:
- offset += fp->_IO_read_ptr - fp->_IO_read_base;
- break;
- default: /* case _IO_seek_set: */
- break;
- }
- if (offset < 0 || (_IO_ssize_t) offset > cur_size)
- return EOF;
- fp->_IO_read_ptr = fp->_IO_read_base + offset;
- fp->_IO_read_end = fp->_IO_read_base + cur_size;
- new_pos = offset;
- }
-
- /* Move the put pointer, if requested. */
- if (mode & _IOS_OUTPUT)
- {
- switch (dir)
- {
- case _IO_seek_end:
- offset += cur_size;
- break;
- case _IO_seek_cur:
- offset += fp->_IO_write_ptr - fp->_IO_write_base;
- break;
- default: /* case _IO_seek_set: */
- break;
- }
- if (offset < 0 || (_IO_ssize_t) offset > cur_size)
- return EOF;
- fp->_IO_write_ptr = fp->_IO_write_base + offset;
- new_pos = offset;
- }
- return new_pos;
-}
-
-int
-_IO_str_pbackfail (fp, c)
- _IO_FILE *fp;
- int c;
-{
- if ((fp->_flags & _IO_NO_WRITES) && c != EOF)
- return EOF;
- return _IO_default_pbackfail (fp, c);
-}
-
-void
-_IO_str_finish (fp, dummy)
- _IO_FILE *fp;
- int dummy;
-{
- if (fp->_IO_buf_base && !(fp->_flags & _IO_USER_BUF))
- (((_IO_strfile *) fp)->_s._free_buffer) (fp->_IO_buf_base);
- fp->_IO_buf_base = NULL;
-
- _IO_default_finish (fp, 0);
-}
-
-struct _IO_jump_t _IO_str_jumps =
-{
- JUMP_INIT_DUMMY,
- JUMP_INIT(finish, _IO_str_finish),
- JUMP_INIT(overflow, _IO_str_overflow),
- JUMP_INIT(underflow, _IO_str_underflow),
- JUMP_INIT(uflow, _IO_default_uflow),
- JUMP_INIT(pbackfail, _IO_str_pbackfail),
- JUMP_INIT(xsputn, _IO_default_xsputn),
- JUMP_INIT(xsgetn, _IO_default_xsgetn),
- JUMP_INIT(seekoff, _IO_str_seekoff),
- JUMP_INIT(seekpos, _IO_default_seekpos),
- JUMP_INIT(setbuf, _IO_default_setbuf),
- JUMP_INIT(sync, _IO_default_sync),
- JUMP_INIT(doallocate, _IO_default_doallocate),
- JUMP_INIT(read, _IO_default_read),
- JUMP_INIT(write, _IO_default_write),
- JUMP_INIT(seek, _IO_default_seek),
- JUMP_INIT(close, _IO_default_close),
- JUMP_INIT(stat, _IO_default_stat)
-};
diff --git a/contrib/libio/strstream.cc b/contrib/libio/strstream.cc
deleted file mode 100644
index a32e811..0000000
--- a/contrib/libio/strstream.cc
+++ /dev/null
@@ -1,116 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
-#include "iostreamP.h"
-#include "strstream.h"
-#include <string.h>
-
-static void* default_alloc(_IO_size_t size)
-{
- return (void*)new char[size];
-}
-
-static void default_free(void* ptr)
-{
- delete [] (char*)ptr;
-}
-
-istrstream::istrstream(const char *cp, int n)
-{
- __my_sb.init_readonly (cp, n);
-}
-
-strstreambase::strstreambase(char *cp, int n, int mode)
-: __my_sb (cp, n,
- (mode == ios::app || mode == ios::ate) ? cp + strlen(cp) : cp)
-{
- init (&__my_sb);
-}
-
-char *strstreambuf::str()
-{
- freeze(1);
- return base();
-}
-
-_IO_ssize_t strstreambuf::pcount () { return _IO_write_ptr - _IO_write_base; }
-
-int strstreambuf::overflow(int c /* = EOF */)
-{
- return _IO_str_overflow (this, c);
-}
-
-int strstreambuf::underflow()
-{
- return _IO_str_underflow(this);
-}
-
-
-void strstreambuf::init_dynamic(_IO_alloc_type alloc, _IO_free_type free,
- int initial_size)
-
-{
- _s._allocate_buffer = alloc ? alloc : default_alloc;
- _s._free_buffer = free ? free : default_free;
- if (initial_size > 0)
- {
- char * buf = (char*)(*_s._allocate_buffer)(initial_size);
- setb(buf, buf + initial_size, 1);
- setp(buf, buf + initial_size);
- setg(buf, buf, buf);
- }
-}
-
-void strstreambuf::init_static(char *ptr, int size, char *pstart)
-{
- _IO_str_init_static (this, ptr, size, pstart);
-}
-
-void strstreambuf::init_readonly (const char *ptr, int size)
-{
- _IO_str_init_readonly (this, ptr, size);
-}
-
-strstreambuf::~strstreambuf()
-{
- if (_IO_buf_base && !(_flags & _IO_USER_BUF))
- (_s._free_buffer)(_IO_buf_base);
- _IO_buf_base = NULL;
-}
-
-streampos strstreambuf::seekoff(streamoff off, _seek_dir dir,
- int mode /*=ios::in|ios::out*/)
-{
- return _IO_str_seekoff (this, off, dir, mode);
-}
-
-int strstreambuf::pbackfail(int c)
-{
- return _IO_str_pbackfail (this, c);
-}
diff --git a/contrib/libio/strstream.h b/contrib/libio/strstream.h
deleted file mode 100644
index 967e5b0..0000000
--- a/contrib/libio/strstream.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993, 1999 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-/* Written by Per Bothner (bothner@cygnus.com). */
-
-#ifndef __STRSTREAM_H
-#define __STRSTREAM_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-#include <iostream.h>
-#include <strfile.h>
-
-extern "C++" {
-class strstreambuf : public streambuf
-{
- struct _IO_str_fields _s;
- friend class istrstream;
-
- void init_dynamic(_IO_alloc_type alloc, _IO_free_type free,
- int initial_size = 0);
- void init_static(char *ptr, int size, char *pstart);
- void init_readonly(const char *ptr, int size);
- protected:
- virtual int overflow(int = EOF);
- virtual int underflow();
- virtual int pbackfail(int c);
- public:
- virtual ~strstreambuf();
- strstreambuf() { init_dynamic(0, 0); }
- strstreambuf(int initial_size) { init_dynamic(0, 0, initial_size); }
- strstreambuf(void *(*__alloc)(_IO_size_t), void (*__free)(void*))
- { init_dynamic(__alloc, __free); }
- strstreambuf(char *ptr, int size, char *pstart = NULL)
- { init_static(ptr, size, pstart); }
- strstreambuf(unsigned char *ptr, int size, unsigned char *pstart = NULL)
- { init_static((char*)ptr, size, (char*)pstart); }
- strstreambuf(const char *ptr, int size)
- { init_readonly(ptr, size); }
- strstreambuf(const unsigned char *ptr, int size)
- { init_readonly((const char*)ptr, size); }
- strstreambuf(signed char *ptr, int size, signed char *pstart = NULL)
- { init_static((char*)ptr, size, (char*)pstart); }
- strstreambuf(const signed char *ptr, int size)
- { init_readonly((const char*)ptr, size); }
- // Note: frozen() is always true if !_IO_STR_DYNAMIC(this).
- int frozen() { return _flags & _IO_USER_BUF ? 1 : 0; }
- void freeze(int n=1)
- { if (_IO_STR_DYNAMIC(this))
- { if (n) _flags |= _IO_USER_BUF; else _flags &= ~_IO_USER_BUF; } }
- _IO_ssize_t pcount();
- char *str();
- virtual streampos seekoff(streamoff, _seek_dir, int mode=ios::in|ios::out);
-};
-
-class strstreambase : virtual public ios {
- protected:
- strstreambuf __my_sb;
- public:
- strstreambuf* rdbuf() { return &__my_sb; }
- protected:
- strstreambase() { init (&__my_sb); }
- strstreambase(char *cp, int n, int mode=ios::out);
-};
-
-class istrstream : public strstreambase, public istream {
- public:
- istrstream(const char*, int=0);
-};
-
-class ostrstream : public strstreambase, public ostream {
- public:
- ostrstream() { }
- ostrstream(char *cp, int n, int mode=ios::out) :strstreambase(cp,n,mode){}
- _IO_ssize_t pcount() { return ((strstreambuf*)_strbuf)->pcount(); }
- char *str() { return ((strstreambuf*)_strbuf)->str(); }
- void freeze(int n = 1) { ((strstreambuf*)_strbuf)->freeze(n); }
- int frozen() { return ((strstreambuf*)_strbuf)->frozen(); }
-};
-
-class strstream : public strstreambase, public iostream {
- public:
- strstream() { }
- strstream(char *cp, int n, int mode=ios::out) :strstreambase(cp,n,mode){}
- _IO_ssize_t pcount() { return ((strstreambuf*)_strbuf)->pcount(); }
- char *str() { return ((strstreambuf*)_strbuf)->str(); }
- void freeze(int n = 1) { ((strstreambuf*)_strbuf)->freeze(n); }
- int frozen() { return ((strstreambuf*)_strbuf)->frozen(); }
-};
-} // extern "C++"
-
-#endif /*!__STRSTREAM_H*/
diff --git a/contrib/libio/tests/ChangeLog b/contrib/libio/tests/ChangeLog
deleted file mode 100644
index 548e9e0..0000000
--- a/contrib/libio/tests/ChangeLog
+++ /dev/null
@@ -1,166 +0,0 @@
-Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
-
- * gcc-2.95.3 Released.
-
-Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95.2 Released.
-
-Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95.1 Released.
-
-Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95 Released.
-
-Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95 Released.
-
-1997-10-31 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * tFile.cc (t4): Cast TMPFILE to char* in the call to unlink, to
- solve warning problems with vxworks headers that leave const off
- their declarations.
-
-Tue May 20 17:57:31 1997 Jeffrey A Law (law@cygnus.com)
-
- * tfformat.c (main): Only run half the testcases if SLOW_SIMULATOR
- is defined.
-
-Sun May 18 17:15:32 1997 Jeffrey A Law (law@cygnus.com)
-
- * tfformat.c (main): Exit immediately if doubles are not
- at least 64 bits wide.
-
-Fri May 16 19:31:29 1997 Bob Manson <manson@charmed.cygnus.com>
-
- Fix testscases to use _G_int32_t appropriately.
-
-Thu May 1 17:35:43 1997 Jason Merrill <jason@yorick.cygnus.com>
-
- * Makefile.in (tgetl, tFile, tiomisc, hounddog, putbackdog,
- tiomanip, foo, foo+): Add $(CXXFLAGS).
- (tfseek, twrseek, trdseek, tstdiomisc, tpopen): Add $(CFLAGS).
-
-Mon Apr 28 11:28:36 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * tiomisc.cc (operator delete): Add throw spec.
-
-Sat Apr 26 13:40:17 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * Makefile.in: Change check to check-old. Add do-nothing
- check target.
-
-Wed Apr 10 17:15:47 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * Makefile.in (IOLIBS): Link with libstdc++.
-
-Tue Mar 12 11:45:14 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * tiomisc.cc (test_read_write_flush): New test for read/write/seek
- on block end. From Luke Blanshard <luke@cs.wisc.edu>.
-
-Thu Jul 6 17:51:30 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * tiomisc.cc (getline_test3): New function. Test reading long lines.
- * tiomisc.exp: Update for output from getline_test3.
-
-Wed May 10 03:06:51 1995 Jason Merrill <jason@python.cygnus.com>
-
- * configure.in (X*INCLUDES): Renamed.
-
-Thu Apr 27 21:05:00 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * tiomisc.cc (test_destroy), tiomisc.exp: Add support for
- _IO_NEW_STREAMS.
-
-Tue Apr 25 15:15:01 1995 Jim Wilson <wilson@chestnut.cygnus.com>
-
- * tstdiomisc.c (t2): Use N not n in last SCAN macro call.
-
-Sun Feb 12 21:23:24 1995 Brendan Kehoe (brendan@lisa.cygnus.com)
-
- * Makefile.in (JUNK_TO_CLEAN): Also delete foo.dat from tiomisc.
-
-Sat Nov 5 14:37:36 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * tiomisc.cc (test_destroy): New test case from Jason Merrill.
- * tiomisc.exp: Update.
-
- * Makefile.in (JUNK_TO_CLEAN): Add tstdiomisc.
-
-Thu Oct 13 16:47:30 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tiomisc.cc (reread_test): Remove bogus istream assignment.
-
-Wed Aug 31 13:59:56 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (CXX_FLAGS): Not used. Removed.
-
-Wed Aug 17 18:27:37 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tiomisc.cc (getline_test1, getline_test2, flush1_test): New tests,
- * tiomisc.cc (reread_test): New tests,
-
-Wed Jun 22 13:44:19 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tstdiomisc.c: Add some sscanf tests.
- * Makefile.in (check-tstdiomisc): Run diff with expected output.
- * tstdiomisc.exp: New file. Expected output from tstdiomisc.
- * Makefile.in (foo): New rule, for quick one-off tests.
-
-Fri May 6 14:10:24 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tFile.cc (t7): Revert Mar 4 change - I was confused.
-
-Sat Apr 2 04:41:41 1994 Andreas Schwab (schwab@issan.informatik.uni-dortmund.de)
-
- * Makefile.in (tfformat): Fix dependency.
-
-Fri Mar 4 17:40:14 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tFile.cc (t7): gcount after getline shouldn't include delimiter.
- * tFile.cc (show_int, t12), tFile.exp: More integer formatting tests.
-
-Tue Feb 8 18:39:09 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tiomisc.cc, tiomisc.exp: New test case (for filebuf::attach)
- from Joe Buck.
-
-Mon Jan 31 13:24:58 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tfformat.c (main): Fix fprintf format string (%s -> %d).
- Bug reported by Jochen Voss <voss@mathematik.uni-kl.de>.
-
-Sun Dec 19 15:29:00 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tstdiomisc.c, Makefile.in: New tests.
-
-Thu Dec 2 22:56:21 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (JUNK_TO_CLEAN), configure.in (MOSTLYCLEAN):
- Added, to cleanup after tests.
-
-Fri Nov 26 16:05:43 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tiomisc.cc, tiomisc.exp: A (hopefully growing) collection
- of small, random tests (mainly regression tests).
- * tiomisc.cc (test1 and test2): Tests from Wilco van Hoogstraeten
- <wilco@erasmus.et.tudelft.nl> to check for (now-fixed) bugs.
-
-Mon Oct 4 17:38:27 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (IOSTDIOLIB): New macro.
-
-Fri Aug 27 12:22:10 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * tFile.cc (t7): Add test for buffer overflow.
-
-Fri Aug 20 00:23:53 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- Moved various tests over from old libg++/iostream/test.
- * Makefile.in: Edit appropriately.
-
-
diff --git a/contrib/libio/tests/Makefile.in b/contrib/libio/tests/Makefile.in
deleted file mode 100644
index b70639a..0000000
--- a/contrib/libio/tests/Makefile.in
+++ /dev/null
@@ -1,196 +0,0 @@
-# Copyright (C) 1993, 1998 Free Software Foundation
-#
-# This file is part of the GNU IO Library. This library is free
-# software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU CC; see the file COPYING. If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA. */
-
-srcdir = .
-
-CFLAGS = -g
-C_FLAGS = $(CFLAGS) -I. -I.. -I$(srcdir) -I$(srcdir)/..
-CXXFLAGS = -g
-CC = gcc
-CXX = gcc
-
-#### package, host, target, and site dependent Makefile fragments come in here.
-##
-
-STDIO_LD_FLAGS = -u __cleanup
-
-#LIBS = ../../libg++.a
-
-#LIBSTDIO = ../stdio/libstdio++.a
-#LIBIO = ../libio.a
-
-#STDIOLIBS = $(STDIO_LD_FLAGS) $(LIBSTDIO) $(LIBIO) $(LIBS)
-STDIOLIBS = $(LIBSTDIO) $(LIBIO) $(LIBS)
-IOLIBS = -L../../libstdc++ -lstdc++
-IOSTDIOLIB = ../libio.a ../../libiberty/libiberty.a
-
-DEPEND_SOURCES = $(srcdir)/*.C
-
-.PHONY: check check-old check-iostream check-stdio
-check: $(CHECK)
-
-
-# These are tests written in C++, that test the iostream facility.
-check-iostream: check-tFile check-tiomisc \
- check-hounddog check-putbackdog check-tiomanip
-
-# These are tests written in C, that don't need C++.
-# They test libio's emulation of stdio.
-check-iostdio: check-tiformat check-tfformat check-tstdiomisc
-
-# check-stdio runs test programs that use stdio.
-# These aren't run by default because there may be linker tricks needed
-# to build them (if libc.a contains a competing stdio implementation).
-
-check-stdio: check-tfseek check-twrseek check-trdseek check-tpopen
-
-# See ${MOSTLYCLEAN} in configure.in
-JUNK_TO_CLEAN = tFile tiomisc hounddog putbackdog tiomanip \
- t?format *.out streamfile ftmp* tstdiomisc foo.dat
-
-.PHONY: info
-info:
-.PHONY: clean-info
-clean-info:
-.PHONY: install-info
-install-info:
-
-tst: tst.o
- gcc -v -o tst tst.o $(STDIOLIBS)
-
-tgetl: tgetl.o
- $(CXX) $(CXXFLAGS) -o tgetl tgetl.o $(IOLIBS)
-
-tFile: tFile.o
- $(CXX) $(CXXFLAGS) -o tFile tFile.o $(IOLIBS)
-
-tiomisc: tiomisc.o
- $(CXX) $(CXXFLAGS) -o tiomisc tiomisc.o $(IOLIBS)
-
-hounddog: hounddog.o
- $(CXX) $(CXXFLAGS) -o hounddog hounddog.o $(IOLIBS)
-
-check-hounddog: hounddog
- ./hounddog <$(srcdir)/hounddog.inp > hounddog.out 2>&1
- diff -c hounddog.out $(srcdir)/hounddog.exp
- ./hounddog -b0 <$(srcdir)/hounddog.inp > hound-b0.out 2>&1
- diff -c hound-b0.out $(srcdir)/hounddog.exp
- ./hounddog -b2 <$(srcdir)/hounddog.inp > hound-b2.out 2>&1
- diff -c hound-b2.out $(srcdir)/hounddog.exp
-
-putbackdog: putbackdog.o
- $(CXX) $(CXXFLAGS) -o putbackdog putbackdog.o $(IOLIBS)
-
-check-putbackdog-regular: putbackdog
- ./putbackdog <$(srcdir)/hounddog.inp > putback.out 2>&1
- diff -c putback.out $(srcdir)/hounddog.exp
-check-putbackdog-nobuf: putbackdog
- ./putbackdog -b0 <$(srcdir)/hounddog.inp > putback-b0.out 2>&1
- diff -c putback-b0.out $(srcdir)/hounddog.exp
-check-putbackdog-buf2: putbackdog
- ./putbackdog -b2 <$(srcdir)/hounddog.inp > putback-b2.out 2>&1
- diff -c putback-b2.out $(srcdir)/hounddog.exp
-check-putbackdog: \
- check-putbackdog-regular check-putbackdog-nobuf check-putbackdog-buf2
-
-tfseek: tfseek.o
- $(CC) $(CFLAGS) -o tfseek tfseek.o $(STDIOLIBS)
-
-check-tfseek: tfseek
- ./tfseek SEEK_SET fopen > tfseek-set-fopen.out 2>&1
- diff -c tfseek-set-fopen.out $(srcdir)/tfseek-set.exp
- ./tfseek SEEK_SET freopen > tfseek-set-freopen.out 2>&1
- diff -c tfseek-set-freopen.out $(srcdir)/tfseek-set.exp
- ./tfseek SEEK_CUR fopen > tfseek-cur-fopen.out 2>&1
- diff -c tfseek-cur-fopen.out $(srcdir)/tfseek-cur.exp
- ./tfseek SEEK_CUR freopen > tfseek-cur-freopen.out 2>&1
- diff -c tfseek-cur-freopen.out $(srcdir)/tfseek-cur.exp
-
-twrseek: twrseek.o
- $(CC) $(CFLAGS) -o twrseek twrseek.o $(STDIOLIBS)
-
-check-twrseek: twrseek
- ./twrseek > twrseek.out 2>&1
- diff -c twrseek.out $(srcdir)/twrseek.exp
-
-trdseek: trdseek.o
- $(CC) $(CFLAGS) -o trdseek -v trdseek.o $(STDIOLIBS)
-
-check-trdseek: trdseek
- ./trdseek
-
-check-tFile-regular: tFile
- ./tFile < $(srcdir)/tFile.inp > tFile.out 2>&1
- diff -c tFile.out $(srcdir)/tFile.exp
-# Run tFile with cout.rdbuf() unbuffered.
-check-tFile-nobuf: tFile
- ./tFile -b0 < $(srcdir)/tFile.inp > tFile-buf0.out 2>&1
- diff -c tFile-buf0.out $(srcdir)/tFile.exp
-# Run tFile with a 3-byte buffer for cout.rdbuf().
-check-tFile-buf3: tFile
- ./tFile -b3 < $(srcdir)/tFile.inp > tFile-buf3.out 2>&1
- diff -c tFile-buf3.out $(srcdir)/tFile.exp
-check-tFile: check-tFile-regular check-tFile-nobuf check-tFile-buf3
-
-check-tiomisc: tiomisc
- ./tiomisc >tiomisc.out 2>&1
- diff -c tiomisc.out $(srcdir)/tiomisc.exp
-
-tiomanip: tiomanip.o
- $(CXX) $(CXXFLAGS) -o tiomanip tiomanip.o $(IOLIBS)
-check-tiomanip: tiomanip
- ./tiomanip >tiomanip.out 2>&1
- diff -c tiomanip.out $(srcdir)/tiomanip.exp
-
-tfformat: $(srcdir)/tfformat.c
- $(CC) $(C_FLAGS) -DTEST_LIBIO -DTEST_EXACTNESS \
- -o tfformat $(srcdir)/tfformat.c $(IOSTDIOLIB)
-
-check-tfformat: tfformat
- ./tfformat
-
-tiformat: $(srcdir)/tiformat.c
- $(CC) $(C_FLAGS) -DTEST_LIBIO -o tiformat $(srcdir)/tiformat.c $(IOSTDIOLIB)
-
-check-tiformat: tiformat
- ./tiformat
-
-tstdiomisc: tstdiomisc.o
- $(CC) $(CFLAGS) -o tstdiomisc tstdiomisc.o $(IOSTDIOLIB)
-
-check-tstdiomisc: tstdiomisc
- ./tstdiomisc >tstdiomisc.out 2>&1
- diff -c tstdiomisc.out $(srcdir)/tstdiomisc.exp
-
-tpopen: tpopen.o
- $(CC) $(CFLAGS) -o tpopen tpopen.o $(STDIOLIBS)
-
-check-tpopen: tpopen
- ./tpopen > tpopen.out 2>&1
- diff -c tpopen.out $(srcdir)/tpopen.exp
-
-trwseek: trwseek.o
- $(CC) $(CFLAGS) -o trwseek trwseek.o $(STDIOLIBS)
-
-check-trwseek: trwseek
- ./trwsseek TMP r+ k w o
-
-foo: foo.o
- $(CXX) $(CXXFLAGS) -o foo foo.o $(STDIOLIBS)
-foo+: foo+.o
- $(CXX) $(CXXFLAGS) -o foo+ foo+.o $(IOLIBS)
diff --git a/contrib/libio/tests/configure.in b/contrib/libio/tests/configure.in
deleted file mode 100644
index 46deefb..0000000
--- a/contrib/libio/tests/configure.in
+++ /dev/null
@@ -1,36 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary for a configure script to process the program in
-# this directory. For more information, look at ../../configure.
-
-configdirs=
-srctrigger=tFile.cc
-srcname="test C++ input/output library"
-package_makefile_frag=Make.pack
-package_makefile_rules_frag=Make.pack.r
-
-# per-host:
-
-# per-target:
-
-TO_TOPDIR=../../
-ALL=' '
-XCINCLUDES='-I. -I.. -I$(srcdir) -I$(srcdir)/..'
-XCXXINCLUDES='-I. -I.. -I$(srcdir) -I$(srcdir)/..'
-MOSTLYCLEAN='*.o core $(JUNK_TO_CLEAN)'
-(. ${srcdir}/../config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag}
-
-if [ "${srcdir}" = "." ] ; then
- if [ "${with_target_subdir}" != "." ] ; then
- topsrcdir=${with_multisrctop}../../..
- else
- topsrcdir=${with_multisrctop}../..
- fi
-else
- topsrcdir=${srcdir}/../..
-fi
-
-if [ ! -d ${topsrcdir}/gcc ] ; then
- echo "CHECK = check-iostream check-iostdio" >>${package_makefile_frag}
-fi
-
-# post-target:
diff --git a/contrib/libio/tests/hounddog.cc b/contrib/libio/tests/hounddog.cc
deleted file mode 100644
index 29a9238..0000000
--- a/contrib/libio/tests/hounddog.cc
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-#include <iostream.h>
-#include <stdlib.h>
-#include <string.h>
-
-// Read either "dog", "hound", or "hounddog".
-// If "dog" is found, return 1.
-// If "hound" is found, return 2.
-// If "hounddog" is found, return 3.
-// If non of these are found, return -1.
-int my_scan(streambuf* sb)
-{
- streammarker fence(sb);
- char buffer[20];
- // Try reading "hounddog":
- if (sb->sgetn(buffer, 8) == 8 && strncmp(buffer, "hounddog", 8) == 0)
- return 3;
- // No, no "hounddog": Backup to 'fence' ...
- sb->seekmark(fence);
- // ... and try reading "dog":
- if (sb->sgetn(buffer, 3) == 3 && strncmp(buffer, "dog", 3) == 0)
- return 1;
- // No, no "dog" either: Backup to 'fence' ...
- sb->seekmark(fence);
- // ... and try reading "hound":
- if (sb->sgetn(buffer, 5) == 5 && strncmp(buffer, "hound", 5) == 0)
- return 2;
- // No, no "hound" either: Backup to 'fence' and signal failure.
- sb->seekmark(fence); // Backup to 'fence'..
- return -1;
-}
-
-int main(int argc, char **argv)
-{
- streambuf *sb = cin.rdbuf();
- if (argc > 1 && strncmp(argv[1], "-b", 2) == 0) {
- streambuf *ret;
- int buffer_size = atoi(&argv[1][2]);
- if (buffer_size == 0)
- ret = sb->setbuf(NULL, 0);
- else
- ret = sb->setbuf(new char[buffer_size], buffer_size);
- if (ret != sb)
- cerr << "Warning: cin.rdbuf()->setbuf failed!\n";
- }
- for (;;) {
- int code = my_scan(sb);
- int ch = sb->sbumpc();
- if (code == -1 && ch == EOF)
- break;
- int n = 0;
- while (ch != EOF && ch != '\n') {
- n++;
- ch = sb->sbumpc();
- };
- if (ch == EOF) {
- cout << "[Unexpected EOF]\n";
- break;
- }
- cout << "Code: " << code << " followed by " << n << " chars\n";
- }
-}
diff --git a/contrib/libio/tests/hounddog.exp b/contrib/libio/tests/hounddog.exp
deleted file mode 100644
index 2060807..0000000
--- a/contrib/libio/tests/hounddog.exp
+++ /dev/null
@@ -1,7 +0,0 @@
-Code: -1 followed by 6 chars
-Code: 1 followed by 3 chars
-Code: 2 followed by 0 chars
-Code: -1 followed by 3 chars
-Code: 3 followed by 4 chars
-Code: 1 followed by 0 chars
-Code: -1 followed by 3 chars
diff --git a/contrib/libio/tests/hounddog.inp b/contrib/libio/tests/hounddog.inp
deleted file mode 100644
index 370371b..0000000
--- a/contrib/libio/tests/hounddog.inp
+++ /dev/null
@@ -1,7 +0,0 @@
-hello!
-doggie
-hound
-cat
-hounddog rat
-dog
-foo
diff --git a/contrib/libio/tests/putbackdog.cc b/contrib/libio/tests/putbackdog.cc
deleted file mode 100644
index 0e1ed61..0000000
--- a/contrib/libio/tests/putbackdog.cc
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-// Test streambuf::sputbackc
-
-#include <iostream.h>
-#include <stdlib.h>
-#include <string.h>
-
-// Read either "dog", "hound", or "hounddog".
-// If "dog" is found, return 1.
-// If "hound" is found, return 2.
-// If "hounddog" is found, return 3.
-// If non of these are found, return -1.
-
-void unget_string(streambuf *sb, char *str, int count)
-{
- for (str += count; -- count >= 0; )
- sb->sputbackc(*--str);
-}
-
-int my_scan(streambuf* sb)
-{
- char buffer[20];
- // Try reading "hounddog":
- int count;
- count = sb->sgetn(buffer, 8);
- if (count == 8 && strncmp(buffer, "hounddog", 8) == 0)
- return 3;
- // No, no "hounddog": Backup to 'fence' ...
- unget_string(sb, buffer, count);
- // ... and try reading "dog":
- count = sb->sgetn(buffer, 3);
- if (count == 3 && strncmp(buffer, "dog", 3) == 0)
- return 1;
- // No, no "dog" either: Backup to 'fence' ...
- unget_string(sb, buffer, count);
- // ... and try reading "hound":
- count = sb->sgetn(buffer, 5);
- if (count == 5 && strncmp(buffer, "hound", 5) == 0)
- return 2;
- // No, no "hound" either: Backup to 'fence' and signal failure.
- unget_string(sb, buffer, count);
- return -1;
-}
-
-int main(int argc, char **argv)
-{
- streambuf *sb = cin.rdbuf();
- if (argc > 1 && strncmp(argv[1], "-b", 2) == 0) {
- streambuf *ret;
- int buffer_size = atoi(&argv[1][2]);
- if (buffer_size == 0)
- ret = sb->setbuf(NULL, 0);
- else
- ret = sb->setbuf(new char[buffer_size], buffer_size);
- if (ret != sb)
- cerr << "Warning: cin.rdbuf()->setbuf failed!\n";
- }
- for (;;) {
- int code = my_scan(sb);
- int ch = sb->sbumpc();
- if (code == -1 && ch == EOF)
- break;
- int n = 0;
- while (ch != EOF && ch != '\n') {
- n++;
- ch = sb->sbumpc();
- };
- if (ch == EOF) {
- cout << "[Unexpected EOF]\n";
- break;
- }
- cout << "Code: " << code << " followed by " << n << " chars\n";
- }
-}
diff --git a/contrib/libio/tests/tFile.cc b/contrib/libio/tests/tFile.cc
deleted file mode 100644
index 42090ff..0000000
--- a/contrib/libio/tests/tFile.cc
+++ /dev/null
@@ -1,558 +0,0 @@
-/*
-Copyright (C) 1993 Free Software Foundation
-
-This file is part of the GNU IO Library. This library is free
-software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this library; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if you link this library with files
-compiled with a GNU compiler to produce an executable, this does not cause
-the resulting executable to be covered by the GNU General Public License.
-This exception does not however invalidate any other reasons why
-the executable file might be covered by the GNU General Public License. */
-
-// This may look like C code, but it is really -*- C++ -*-
-
-/*
- * a few tests for streams
- *
- */
-
-#include <stream.h>
-#include <fstream.h>
-#ifndef _OLD_STREAMS
-#include <strstream.h>
-#include "unistd.h"
-#endif
-#include <SFile.h>
-#include <PlotFile.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-const char *tempfile;
-
-class record
-{
-public:
- char c; int i; double d;
-};
-
-ostream& operator<<(ostream& s, record& r)
-{
- return(s << "(i = " << r.i << " c = " << r.c << " d = " << r.d << ")");
-}
-
-void t1()
-{
- char ch;
-
- assert(cout.good());
- assert(cout.writable());
- assert(cout.is_open());
- cout << "Hello, world via cout\n";
- assert(cerr.good());
- assert(cerr.writable());
- assert(cerr.is_open());
- cerr << "Hello, world via cerr\n";
-
- assert(cin.good());
- assert(cin.readable());
- assert(cin.is_open());
-
- cout << "enter a char:"; cin >> ch;
- cout.put('c'); cout.put(' '); cout.put('='); cout.put(' ');
- cout.put('"'); cout.put(ch); cout << '"'; cout << char('\n');
- assert(cin.good());
- assert(cout.good());
-}
-
-void t2()
-{
- int i;
- short h;
- long l;
- float f;
- double d;
- char s[100];
-
- cout << "enter three integers (short, int, long):";
- cin >> h; cin >> i;
- // cin.scan("%ld", &l);
- cin >> l;
- cout << "first = " << h << " via dec = " << dec(h, 8) << "\n";
- cout << "second = " << i << form(" via form = %d = 0%o", i, i);
- cout.form(" via cout.form = %d = 0x%x\n", i, i);
- cout << "third = " << l << " via hex = " << hex(l) << "\n";
- assert(cin.good());
- assert(cout.good());
-
- cout << "enter a float then a double:"; cin >> f; cin >> d;
- cout << "first = " << f << "\n";
- cout << "second = " << d << "\n";
- assert(cin.good());
- assert(cout.good());
-
- cout << "enter 5 characters separated with spaces:"; cin >> s;
- cout << "first = " << s << "\n";
- cin.get(s, 100);
- cout << "rest = " << s << "\n";
-
- assert(cin.good());
-
- cin.width(10);
- cin >> s;
- cin.clear();
- cout << "A 10-character buffer: " << s << endl;
-
- assert(cout.good());
-
-}
-
-void t3()
-{
- char ch;
- cout << "\nMaking streams sout and sin...";
-#ifdef _OLD_STREAMS
- ostream sout("streamfile", io_writeonly, a_create);
-#else
- ofstream sout("streamfile");
-#endif
- assert(sout.good());
- assert(sout.is_open());
- assert(sout.writable());
- assert(!sout.readable());
- sout << "This file has one line testing output streams.\n";
- sout.close();
- assert(!sout.is_open());
-#ifdef _OLD_STREAMS
- istream sin("streamfile", io_readonly, a_useonly);
-#else
- ifstream sin("streamfile");
-#endif
- assert(sin.good());
- assert(sin.is_open());
- assert(!sin.writable());
- assert(sin.readable());
- cout << "contents of file:\n";
- while(sin >> ch) cout << ch;
- sin.close();
- assert(!sin.is_open());
-}
-
-
-void t4()
-{
- char s[100];
- char ch;
- int i;
-
- cout << "\nMaking File tf ... ";
-#ifdef _OLD_STREAMS
- File tf(tempfile, io_readwrite, a_create);
-#else
- fstream tf(tempfile, ios::in|ios::out|ios::trunc);
-#endif
- assert(tf.good());
- assert(tf.is_open());
- assert(tf.writable());
- assert(tf.readable());
- strcpy(s, "This is the first and only line of this file.\n");
-#ifdef _OLD_STREAMS
- tf.put(s);
- tf.seek(0);
-#else
- tf << s;
- tf.rdbuf()->seekoff(0, ios::beg);
-#endif
- tf.get(s, 100);
- assert(tf.good());
- cout << "first line of file:\n" << s << "\n";
- cout << "next char = ";
- tf.get(ch);
- cout << (int)ch;
- cout.put('\n');
- assert(ch == 10);
- strcpy(s, "Now there is a second line.\n");
- cout << "reopening tempfile, appending: " << s;
-#ifdef _OLD_STREAMS
- tf.open(tf.name(), io_appendonly, a_use);
-#else
- tf.close();
- tf.open(tempfile, ios::app);
-#endif
- assert(tf.good());
- assert(tf.is_open());
- assert(tf.writable());
- assert(!tf.readable());
-#ifdef _OLD_STREAMS
- tf.put(s);
- assert(tf.good());
- tf.open(tf.name(), io_readonly, a_use);
-#else
- tf << s;
- assert(tf.good());
- tf.close();
- tf.open(tempfile, ios::in);
-#endif
- tf.raw();
- assert(tf.good());
- assert(tf.is_open());
- assert(!tf.writable());
- assert(tf.readable());
- cout << "First 10 chars via raw system read after reopen for input:\n";
- read(tf.filedesc(), s, 10);
- assert(tf.good());
- for (i = 0; i < 10; ++ i)
- cout.put(s[i]);
- lseek(tf.filedesc(), 5, 0);
- cout << "\nContents after raw lseek to pos 5:\n";
- while ( (tf.get(ch)) && (cout.put(ch)) );
-#ifdef _OLD_STREAMS
- tf.remove();
-#else
- tf.close();
- unlink((char*)tempfile);
-#endif
- assert(!tf.is_open());
-}
-
-void t5()
-{
- record r;
- int i;
- cout << "\nMaking SFile rf...";
-#ifdef _OLD_STREAMS
- SFile rf("recfile", sizeof(record), io_readwrite, a_create);
-#else
- SFile rf("recfile", sizeof(record), ios::in|ios::out|ios::trunc);
-#endif
- assert(rf.good());
- assert(rf.is_open());
- assert(rf.writable());
- assert(rf.readable());
- for (i = 0; i < 10; ++i)
- {
- r.c = i + 'a';
- r.i = i;
- r.d = (double)(i) / 1000.0;
- rf.put(&r);
- }
- assert(rf.good());
- cout << "odd elements of file in reverse order:\n";
- for (i = 9; i >= 0; i -= 2)
- {
- rf[i].get(&r);
- assert(r.c == i + 'a');
- assert(r.i == i);
- cout << r << "\n";
- }
- assert(rf.good());
-#ifdef _OLD_STREAMS
- rf.remove();
-#else
- rf.close();
- unlink("recfile");
-#endif
- assert(!rf.is_open());
-}
-
-void t6()
-{
- cout << "\nMaking PlotFile pf ...";
- static const char plot_name[] = "plot.out";
- PlotFile pf(plot_name);
- assert(pf.good());
- assert(pf.is_open());
- assert(pf.writable());
- assert(!pf.readable());
- pf.move(10,10);
- pf.label("Test");
- pf.circle(300,300,200);
- pf.line(100, 100, 500, 500);
- assert(pf.good());
-#ifdef _OLD_STREAMS
- cout << "(You may delete or attempt to plot " << pf.name() << ")\n";
-#else
- cout << "(You may delete or attempt to plot " << plot_name << ")\n";
-#endif
-}
-
-void t7()
-{
- char ch;
- static char t7_line1[] = "This is a string-based stream.\n";
- static char t7_line2[] = "With two lines.\n";
- char mybuf[60];
- char *bufp;
-#ifdef _OLD_STREAMS
- cout << "creating string-based ostream...\n";
- ostream strout(60, mybuf);
-#else
- cout << "creating ostrstream...\n";
- ostrstream strout(mybuf, 60);
-#endif
- assert(strout.good());
- assert(strout.writable());
- strout << t7_line1 << t7_line2 << ends;
- assert(strout.good());
- cout << "with contents:\n";
- bufp = strout.str();
- assert(bufp == mybuf);
- strout.rdbuf()->freeze(0); /* Should be a no-op */
- cout << mybuf;
-#ifdef _OLD_STREAMS
- cout << "using it to create string-based istream...\n";
- istream strin(strlen(mybuf), mybuf);
-#else
- cout << "using it to create istrstream...\n";
- istrstream strin(mybuf, strlen(mybuf));
-#endif
- assert(strin.good());
- assert(strin.readable());
- cout << "with contents:\n";
-#ifndef _OLD_STREAMS
- char line[100];
- strin.getline(line, 100);
- int line1_len = strlen(t7_line1);
- assert(strin.tellg() == line1_len);
- int line_len = strin.gcount();
- assert(line_len == line1_len);
- cout.write(line, line1_len - 1);
- cout << endl;
-#endif
- while (strin.get(ch)) cout.put(ch);
-
- strstream str1;
- strstream str2;
- str1 << "Testing string-based stream using strstream.\n";
- str1.seekg(0);
- for (;;) {
- int i = str1.get();
- if (i == EOF)
- break;
- str2 << (char)i;
- }
- str2 << ends;
- cout << str2.str();
-
- // This should make it overflow.
- strout << t7_line1;
- assert (strout.bad());
-}
-
-void t8()
-{
-#ifdef _OLD_STREAMS
- cout << "\nThe following file open should generate error message:";
- cout.flush();
- File ef("shouldnotexist", io_readonly, a_useonly);
-#else
- ifstream ef("shouldnotexist");
-#endif
- assert(!ef.good());
- assert(!ef.is_open());
-}
-
-void t9()
-{
- char ch;
- static char ffile_name[] = "ftmp";
- {
- cout << "\nMaking filebuf streams fout and fin...";
- filebuf foutbuf;
-#ifdef _OLD_STREAMS
- foutbuf.open(ffile_name, output);
-#else
- foutbuf.open(ffile_name, ios::out);
-#endif
- ostream fout(&foutbuf);
- assert(fout.good());
- assert(fout.is_open());
- assert(fout.writable());
- assert(!fout.readable());
- fout << "This file has one line testing output streams.\n";
-#ifdef _OLD_STREAMS
- fout.close();
- assert(!fout.is_open());
-#endif
- }
- filebuf finbuf;
-#ifdef _OLD_STREAMS
- finbuf.open(ffile_name, input);
-#else
- finbuf.open(ffile_name, ios::in);
-#endif
- istream fin(&finbuf);
- assert(fin.good());
- assert(fin.is_open());
- assert(!fin.writable());
- assert(fin.readable());
- cout << "contents of file:\n";
- while(fin >> ch) cout << ch;
-#ifndef _OLD_STREAMS
- cout << '\n';
-#endif
- fin.close();
- assert(!fin.is_open());
-}
-
-void t10()
-{
- int fileCnt = 3;
- char *file_name_pattern = "ftmp%d";
- char current_file_name[50];
- ifstream inFile;
- ofstream outFile;
- char c;
- int i;
-
- cout << '\n';
-
- // Write some files.
- for (i=0; i < fileCnt; i++) {
- sprintf(current_file_name, file_name_pattern, i);
- outFile.open(current_file_name, ios::out);
-
- if ( outFile.fail() )
- cerr << "File " << current_file_name
- << " can't be opened for output" << endl;
- else {
- outFile << "This is line 1 of " << current_file_name << '\n';
- outFile << "This is line 2 of " << current_file_name << endl;
- outFile.close();
- }
- }
-
- // Now read the files back in, and write then out to cout.
- for (i=0; i < fileCnt; i++) {
- sprintf(current_file_name, file_name_pattern, i);
- inFile.open(current_file_name, ios::in);
-
-
- if ( inFile.fail() )
- cerr << "File " << current_file_name
- << " can't be opened for input" << endl;
- else {
- while ( inFile.get (c))
- cout << c;
- cout << endl;
- inFile.close();
- }
- }
-}
-
-// Test form
-
-void t11()
-{
- int count1, count2;
- cout.form("%.2f+%.2f = %4.3e\n%n", 5.5, 6.25, 5.5+6.25, &count1);
- char *text = "Previous line has12345";
- char text_length_to_use = strlen(text) - 5;
- count2 = cout.rdbuf()->form("%-*.*s%3g characters\n",
- text_length_to_use + 1,
- text_length_to_use,
- text,
- (double)(count1-1));
- cout.form("%-*.*s%+d characters\n%n",
- text_length_to_use + 1, text_length_to_use, text,
- count2-1, &count1);
- assert(count1 == 33);
-}
-
-static void
-show_int (long val)
-{
- cout.setf(ios::showbase);
- cout << dec; cout.width (8); cout << val << "(dec) = ";
- cout << hex; cout.width (8); cout << (0xFFFF & val) << "(hex) = ";
- cout << oct; cout.width (8);
- cout << (0xFFFF & val) << "(oct) [showbase on]\n";
- cout.unsetf(ios::showbase);
- cout << dec; cout.width (8); cout << val << "(dec) = ";
- cout << hex; cout.width (8); cout << (0xFFFF & val) << "(hex) = ";
- cout << oct; cout.width (8);
- cout << (0xFFFF & val) << "(oct) [showbase off]\n";
-}
-
-void
-t12 ()
-{
- ios::fmtflags old_flags = cout.setf(ios::showpos);
- int fill = cout.fill('_');
- cout.unsetf(ios::uppercase);
- cout.setf(ios::internal, ios::adjustfield);
- show_int(34567);
- show_int(-34567);
- cout.setf(ios::right, ios::adjustfield);
- show_int(0);
- cout.setf(ios::uppercase);
- cout.unsetf(ios::showpos);
- show_int(34567);
- cout.setf(ios::left, ios::adjustfield);
- show_int(-34567);
- cout.fill(fill);
- show_int(0);
- cout.setf(old_flags,
- ios::adjustfield|ios::basefield
- |ios::showbase|ios::showpos|ios::uppercase);
-}
-
-main(int argc, char **argv)
-{
- char temp [1024] = "tempfile";
-
- if (argc > 1 && strncmp(argv[1], "-b", 2) == 0) {
- streambuf *sb = cout.rdbuf();
- streambuf *ret;
- int buffer_size = atoi(&argv[1][2]);
- if (buffer_size == 0)
- ret = sb->setbuf(NULL, 0);
- else
- ret = sb->setbuf(new char[buffer_size], buffer_size);
- if (ret != sb)
- cerr << "Warning: cout.rdbuf()->setbuf failed!\n";
-
- strncpy (&temp [8], &argv[1][2], 1000);
- temp [1008] = '\0';
- }
- tempfile = temp;
- t1();
- t2();
- t3();
- t4();
- t5();
- t6();
- t7();
- t9();
- t8();
- t10();
- t11();
- t12();
-
- cout << "Final names & states:\n";
-#ifdef _OLD_STREAMS
- cout << "cin: " << cin.name() << "\t" << cin.rdstate() << "\n";
- cout << "cout: " << cout.name() << "\t" << cout.rdstate() << "\n";
- cout << "cerr: " << cerr.name() << "\t" << cerr.rdstate() << "\n";
-#else
- cout << "cin: " << "(stdin)" << "\t" << cin.rdstate() << "\n";
- cout << "cout: " << "(stdout)" << "\t" << cout.rdstate() << "\n";
- cout << "cerr: " << "(stderr)" << "\t" << cerr.rdstate() << "\n";
-#endif
- cout << "\nend of test.\n";
-}
diff --git a/contrib/libio/tests/tFile.exp b/contrib/libio/tests/tFile.exp
deleted file mode 100644
index 154cd24..0000000
--- a/contrib/libio/tests/tFile.exp
+++ /dev/null
@@ -1,75 +0,0 @@
-Hello, world via cout
-Hello, world via cerr
-enter a char:c = "a"
-enter three integers (short, int, long):first = 123 via dec = 123
-second = 4567 via form = 4567 = 010727 via cout.form = 4567 = 0x11d7
-third = 89012 via hex = 15bb4
-enter a float then a double:first = 123.456
-second = -0.012
-enter 5 characters separated with spaces:first = 1
-rest = 2 3 4 5
-A 10-character buffer: abcdefghi
-
-Making streams sout and sin...contents of file:
-Thisfilehasonelinetestingoutputstreams.
-Making File tf ... first line of file:
-This is the first and only line of this file.
-next char = 10
-reopening tempfile, appending: Now there is a second line.
-First 10 chars via raw system read after reopen for input:
-This is th
-Contents after raw lseek to pos 5:
-is the first and only line of this file.
-Now there is a second line.
-
-Making SFile rf...odd elements of file in reverse order:
-(i = 9 c = j d = 0.009)
-(i = 7 c = h d = 0.007)
-(i = 5 c = f d = 0.005)
-(i = 3 c = d d = 0.003)
-(i = 1 c = b d = 0.001)
-
-Making PlotFile pf ...(You may delete or attempt to plot plot.out)
-creating ostrstream...
-with contents:
-This is a string-based stream.
-With two lines.
-using it to create istrstream...
-with contents:
-This is a string-based stream.
-With two lines.
-Testing string-based stream using strstream.
-
-Making filebuf streams fout and fin...contents of file:
-Thisfilehasonelinetestingoutputstreams.
-
-This is line 1 of ftmp0
-This is line 2 of ftmp0
-
-This is line 1 of ftmp1
-This is line 2 of ftmp1
-
-This is line 1 of ftmp2
-This is line 2 of ftmp2
-
-5.50+6.25 = 1.175e+01
-Previous line has 21 characters
-Previous line has +32 characters
-+__34567(dec) = 0x__8707(hex) = _0103407(oct) [showbase on]
-+__34567(dec) = ____8707(hex) = __103407(oct) [showbase off]
--__34567(dec) = 0x__78f9(hex) = __074371(oct) [showbase on]
--__34567(dec) = ____78f9(hex) = ___74371(oct) [showbase off]
-______+0(dec) = _____0x0(hex) = _______0(oct) [showbase on]
-______+0(dec) = _______0(hex) = _______0(oct) [showbase off]
-___34567(dec) = __0X8707(hex) = _0103407(oct) [showbase on]
-___34567(dec) = ____8707(hex) = __103407(oct) [showbase off]
--34567__(dec) = 0X78F9__(hex) = 074371__(oct) [showbase on]
--34567__(dec) = 78F9____(hex) = 74371___(oct) [showbase off]
-0 (dec) = 0X0 (hex) = 0 (oct) [showbase on]
-0 (dec) = 0 (hex) = 0 (oct) [showbase off]
-Final names & states:
-cin: (stdin) 0
-cout: (stdout) 0
-cerr: (stderr) 0
-
-end of test.
diff --git a/contrib/libio/tests/tFile.inp b/contrib/libio/tests/tFile.inp
deleted file mode 100644
index 5b821ef..0000000
--- a/contrib/libio/tests/tFile.inp
+++ /dev/null
@@ -1,5 +0,0 @@
-a
-123 4567 89012
-123.456 -1.2e-2
-1 2 3 4 5
-abcdefghijklmnop
diff --git a/contrib/libio/tests/tfformat.c b/contrib/libio/tests/tfformat.c
deleted file mode 100644
index 29bac8b..0000000
--- a/contrib/libio/tests/tfformat.c
+++ /dev/null
@@ -1,4181 +0,0 @@
-#ifdef TEST_LIBIO
-#include <iostdio.h>
-#else
-#ifdef __cplusplus
-#include <strstream.h>
-#else
-#include <stdio.h>
-#endif
-#endif /* !TEST_LIBIO */
-
-/* Tests taken from Cygnus C library. */
-
-typedef struct
-{
- int line;
- double value;
- char *result;
- char *format_string;
-} sprint_double_type;
-
-sprint_double_type sprint_doubles[] =
-{
-__LINE__, 30.3, "< +30.3>", "<%+15.10g>",
-__LINE__, 10.0, "<10.00>", "<%5.2f>",
-
-__LINE__, 1.002121970718271e+05, "100212.19707 ", "%0-15.5f",
-__LINE__, -1.002121970718271e+05, "-100212.19707 ", "%0-15.5f",
-__LINE__, 1.002121970718271e+05, "000100212.19707", "%015.5f",
-__LINE__, -1.002121970718271e+05, "-00100212.19707", "%015.5f",
-__LINE__, 1.002121970718271e+05, "+00100212.19707", "%+015.5f",
-__LINE__, -1.002121970718271e+05, "-00100212.19707", "%+015.5f",
-__LINE__, 1.002121970718271e+05, " 00100212.19707", "% 015.5f",
-__LINE__, -1.002121970718271e+05, "-00100212.19707", "% 015.5f",
-__LINE__, 1.002121970718271e+05, "+100212.19707 ", "%+-15.5f",
-__LINE__, -1.002121970718271e+05, "-100212.19707 ", "%+-15.5f",
-
-__LINE__, -1.002121970718271e+29, "-1.0E+29", "%.1E",
-__LINE__, -1.002126048612756e-02, "-1.002126E-02", "%+#E",
-__LINE__, -1.002653755271637e+00, "-1.00265", "%G",
-__LINE__, -1.003238744365917e-23, "-0.00", "%4.2f",
-__LINE__, -1.005084840877781e-29, " -0", "%4.f",
-__LINE__, -1.005362549674427e+01, "-10.0536", "%#g",
-__LINE__, -1.005915042991691e-17, "-1.00592E-17", "%G",
-__LINE__, -1.007829874228503e-18, "-1.00783e-18", "%.7g",
-__LINE__, -1.007829874228503e-18, "-1.007830e-18", "%#.7g",
-__LINE__, -1.009390937771849e+15, "-1009390937771848.628657", "%+f",
-__LINE__, -1.010679382726182e-29, "-0.0000000", "%.7f",
-__LINE__, -1.010691853346650e+13, "-10106918533466.497934", "%+f",
-__LINE__, -1.013412912122286e-22, "-1.01E-22", "%.2E",
-__LINE__, -1.019269582113858e-25, " -0", "%4.0f",
-__LINE__, -1.019886033368556e+24, "-1.019886E+24", "%+.7G",
-__LINE__, -1.021037413548719e+02, "-102.103741", "%f",
-__LINE__, -1.023833576089065e+26, "-1.023834E+26", "%+E",
-__LINE__, -1.024736652408627e+10, "-10247366524.086265", "%+f",
-__LINE__, -1.025439198495476e+09, "-1.02544e+09", "%+g",
-__LINE__, -1.027080247585776e-04, "-0.0001027", "%6.7f",
-__LINE__, -1.028096307262016e+18, "-1.0281E+18", "%3G",
-__LINE__, -1.029604290697901e-02, "-0.010296", "%g",
-__LINE__, -1.034347730570491e+16, "-10343477305704908.975059", "%+f",
-__LINE__, -1.034663325049286e+22, "-1.0E+22", "%#.1E",
-__LINE__, -1.034843152721857e-14, " -0", "%6.f",
-__LINE__, -1.036082122299529e-29, "-1.04e-29", "%4.3g",
-__LINE__, -1.037213662365954e-09, "-1e-09", "%3.e",
-__LINE__, -1.038563976775690e-12, "-0.000000", "%f",
-__LINE__, -1.040910158681323e-02, "-0.0104091", "%+G",
-__LINE__, -1.044680094714482e-20, "-1.04468E-20", "%G",
-__LINE__, -1.044990054091126e+24, "-1.044990E+24", "%+E",
-__LINE__, -1.045693871096982e+11, "-1.045694e+11", "%+e",
-__LINE__, -1.045714133591312e-04, "-0.000104571", "%+#3g",
-__LINE__, -1.046215079103016e-15, "-1.04622e-15", "%g",
-__LINE__, -1.046285293993789e-18, "-1.04629E-18", "%+4G",
-__LINE__, -1.046306092899333e-06, "-0.00", "%0.2f",
-__LINE__, -1.047308973649206e-22, "-1.05E-22", "%+1.3G",
-__LINE__, -1.047369032507755e+01, "-1.047369E+01", "%E",
-__LINE__, -1.048986365562919e-21, "-1.05E-21", "%+.2E",
-__LINE__, -1.049530193156793e-17, "-1.04953E-17", "%+G",
-__LINE__, -1.050073419263768e+25, "-1.05007e+25", "%g",
-__LINE__, -1.051739652002504e-28, "-0.000000", "%+f",
-__LINE__, -1.054493420082636e+21, "-1.0545e+21", "%#5.4e",
-__LINE__, -1.055867291029098e+18, "-1.05587e+18", "%g",
-__LINE__, -1.056514389757866e-16, "-1.05651E-16", "%5.6G",
-__LINE__, -1.057180924868704e+15, "-1057180924868704", "%4.f",
-__LINE__, -1.058455468395683e-23, "-1.05846e-23", "%g",
-__LINE__, -1.062560982393212e+08, "-1.06256e+08", "%g",
-__LINE__, -1.063365829241138e-10, "-1.063366e-10", "%+e",
-__LINE__, -1.063568908667280e-19, "-1.06357E-19", "%+G",
-__LINE__, -1.063734263253492e-13, "-0.000000", "%0f",
-__LINE__, -1.064472689765495e-13, "-1E-13", "%4.0G",
-__LINE__, -1.067192610000129e-25, "-1.06719E-25", "%G",
-__LINE__, -1.068401334996592e-12, "-0.0000000", "%+.7f",
-__LINE__, -1.069012628653724e-13, "-1.069013E-13", "%+.7G",
-__LINE__, -1.069451976810790e+16, "-10694519768107904.056365", "%f",
-__LINE__, -1.069568935323556e+17, "-1.06957e+17", "%g",
-__LINE__, -1.071351044854107e-29, "-1.07135e-29", "%g",
-__LINE__, -1.072274197526185e-21, "-1E-21", "%1.G",
-__LINE__, -1.073875921752995e+23, "-1E+23", "%5.E",
-__LINE__, -1.074835151152265e-12, "-1.0748e-12", "%1.5g",
-__LINE__, -1.075171047088241e-19, "-1.07517E-19", "%#G",
-__LINE__, -1.076258826412760e+22, "-1.076259e+22", "%+e",
-__LINE__, -1.076365103160401e+06, "-1.07637E+06", "%+4.6G",
-__LINE__, -1.076817750454633e+08, "-1e+08", "%4.g",
-__LINE__, -1.078615405755685e-30, "-1e-30", "%4.g",
-__LINE__, -1.078629622917468e-25, "-1.078630e-25", "%e",
-__LINE__, -1.079352432833170e+11, "-107935243283", "%+2.f",
-__LINE__, -1.081431147440215e+16, "-10814311474402147.439378", "%+f",
-__LINE__, -1.083042116905339e-16, "-1.083e-16", "%.5g",
-__LINE__, -1.085351710708553e-10, "-1.085e-10", "%1.4g",
-__LINE__, -1.085796045618276e+07, "-1.085796e+07", "%e",
-__LINE__, -1.087398259981007e+22, "-1.0874e+22", "%g",
-__LINE__, -1.087986044402224e-11, "-1.087986e-11", "%e",
-__LINE__, -1.090451848762709e-02, "-1.090452e-02", "%e",
-__LINE__, -1.091463236899737e+11, "-1.091463E+11", "%#E",
-__LINE__, -1.091617921737384e-29, "-1.09162e-29", "%3g",
-__LINE__, -1.092049328579047e-17, "-1.092049E-17", "%E",
-__LINE__, -1.093647615472090e+06, "-1093647.61547", "%6.5f",
-__LINE__, -1.094133175602384e-08, "-1.1E-08", "%0.1E",
-__LINE__, -1.095397916728214e-23, "-1e-23", "%6.e",
-__LINE__, -1.098958790437321e+02, "-109.895879", "%+#f",
-__LINE__, -1.100194638181594e-20, "-1.100195e-20", "%e",
-__LINE__, -1.102174253534260e+05, "-1.1e+05", "%2.3g",
-__LINE__, -1.102890180316350e-12, "-1.10289e-12", "%+g",
-__LINE__, -1.105582337418378e+00, "-1.11", "%3.3g",
-__LINE__, -1.110515122647056e+04, "-1.E+04", "%#0.G",
-__LINE__, -1.111365895262625e-18, "-1e-18", "%0.g",
-__LINE__, -1.112010622677495e+04, "-11120.1", "%g",
-__LINE__, -1.112580043156699e-23, "-1.11258e-23", "%1g",
-__LINE__, -1.112829057091303e+08, "-1.11283e+08", "%+2g",
-__LINE__, -1.115019046200472e+18, "-1.1150190e+18", "%+#.7e",
-__LINE__, -1.118078332268016e-13, "-1.12E-13", "%1.3G",
-__LINE__, -1.119113571963886e+08, "-1.119114e+08", "%e",
-__LINE__, -1.120102397563448e-15, "-1.12e-15", "%.4g",
-__LINE__, -1.120707480791434e-19, "-1.12071e-19", "%g",
-__LINE__, -1.124243676139007e-07, "-0.000000", "%f",
-__LINE__, -1.125025214608798e+15, "-1.12503E+15", "%0G",
-__LINE__, -1.126074395136447e+06, "-1E+06", "%+.0G",
-__LINE__, -1.127203019940870e-06, "-0.000001", "%+#7f",
-__LINE__, -1.130577648480677e+01, "-1.130578e+01", "%e",
-__LINE__, -1.131469694425240e-11, "-1.13147e-11", "%#0.6g",
-__LINE__, -1.132225023239752e+02, "-113.223", "%G",
-__LINE__, -1.133702113050128e+20, "-1E+20", "%+3.E",
-__LINE__, -1.135529466224404e-13, "-1.13553e-13", "%#g",
-__LINE__, -1.137587210063004e+21, "-1e+21", "%.1g",
-__LINE__, -1.140765637106361e-21, "-1.1e-21", "%+.1e",
-__LINE__, -1.141182595083699e-18, "-0.000000", "%f",
-__LINE__, -1.141695709120972e+00, "-1.1417", "%3G",
-__LINE__, -1.143199141708028e+18, "-1143199141708027833", "%2.f",
-__LINE__, -1.146712902056139e+21, "-1146712902056139071760.298975", "%f",
-__LINE__, -1.146837903839073e-02, " -0.0", "%+5.1f",
-__LINE__, -1.147363016107446e+10, "-1.14736e+10", "%+7g",
-__LINE__, -1.149575523465052e+20, "-114957552346505220697.28140", "%+.5f",
-__LINE__, -1.152748955392589e+13, "-1.15275E+13", "%G",
-__LINE__, -1.152751106015483e-17, "-1E-17", "%+3.E",
-__LINE__, -1.155539139258226e-18, "-1.2e-18", "%+.2g",
-__LINE__, -1.157089280563492e+20, "-1.15709e+20", "%g",
-__LINE__, -1.161217745859779e+19, "-1.161218E+19", "%E",
-__LINE__, -1.162293536734798e+10, "-11622935367.347980", "%f",
-__LINE__, -1.162629909468603e+20, "-1.16E+20", "%.3G",
-__LINE__, -1.164979155838631e+24, "-1.16498E+24", "%G",
-__LINE__, -1.165103052644816e-20, " -1e-20", "%+7.g",
-__LINE__, -1.166448459023264e-08, "-0.000000", "%f",
-__LINE__, -1.167694506705309e+28, "-1e+28", "%.1g",
-__LINE__, -1.169901754818745e-28, "-0.000000", "%+f",
-__LINE__, -1.170330336216446e+08, " -1e+08", "%7.g",
-__LINE__, -1.170946623214213e-17, "-1.17095E-17", "%G",
-__LINE__, -1.174581596799302e+27, "-1.174582e+27", "%+e",
-__LINE__, -1.174763473995155e-28, "-1E-28", "%.1G",
-__LINE__, -1.175885640508038e-23, "-1E-23", "%+.0E",
-__LINE__, -1.177268411775439e-05, "-0.000012", "%#2.6f",
-__LINE__, -1.177739669428001e-30, "-1.17774E-30", "%G",
-__LINE__, -1.178059639880544e-02, "-0.0117806", "%+.7G",
-__LINE__, -1.178793300854446e-13, "-1.2E-13", "%+#0.2G",
-__LINE__, -1.179629345138058e-04, "-0.000118", "%0.3g",
-__LINE__, -1.180730292213358e-25, "-1.18073e-25", "%g",
-__LINE__, -1.180766261654697e+02, "-118.077", "%3g",
-__LINE__, -1.181880261069391e-29, "-1.181880e-29", "%+#e",
-__LINE__, -1.183752810063514e-09, "-1.18375e-09", "%#g",
-__LINE__, -1.184191742443406e-21, "-1.184192e-21", "%e",
-__LINE__, -1.184859760488406e-26, "-1.18486E-26", "%G",
-__LINE__, -1.187276828720072e-29, "-1.18728E-29", "%G",
-__LINE__, -1.187992907205195e-04, "-1.187993E-04", "%E",
-__LINE__, -1.190586192763405e-28, "-1.E-28", "%#1.E",
-__LINE__, -1.192104053032086e+02, "-119.21", "%G",
-__LINE__, -1.192917884333569e+26, "-1.192918E+26", "%E",
-__LINE__, -1.195900753509801e+22, "-1.1959e+22", "%g",
-__LINE__, -1.196559413116537e-28, "-0.000000", "%6.6f",
-__LINE__, -1.197534588732952e+12, "-1.19753e+12", "%#g",
-__LINE__, -1.200279514790649e-25, "-0.0000", "%0.4f",
-__LINE__, -1.203806667944635e+10, "-1.2038067E+10", "%5.7E",
-__LINE__, -1.204344885974736e+07, "-1.204E+07", "%#2.4G",
-__LINE__, -1.205668007693083e+00, "-1.20567", "%g",
-__LINE__, -1.205898515218947e-11, "-1.2059e-11", "%+g",
-__LINE__, -1.206787414909373e-05, "-1.2e-05", "%2.2g",
-__LINE__, -1.207905830366447e+15, "-1.207906e+15", "%6.7g",
-__LINE__, -1.208067010597729e-17, "-1.208067e-17", "%5e",
-__LINE__, -1.210189135822574e+01, "-12", "%+2.0f",
-__LINE__, -1.211560695948122e+10, "-1.21156e+10", "%+g",
-__LINE__, -1.214003025273234e-18, "-1.214e-18", "%+g",
-__LINE__, -1.214096815259005e+17, "-121409681525900459.142520", "%f",
-__LINE__, -1.214699041716797e-14, "-1.2147E-14", "%G",
-__LINE__, -1.215061611919443e+14, "-121506161191944.306310", "%+#f",
-__LINE__, -1.217491221065185e+27, "-1.21749e+27", "%g",
-__LINE__, -1.218538401534388e-11, "-1.218538e-11", "%#e",
-__LINE__, -1.218810085883466e+16, "-1e+16", "%+.1g",
-__LINE__, -1.219422688169801e+08, "-1.219423e+08", "%e",
-__LINE__, -1.220473194407651e-14, "-1.2205E-14", "%1.5G",
-__LINE__, -1.220824440193375e-02, "-0.012208", "%4f",
-__LINE__, -1.221520240637007e+13, "-1.221520E+13", "%1E",
-__LINE__, -1.221894719843486e+29, "-1.22189E+29", "%G",
-__LINE__, -1.223020108610281e+25, "-1.22302E+25", "%G",
-__LINE__, -1.223203206227728e-02, "-0.012232", "%G",
-__LINE__, -1.225661737076919e-15, "-1.22566E-15", "%G",
-__LINE__, -1.228147221003795e-08, "-1.22815E-08", "%G",
-__LINE__, -1.228298534591771e+20, "-1.22830E+20", "%#G",
-__LINE__, -1.228469080229780e-02, "-0.012285", "%0f",
-__LINE__, -1.229161950699222e-09, "-1e-09", "%0.e",
-__LINE__, -1.231294820136559e-17, "-1.231295E-17", "%1.7G",
-__LINE__, -1.232588663406698e-21, "-1E-21", "%+0.G",
-__LINE__, -1.233381256982191e-26, "-0.000000", "%f",
-__LINE__, -1.233435864835578e+14, "-1.23344e+14", "%#g",
-__LINE__, -1.237409567806099e-25, "-1.23741E-25", "%#G",
-__LINE__, -1.238244697758558e-02, "-1.238245e-02", "%7e",
-__LINE__, -1.239393163123284e+26, "-1.23939e+26", "%+g",
-__LINE__, -1.240484781756132e-18, "-1E-18", "%4.E",
-__LINE__, -1.241420286838750e+23, "-1E+23", "%2.E",
-__LINE__, -1.243781122052343e-18, "-1.243781e-18", "%+e",
-__LINE__, -1.244421506844779e+07, "-1.244422E+07", "%+6E",
-__LINE__, -1.245754054764741e-21, "-1e-21", "%5.0g",
-__LINE__, -1.245992228426733e-24, "-0.000000", "%f",
-__LINE__, -1.246498277739883e-12, "-0.0000000", "%5.7f",
-__LINE__, -1.247130891343776e-18, "-1.24713E-18", "%G",
-__LINE__, -1.247309461703025e-03, "-0.0012473", "%#5.5G",
-__LINE__, -1.248139162966407e-29, "-1.e-29", "%+#6.g",
-__LINE__, -1.249756153623776e+08, "-1.249756e+08", "%e",
-__LINE__, -1.250899983565585e-10, "-1.2509e-10", "%5g",
-__LINE__, -1.250957368798327e+19, "-1.25096E+19", "%0G",
-__LINE__, -1.252630814464822e-02, "-0.012526", "%+f",
-__LINE__, -1.253076368257011e-28, "-0.000000", "%f",
-__LINE__, -1.254243507039370e+01, "-1.254244e+01", "%e",
-__LINE__, -1.257605614492298e-12, "-1.257606E-12", "%6.7G",
-__LINE__, -1.258041911573120e+06, "-1258041.911573", "%+f",
-__LINE__, -1.261670983426507e-25, "-0.00", "%.2f",
-__LINE__, -1.263216883336562e-14, "-1.26322e-14", "%g",
-__LINE__, -1.266846944498751e-15, "-1e-15", "%0.g",
-__LINE__, -1.266977908502326e+06, "-1266978", "%+1.f",
-__LINE__, -1.267006162870084e-23, "-1.267006e-23", "%e",
-__LINE__, -1.269144609375931e+01, "-1.269145e+01", "%+e",
-__LINE__, -1.269458714257904e+25, "-1.26946E+25", "%G",
-__LINE__, -1.276697325772662e-02, "-0.0128", "%7.3G",
-__LINE__, -1.278855081807602e+15, "-1278855081807601.87891", "%#0.5f",
-__LINE__, -1.278966821639612e+20, "-1.278967E+20", "%3E",
-__LINE__, -1.281942705258106e+03, "-1281.94", "%+G",
-__LINE__, -1.282331291499203e+14, "-128233129149920.266343", "%+f",
-__LINE__, -1.285125739341808e-28, "-1.28513e-28", "%g",
-__LINE__, -1.285700693704978e+11, "-1.285701E+11", "%E",
-__LINE__, -1.286574096459251e+28, "-1.287E+28", "%6.4G",
-__LINE__, -1.287967889247240e+03, "-1287.97", "%G",
-__LINE__, -1.288913808801319e-27, "-1.3e-27", "%7.1e",
-__LINE__, -1.289147517760377e-18, "-1.289148E-18", "%E",
-__LINE__, -1.289355006600107e+23, "-1.28936E+23", "%+G",
-__LINE__, -1.291232014623979e+01, "-1.29123E+01", "%+.5E",
-__LINE__, -1.293658562875966e-18, "-1.29366e-18", "%+g",
-__LINE__, -1.294982911983638e-19, "-1.29498E-19", "%#G",
-__LINE__, -1.296123363481695e-13, "-1.296123E-13", "%E",
-__LINE__, -1.296632862070602e-20, "-1.29663e-20", "%+g",
-__LINE__, -1.297801639022777e+23, "-129780163902277735132884.11777", "%#0.5f",
-__LINE__, -1.297886574534611e+16, "-1.297887e+16", "%+e",
-__LINE__, -1.300588216308401e+11, "-1.30e+11", "%.2e",
-__LINE__, -1.301296100909062e-10, "-1.3013e-10", "%+g",
-__LINE__, -1.303144244306468e-07, "-1.303144E-07", "%E",
-__LINE__, -1.304096315024042e-20, "-1.3041E-20", "%+G",
-__LINE__, -1.304817970675085e+16, "-1.304818E+16", "%+E",
-__LINE__, -1.304870304632683e-15, " -1e-15", "%7.g",
-__LINE__, -1.305213586757638e-18, "-1.30521e-18", "%g",
-__LINE__, -1.306880734910465e-22, "-1.306881E-22", "%E",
-__LINE__, -1.308964092631446e-23, "-1.30896e-23", "%g",
-__LINE__, -1.312070555198201e+26, "-131207055519820126043839537", "%+7.f",
-__LINE__, -1.312511609151056e-30, "-1.312512E-30", "%#E",
-__LINE__, -1.313087359008389e-23, "-0.000000", "%+f",
-__LINE__, -1.316948423042059e-02, "-1.316948E-02", "%+E",
-__LINE__, -1.317080882577385e+29, "-1.317E+29", "%+.4G",
-__LINE__, -1.317514598984346e+24, "-1.317515e+24", "%e",
-__LINE__, -1.317817551125923e-21, "-1.31782E-21", "%+G",
-__LINE__, -1.319603985988120e+29, "-131960398598811989856471882376.354188", "%f",
-__LINE__, -1.328850458671907e+06, "-1e+06", "%.0e",
-__LINE__, -1.328945346449817e-23, "-1.328945e-23", "%+e",
-__LINE__, -1.330146584094221e-08, "-1e-08", "%+5.g",
-__LINE__, -1.332609617892115e+00, "-1.33261", "%2.7G",
-#ifndef __PCCNECV70__
-__LINE__, -1.332751724965715e+22, "-13327517249657150344432.920974", "%f",
-__LINE__, -1.333194379353273e-19, "-0.000000", "%f",
-__LINE__, -1.334304387932777e-06, "-1.334304e-06", "%e",
-__LINE__, -1.334306581172082e-05, "-1.3e-05", "%+1.2g",
-__LINE__, -1.335283510893438e-05, " -1E-05", "%7.G",
-__LINE__, -1.337939692108373e+11, "-1.33794e+11", "%+4g",
-__LINE__, -1.339117288874809e-03, "-0.001", "%1.3f",
-__LINE__, -1.340100588141492e+27, "-1.340101E+27", "%E",
-__LINE__, -1.341953272572953e-19, "-0.000000", "%+f",
-__LINE__, -1.343058354301620e-02, "-1.343058e-02", "%e",
-__LINE__, -1.346662720871543e+22, "-1.34666E+22", "%#G",
-__LINE__, -1.354010578652210e-02, "-0.0135401", "%#g",
-__LINE__, -1.354066549307666e-12, " -0", "%+6.f",
-__LINE__, -1.355284719365947e+21, "-1.35528e+21", "%g",
-__LINE__, -1.356326532145087e+29, "-1E+29", "%4.G",
-__LINE__, -1.357278618897291e+19, "-13572786188972911780.581398", "%f",
-__LINE__, -1.357537331348202e-10, "-0.000", "%+.3f",
-__LINE__, -1.360011287595868e-10, "-0.000000", "%f",
-__LINE__, -1.360506902899232e+16, "-13605069028992320.", "%#5.f",
-__LINE__, -1.361102570277000e+10, "-1.3611E+10", "%G",
-__LINE__, -1.362601255900219e+07, "-1.363E+07", "%.4G",
-__LINE__, -1.366078182354771e+10, "-1.36608E+10", "%0G",
-__LINE__, -1.366667926615127e+08, "-136666792.661513", "%f",
-__LINE__, -1.367162823743231e-12, "-0.000000", "%#f",
-__LINE__, -1.371523037550709e+09, "-1.37152e+09", "%+g",
-__LINE__, -1.374328925986197e-17, "-1.37e-17", "%.2e",
-__LINE__, -1.374995603898421e-26, "-1.375e-26", "%+g",
-__LINE__, -1.376726539375688e+09, "-1.376727E+09", "%+E",
-__LINE__, -1.378351117694958e-13, "-0.000000", "%f",
-__LINE__, -1.378514699313619e-14, "-1.378515e-14", "%e",
-__LINE__, -1.379347588942324e-23, "-1.4e-23", "%+.1e",
-__LINE__, -1.380380583822272e-17, "-0.000000", "%+f",
-__LINE__, -1.381658659947406e+19, "-1.38166e+19", "%g",
-__LINE__, -1.382775316390237e+29, "-138277531639023653298181670834.3104", "%+#7.4f",
-__LINE__, -1.383541138922400e+00, "-1.383541E+00", "%E",
-__LINE__, -1.384625301445090e+01, "-13.8", "%+.3g",
-__LINE__, -1.386844086284027e-13, "-1.38684E-13", "%+G",
-__LINE__, -1.386930516448650e-28, "-1.386931E-28", "%E",
-__LINE__, -1.387444896054260e-07, "-1.38744E-07", "%G",
-__LINE__, -1.389685107980798e+22, "-1.38969E+22", "%G",
-__LINE__, -1.390880300369347e+03, "-1390.880300", "%f",
-__LINE__, -1.391423370198150e-17, "-1E-17", "%+2.G",
-__LINE__, -1.394441767471218e-09, "-1.394442e-09", "%e",
-__LINE__, -1.396275525062527e-20, "-1.39628E-20", "%G",
-__LINE__, -1.397045957455157e+24, "-1E+24", "%.0E",
-__LINE__, -1.397458546930799e+21, "-1397458546930798526375.383517", "%f",
-__LINE__, -1.397584578988941e-14, "-1.39758e-14", "%5g",
-__LINE__, -1.397789397300823e+09, "-1.398e+09", "%.4g",
-__LINE__, -1.398167472294874e+21, "-1.398167E+21", "%+7E",
-__LINE__, -1.398809636136688e-16, "-0.000000", "%+f",
-__LINE__, -1.399545335304119e+26, "-139954533530411872277454676.805064", "%#5f",
-__LINE__, -1.400102603335755e+20, "-140010260333575509150.705329", "%2f",
-__LINE__, -1.401212746235235e+04, "-1.401213e+04", "%e",
-__LINE__, -1.404409427681801e+07, "-1E+07", "%4.E",
-__LINE__, -1.406018114263948e-25, "-1e-25", "%3.e",
-__LINE__, -1.406245608096877e-06, "-1.4e-06", "%+.1e",
-__LINE__, -1.410697254683835e-10, "-1.410697e-10", "%e",
-__LINE__, -1.410739097553846e+25, "-1.410739E+25", "%+E",
-__LINE__, -1.410850631189577e+04, "-14108.5", "%.6g",
-__LINE__, -1.411680434455781e+28, "-14116804344557807304738616949.180141", "%f",
-__LINE__, -1.413309465660099e-27, "-1.413309E-27", "%+#E",
-__LINE__, -1.418468741386300e+09, "-1418468741.386300", "%f",
-__LINE__, -1.420277110892909e+06, "-1.42028e+06", "%1g",
-__LINE__, -1.420417889565590e-17, "-1.42E-17", "%.2E",
-__LINE__, -1.421098212056305e+08, "-1.421098e+08", "%4e",
-__LINE__, -1.421792812798986e-20, " -1E-20", "%7.G",
-__LINE__, -1.423675488122461e+18, "-1423675488122461363.360571", "%f",
-__LINE__, -1.423810545840653e+15, "-1E+15", "%3.E",
-__LINE__, -1.424242673476368e-15, "-1.424243e-15", "%e",
-__LINE__, -1.427847435688733e-01, "-1.427847E-01", "%E",
-__LINE__, -1.433897734612555e-04, "-0.0001", "%3.g",
-__LINE__, -1.434537754075696e-24, "-1.435E-24", "%+0.3E",
-__LINE__, -1.434774864809324e-24, "-1E-24", "%2.E",
-__LINE__, -1.435583851565142e-11, "-1E-11", "%.0E",
-__LINE__, -1.438791024010112e+11, "-1.43879e+11", "%#.6g",
-__LINE__, -1.439267565343777e+27, "-1.4e+27", "%2.1e",
-__LINE__, -1.439440602670449e+02, "-143.944", "%G",
-__LINE__, -1.439494412124925e+13, "-14394944121249.251268", "%f",
-__LINE__, -1.440032823245152e+10, "-14400328232.451516", "%f",
-__LINE__, -1.440174494009562e-08, "-0.000000", "%7f",
-__LINE__, -1.440827804010568e+07, "-1.E+07", "%#6.1G",
-__LINE__, -1.442760907195336e+09, "-1.44276E+09", "%+5G",
-__LINE__, -1.444655304181403e+10, "-14446553041.814035", "%7f",
-__LINE__, -1.444995766787036e+04, "-14450", "%5G",
-__LINE__, -1.445078682874535e-13, "-1E-13", "%3.E",
-__LINE__, -1.446781469662328e+01, "-14.4678", "%G",
-__LINE__, -1.447795251395321e-04, "-0.000145", "%+f",
-__LINE__, -1.448193079247108e-02, "-0.014", "%4.2G",
-__LINE__, -1.449552967961345e+14, "-1E+14", "%1.E",
-__LINE__, -1.451269763513571e+10, "-14512697635.135705", "%6f",
-__LINE__, -1.451843176990292e+12, "-1e+12", "%1.g",
-__LINE__, -1.452631405935931e+06, "-1.452631e+06", "%e",
-__LINE__, -1.452753650285897e+21, "-1452753650285897091265.496783", "%5f",
-__LINE__, -1.453811512433860e-05, "-1e-05", "%+6.g",
-__LINE__, -1.454071430557372e+13, "-1.4541E+13", "%.4E",
-__LINE__, -1.455956079562999e+03, "-1455.96", "%G",
-__LINE__, -1.459712196146602e-17, "-1.45971e-17", "%g",
-__LINE__, -1.461857733495947e-02, "-1.4619E-02", "%.4E",
-__LINE__, -1.465257069090911e-11, "-1.465257E-11", "%+E",
-__LINE__, -1.465306607257042e+05, "-146531", "%g",
-__LINE__, -1.465857076315921e+20, "-1.46586E+20", "%+G",
-__LINE__, -1.467919792051489e+16, "-1.46792e+16", "%2g",
-__LINE__, -1.469271519834567e+20, "-146927151983456720785", "%+.0f",
-__LINE__, -1.472961447442697e-28, "-1.47296e-28", "%#g",
-__LINE__, -1.473385695190456e-12, "-1.473386E-12", "%E",
-__LINE__, -1.485003089033267e-10, "-1.485E-10", "%2G",
-__LINE__, -1.490541379072390e-18, "-1.490541E-18", "%4E",
-__LINE__, -1.490683434793125e+22, "-14906834347931249951102.472551", "%#f",
-__LINE__, -1.498356837215425e+20, "-1.49836E+20", "%#G",
-__LINE__, -1.498677007818122e+14, "-1.49868E+14", "%+4G",
-__LINE__, -1.502143197677119e+23, "-150214319767711934616727.", "%#7.f",
-__LINE__, -1.503563770470753e-24, "-1.50356e-24", "%.6g",
-__LINE__, -1.504643092793197e-18, "-1.504643e-18", "%+4e",
-__LINE__, -1.507017706254022e-13, "-1.50702e-13", "%+g",
-__LINE__, -1.507054033750081e-22, "-0.000000", "%f",
-__LINE__, -1.508662346022339e+16, "-1.508662E+16", "%#E",
-__LINE__, -1.509366882438902e+08, "-2e+08", "%4.g",
-__LINE__, -1.511086567087967e+20, "-1.51109e+20", "%g",
-__LINE__, -1.514959134622707e-18, "-0.000000", "%+f",
-__LINE__, -1.515730120364204e+06, "-2E+06", "%0.G",
-__LINE__, -1.516372763118606e-09, "-1.51637e-09", "%g",
-__LINE__, -1.520610443546204e+27, "-1.52061e+27", "%g",
-__LINE__, -1.522040655642012e+11, "-1.52204E+11", "%+2G",
-__LINE__, -1.523772495014966e-24, "-2E-24", "%2.G",
-__LINE__, -1.523980825983892e-05, "-0.000", "%2.3f",
-__LINE__, -1.526696214603152e-03, "-0.0015267", "%+6.5G",
-__LINE__, -1.528680540769583e+00, "-1.5287", "%0.5G",
-__LINE__, -1.529951830525433e+08, "-1.529952e+08", "%+e",
-__LINE__, -1.533052896559935e+05, "-153305", "%4.0f",
-__LINE__, -1.533829640475152e-03, "-0.00153383", "%+#g",
-__LINE__, -1.535617804643105e-30, "-1.535618e-30", "%e",
-__LINE__, -1.537623698361821e+16, "-15376236983618207.7875719", "%4.7f",
-__LINE__, -1.544994895330616e+24, "-1.54499e+24", "%g",
-__LINE__, -1.545083356728403e+17, "-1.545083e+17", "%e",
-__LINE__, -1.545684535393879e+12, "-1.55E+12", "%3.3G",
-__LINE__, -1.545878334099427e+13, "-15458783340994.268762", "%1f",
-__LINE__, -1.547697185980564e-18, "-1.5477e-18", "%.6g",
-__LINE__, -1.548576527172579e-29, "-1.5E-29", "%2.2G",
-__LINE__, -1.549712227835891e+08, "-1.549712e+08", "%#6.7g",
-__LINE__, -1.550010819435335e-21, "-1.55001E-21", "%G",
-__LINE__, -1.551412476164257e+14, "-1.551412E+14", "%E",
-__LINE__, -1.553156638090030e+01, " -2E+01", "%7.G",
-__LINE__, -1.553733233064355e-01, "-0.2", "%3.g",
-__LINE__, -1.558391111609365e+00, "-1.558391", "%+f",
-__LINE__, -1.562004019284766e+15, "-1.562E+15", "%6.5G",
-__LINE__, -1.562195733239758e-16, "-0.000000", "%f",
-__LINE__, -1.563953339012525e-14, "-1.56395E-14", "%1G",
-__LINE__, -1.568317638534983e+18, "-1.56832E+18", "%1G",
-__LINE__, -1.568546851135348e+04, "-15685.5", "%+#G",
-__LINE__, -1.574297872228857e+18, "-1.574298e+18", "%e",
-__LINE__, -1.575696460196291e-21, "-1.5757E-21", "%G",
-__LINE__, -1.576324848379791e+25, "-1.57632E+25", "%+G",
-__LINE__, -1.577524395140843e+06, "-1.5775E+06", "%.5G",
-__LINE__, -1.585122856675091e+12, "-1585122856675.091452", "%f",
-__LINE__, -1.586734674395556e-02, "-1.586735E-02", "%E",
-__LINE__, -1.592602264315192e+22, "-1.5926E+22", "%G",
-__LINE__, -1.594121556700562e+05, "-2E+05", "%+.0G",
-__LINE__, -1.598538116193430e+22, "-1.59854e+22", "%+g",
-__LINE__, -1.605647463222382e+18, "-1.6056E+18", "%.5G",
-__LINE__, -1.610891449201191e+06, "-1.6109E+06", "%#6.4E",
-__LINE__, -1.614593168166818e-05, "-1.61459E-05", "%G",
-__LINE__, -1.615597722557325e-03, "-0.001616", "%f",
-__LINE__, -1.616038022182124e-29, "-1.61604E-29", "%1G",
-__LINE__, -1.618380771451625e-28, "-2e-28", "%+1.g",
-__LINE__, -1.620287456872150e+10, "-1.620e+10", "%#7.3e",
-__LINE__, -1.620469955611903e-29, "-0.000000", "%f",
-__LINE__, -1.622580720690927e+20, "-1.622581E+20", "%+#E",
-__LINE__, -1.622752500991079e-12, "-1.622753E-12", "%E",
-__LINE__, -1.622771933776459e+08, "-1.6228E+08", "%+4.4E",
-__LINE__, -1.623894567037391e+09, "-1.623895e+09", "%#e",
-__LINE__, -1.624021408185354e-25, "-1.624E-25", "%.5G",
-__LINE__, -1.624405320939366e-06, "-1.62441e-06", "%+#g",
-__LINE__, -1.631236208958857e-25, "-1.631236e-25", "%#e",
-__LINE__, -1.632165969536046e+20, "-1.63217E+20", "%G",
-__LINE__, -1.632859596256475e+06, "-1.63286E+06", "%G",
-__LINE__, -1.634371961703112e+06, "-1.634372E+06", "%+E",
-__LINE__, -1.637230383641845e+24, "-1.63723e+24", "%#g",
-__LINE__, -1.638081480475853e+17, "-1.63808e+17", "%+g",
-__LINE__, -1.638279690467673e+14, "-163827969046767.325523", "%#f",
-__LINE__, -1.640360249548215e-29, "-1.64036e-29", "%+6.6g",
-__LINE__, -1.645691728060833e-30, "-1.64569e-30", "%g",
-__LINE__, -1.648548965852592e-03, " -0", "%5.f",
-__LINE__, -1.650100957771182e+21, "-1650100957771182308420.065965", "%+f",
-__LINE__, -1.650957176011913e-02, "-0.016510", "%#4.5G",
-__LINE__, -1.651165108095301e+29, "-165116510809530137038336761179.380119", "%f",
-__LINE__, -1.657132845094847e-06, "-0.000002", "%f",
-__LINE__, -1.657152146172541e+12, "-1.657152E+12", "%.7G",
-__LINE__, -1.658377345516132e-06, "-0.00", "%.2f",
-__LINE__, -1.658850468902324e+20, "-1.659e+20", "%.4g",
-__LINE__, -1.661723557149830e+18, "-1.66172E+18", "%G",
-__LINE__, -1.663570885140273e+14, "-166357088514027", "%2.f",
-__LINE__, -1.665186944896906e+25, "-1.66519E+25", "%G",
-__LINE__, -1.675910137717036e+22, "-2e+22", "%5.g",
-__LINE__, -1.677447987675587e-15, "-1.67745E-15", "%G",
-__LINE__, -1.677510590697220e+06, "-1677510.590697", "%5f",
-__LINE__, -1.677658141289510e-18, "-2E-18", "%+5.G",
-__LINE__, -1.678316848066192e-03, "-1.678317E-03", "%E",
-__LINE__, -1.681506404024821e+24, "-1.68151E+24", "%G",
-__LINE__, -1.688584243722160e+12, "-1.68858E+12", "%+#G",
-__LINE__, -1.689468295411408e+28, "-1.68947E+28", "%+G",
-__LINE__, -1.690746767470207e-11, "-1.69075E-11", "%G",
-__LINE__, -1.692773960755248e-14, "-2E-14", "%4.E",
-__LINE__, -1.693349092740995e-18, "-1.69335e-18", "%g",
-__LINE__, -1.693642321808920e-26, "-1.69364E-26", "%G",
-__LINE__, -1.694579128700042e-12, "-0.000000", "%f",
-__LINE__, -1.695454897264717e-08, "-1.7E-08", "%+4.3G",
-__LINE__, -1.695733278397589e+19, "-1.695733e+19", "%4e",
-__LINE__, -1.699522534409388e-05, "-1.69952E-05", "%G",
-__LINE__, -1.701752039544919e+00, "-2", "%.0f",
-__LINE__, -1.702304998615036e+16, "-1.7023E+16", "%1G",
-__LINE__, -1.703113580904556e-25, "-1.703114e-25", "%+e",
-__LINE__, -1.705165515454546e+29, "-1.705166e+29", "%+e",
-__LINE__, -1.707392568277288e-05, "-1.70739E-05", "%G",
-__LINE__, -1.707477319256742e+09, "-1707477319.26", "%7.2f",
-__LINE__, -1.709669107513969e-03, " -0.002", "%7.g",
-__LINE__, -1.713284011412432e-24, "-1.713e-24", "%3.3e",
-__LINE__, -1.715512203951086e-28, "-1.715512E-28", "%E",
-__LINE__, -1.716880832248879e+13, "-1.71688e+13", "%+g",
-__LINE__, -1.720722835740680e-15, "-1.7E-15", "%.1E",
-__LINE__, -1.721855769574895e+07, "-17218557.695749", "%3f",
-__LINE__, -1.722449437415368e+01, "-1.722449e+01", "%e",
-__LINE__, -1.723218805116591e-29, "-2e-29", "%.0g",
-__LINE__, -1.726129004920195e-05, "-1.72613E-05", "%0G",
-__LINE__, -1.727400228037571e-28, "-0.0000000", "%2.7f",
-__LINE__, -1.730008745782339e-23, "-1.73e-23", "%.4g",
-__LINE__, -1.731875670201859e+09, "-1.73188E+09", "%G",
-__LINE__, -1.732142976428085e+10, "-2E+10", "%+6.0E",
-__LINE__, -1.732699651229194e-02, "-0.017327", "%5g",
-__LINE__, -1.734772870736446e-12, "-0.000000", "%+f",
-__LINE__, -1.738576887938331e+09, "-1.73858e+09", "%g",
-__LINE__, -1.738759937912438e-08, "-1.73876e-08", "%+2g",
-__LINE__, -1.739320154069143e-18, "-0.0000", "%1.4f",
-__LINE__, -1.739870415800800e+16, "-1.73987e+16", "%g",
-__LINE__, -1.741290506928618e+04, "-17412.9", "%G",
-__LINE__, -1.742520800031913e+29, "-1.742521e+29", "%7e",
-__LINE__, -1.747620095195231e+01, "-2e+01", "%+2.g",
-__LINE__, -1.749860675924882e-21, "-1.74986E-21", "%G",
-__LINE__, -1.752675363661431e-06, "-1.7527E-06", "%.5G",
-__LINE__, -1.752871508059699e-06, " -0", "%7.f",
-__LINE__, -1.755178530989839e+25, "-1.7551785e+25", "%1.7e",
-__LINE__, -1.755566213249512e-07, "-1.755566e-07", "%.6e",
-__LINE__, -1.756193485005071e-24, "-1.75619E-24", "%+2.6G",
-__LINE__, -1.758501410496218e+03, "-1758.501", "%.7G",
-__LINE__, -1.758795617219102e+20, "-1.75880E+20", "%#6G",
-__LINE__, -1.760538679276709e+03, "-2e+03", "%+1.e",
-__LINE__, -1.762660914833003e+27, "-1.76266E+27", "%G",
-__LINE__, -1.765122691141907e+19, "-17651226911419071186.1", "%5.1f",
-__LINE__, -1.765313277389086e-18, "-2E-18", "%+1.E",
-__LINE__, -1.765821717148734e+19, "-1.76582E+19", "%G",
-__LINE__, -1.767048687863149e-17, "-1.77E-17", "%+.3G",
-__LINE__, -1.768661645451962e+18, "-1.77E+18", "%+.3G",
-__LINE__, -1.769753257452233e+01, "-17.6975", "%G",
-__LINE__, -1.770945665065531e+28, "-1.770946E+28", "%0.7G",
-__LINE__, -1.776713865753894e-09, "-2e-09", "%1.g",
-__LINE__, -1.778424845787448e+03, "-1.7784E+03", "%.4E",
-__LINE__, -1.779060610701250e+06, "-1.779061E+06", "%E",
-__LINE__, -1.781447182110762e-27, "-1.781447E-27", "%E",
-__LINE__, -1.782655842123784e-13, "-2.E-13", "%#2.1G",
-__LINE__, -1.783071018169166e+16, "-17830710181691664.217851", "%+f",
-__LINE__, -1.784665985294415e+25, "-2E+25", "%3.G",
-__LINE__, -1.787297600658096e+25, "-2E+25", "%+5.E",
-__LINE__, -1.788200250255718e+12, "-1.7882E+12", "%2.4E",
-__LINE__, -1.792860730579114e-09, "-1.79286E-09", "%G",
-__LINE__, -1.793122797100936e+24, "-1.793123e+24", "%e",
-__LINE__, -1.793761706915029e-25, "-0.000000", "%f",
-__LINE__, -1.793947567431932e+22, "-1.79395e+22", "%g",
-__LINE__, -1.796428035404303e-18, "-1.79643e-18", "%g",
-__LINE__, -1.797113144273918e-16, "-1.79711E-16", "%.6G",
-__LINE__, -1.798796767828424e-29, "-1.7988E-29", "%G",
-__LINE__, -1.805004010633763e-11, "-1.805e-11", "%2.5g",
-__LINE__, -1.806936269752338e-26, "-1.80694e-26", "%g",
-__LINE__, -1.807122541760172e-10, "-1.80712e-10", "%g",
-__LINE__, -1.808295407815630e-06, "-1.8083E-06", "%+G",
-__LINE__, -1.813893236685959e+15, "-1813893236685959", "%0.f",
-__LINE__, -1.816201530145367e+06, "-1816202", "%+2.f",
-__LINE__, -1.822811219123512e+13, "-1.82281e+13", "%g",
-__LINE__, -1.826276499170243e-25, "-2E-25", "%+3.G",
-__LINE__, -1.832399287433839e-26, "-1.832399E-26", "%#4E",
-__LINE__, -1.833597815584463e-18, "-0.000000", "%+3f",
-__LINE__, -1.834165532712233e+28, "-1.834166E+28", "%.7G",
-__LINE__, -1.837633147831083e+28, "-1.8376331e+28", "%.7e",
-__LINE__, -1.839756716742518e-01, "-0.2", "%+0.G",
-__LINE__, -1.840101206950368e-14, "-1.840101E-14", "%+E",
-__LINE__, -1.842043645474877e+17, "-1.84204e+17", "%+g",
-__LINE__, -1.842155892969934e+17, "-1.84216e+17", "%+g",
-__LINE__, -1.843566073012842e-25, "-1.84357E-25", "%G",
-__LINE__, -1.843976321320497e-02, "-0.02", "%+4.2f",
-__LINE__, -1.845299931651554e+11, "-1.8453E+11", "%0.4E",
-__LINE__, -1.846199038659889e-06, "-1.8462e-06", "%0.5g",
-__LINE__, -1.847062180184169e-30, "-1.847062E-30", "%5E",
-__LINE__, -1.847962158722201e-16, "-0.000000", "%f",
-__LINE__, -1.849446376756582e+15, "-1.8E+15", "%2.2G",
-__LINE__, -1.853168465523878e-24, "-2E-24", "%1.E",
-__LINE__, -1.853601367230139e+10, "-1.853601e+10", "%e",
-__LINE__, -1.857367903775364e+18, "-1.86E+18", "%1.3G",
-__LINE__, -1.858332820633906e-05, "-0.000019", "%7f",
-__LINE__, -1.860243811657223e-23, "-1.860244e-23", "%e",
-__LINE__, -1.860660612539794e+08, "-1.86066e+08", "%+6.5e",
-__LINE__, -1.861160816251124e-09, "-2E-09", "%1.G",
-__LINE__, -1.862380636974688e-25, "-1.9E-25", "%.2G",
-__LINE__, -1.864168808453004e+15, "-1.86417E+15", "%G",
-__LINE__, -1.864273144411246e+07, "-1.86427e+07", "%g",
-__LINE__, -1.864929236615802e-02, "-2e-02", "%+3.e",
-__LINE__, -1.865010503480847e+19, "-2E+19", "%4.G",
-__LINE__, -1.866276374553144e+22, "-1.866276e+22", "%e",
-__LINE__, -1.870809567910649e+09, "-1.870810e+09", "%e",
-__LINE__, -1.872555495839008e-13, "-1.872555E-13", "%3E",
-__LINE__, -1.874465717110388e-22, "-1.874466E-22", "%E",
-__LINE__, -1.874916306627632e+21, "-1874916306627632422987.517202", "%f",
-__LINE__, -1.875804322194491e-23, "-0.000000", "%+f",
-__LINE__, -1.876662099198587e-04, "-0.000187666", "%G",
-__LINE__, -1.876775504795760e-25, "-1.87678e-25", "%0g",
-__LINE__, -1.879343051002554e-20, " -0.", "%#6.f",
-__LINE__, -1.881535445774717e-15, "-1.881535e-15", "%e",
-__LINE__, -1.887515901404300e+00, "-1.888", "%2.4G",
-__LINE__, -1.887730637149009e+17, "-1.887731E+17", "%E",
-__LINE__, -1.889920303480086e+17, "-1.889920e+17", "%+e",
-__LINE__, -1.891903478784091e+04, "-1.891903e+04", "%e",
-__LINE__, -1.893550084305833e+16, "-1.89355e+16", "%g",
-__LINE__, -1.894675230197676e+05, "-1.894675e+05", "%#e",
-__LINE__, -1.898389624953187e-27, "-1.898390e-27", "%+e",
-__LINE__, -1.899250044644046e+21, "-1899250044644046120367.875119", "%+4.6f",
-__LINE__, -1.904187609804679e-02, "-1.90419E-02", "%0.5E",
-__LINE__, -1.904452538421193e-04, "-2e-04", "%4.0e",
-__LINE__, -1.904615326969061e-16, "-1.904615e-16", "%1.7g",
-__LINE__, -1.907761255064750e+02, "-190.776126", "%f",
-__LINE__, -1.910727641826707e-10, " -2e-10", "%7.g",
-__LINE__, -1.913149279262051e+15, "-1.913149e+15", "%.7g",
-__LINE__, -1.913235739298009e+28, "-1.913236e+28", "%e",
-__LINE__, -1.913526822735271e+18, "-1.914e+18", "%.4g",
-__LINE__, -1.913780977515583e+17, "-191378097751558335.9150", "%5.4f",
-__LINE__, -1.917095456962182e-10, "-2E-10", "%4.G",
-__LINE__, -1.918803033972851e+23, "-191880303397285132405158.947222", "%f",
-__LINE__, -1.926420984801848e+16, "-19264209848018483.128840", "%+f",
-__LINE__, -1.931905465942639e-10, "-1.93191e-10", "%g",
-__LINE__, -1.932907105840252e+06, "-1.932907e+06", "%+#e",
-__LINE__, -1.933091601918916e+15, "-1.933092E+15", "%#E",
-__LINE__, -1.934296184983361e+09, "-1.9343e+09", "%1.6g",
-__LINE__, -1.934637311832448e+11, "-1.93464e+11", "%+g",
-__LINE__, -1.936201483262186e+12, "-2e+12", "%+6.g",
-__LINE__, -1.939114661603911e+19, "-1.93911E+19", "%G",
-__LINE__, -1.940478182124347e-13, "-0.000000", "%f",
-__LINE__, -1.943218220654923e+08, "-2E+08", "%+5.0G",
-__LINE__, -1.943526872455779e-30, "-1.9E-30", "%.1E",
-__LINE__, -1.949869164681357e+19, "-1.949869e+19", "%#3e",
-__LINE__, -1.954181060535402e+23, "-1.954181e+23", "%e",
-__LINE__, -1.961581555579142e+14, "-1.962E+14", "%.3E",
-__LINE__, -1.964535562036915e+07, "-1.96454E+07", "%G",
-__LINE__, -1.969749653575926e+04, "-19697.5", "%.6g",
-__LINE__, -1.973475369169053e+15, "-1.97348e+15", "%g",
-__LINE__, -1.975658532866600e-21, "-2e-21", "%+1.2g",
-__LINE__, -1.984050343831260e+09, "-1.984050E+09", "%E",
-__LINE__, -1.984422410018571e+12, "-1.984422e+12", "%+4.7g",
-__LINE__, -1.984878687667223e-22, "-0.000000", "%f",
-__LINE__, -1.986116930967811e-28, "-1.98612e-28", "%g",
-__LINE__, -1.986774457812683e+02, "-1.986774e+02", "%e",
-__LINE__, -1.987274814938726e-04, "-0.000198727", "%g",
-__LINE__, -1.987319200580415e+10, "-1.987319E+10", "%E",
-__LINE__, -1.987980768698114e-19, "-0.000000", "%3f",
-__LINE__, -1.994698965044602e-29, "-2E-29", "%+4.0G",
-__LINE__, -1.997833122667050e+26, "-1.99783E+26", "%G",
-__LINE__, -1.999453681184129e-10, "-0.00000", "%.5f",
-__LINE__, -1.999897345839745e-16, "-1.9999e-16", "%g",
-__LINE__, -2.003703825123989e-22, "-0.000000", "%f",
-__LINE__, -2.004569188274957e-23, "-2.00457E-23", "%G",
-__LINE__, -2.005911883189058e+07, "-2.00591E+07", "%G",
-__LINE__, -2.006438312005722e-25, "-2.006e-25", "%0.4g",
-__LINE__, -2.017322171210280e+18, "-2.01732E+18", "%+0G",
-__LINE__, -2.017718635819594e-06, "-2.01772e-06", "%5g",
-__LINE__, -2.019187445568160e-12, "-0.00", "%.2f",
-__LINE__, -2.021022665608503e+25, "-20210226656085028551501636.684", "%2.3f",
-__LINE__, -2.022720393474145e+07, "-2.02272E+07", "%#G",
-__LINE__, -2.024506694471065e+23, "-2.02451E+23", "%G",
-__LINE__, -2.024884686553821e-15, " -2e-15", "%7.g",
-__LINE__, -2.027484636128966e-23, "-2.0275E-23", "%.5G",
-__LINE__, -2.028185530467237e+21, "-2028185530467237374097.067", "%+4.3f",
-__LINE__, -2.028388905566873e-09, "-0.000000", "%f",
-__LINE__, -2.029856507431584e-17, "-2.02986E-17", "%G",
-__LINE__, -2.029891733449167e+27, "-2029891733449166846270372843.7190875", "%3.7f",
-__LINE__, -2.031933616694469e+14, "-2.031934E+14", "%#E",
-__LINE__, -2.034011738471413e-10, "-2.03401E-10", "%#G",
-__LINE__, -2.036087355975756e+29, "-203608735597575574161055556032.806635", "%+f",
-__LINE__, -2.036355025137273e+09, "-2.036355E+09", "%#.7G",
-__LINE__, -2.038423730536878e+12, "-2E+12", "%4.G",
-__LINE__, -2.045209202278810e+23, "-2.045209e+23", "%+#e",
-__LINE__, -2.046794083517423e-06, "-2.04679e-06", "%g",
-__LINE__, -2.048042459678599e-19, "-0.000000", "%f",
-__LINE__, -2.050526462096153e+18, "-2.05053e+18", "%+g",
-__LINE__, -2.053583900249402e+13, "-2.053584e+13", "%0.7g",
-__LINE__, -2.054342100957522e-23, "-2.05434E-23", "%#G",
-__LINE__, -2.054793400141025e+11, "-205479340014.1", "%+2.1f",
-__LINE__, -2.059200689196498e-11, "-0.000000", "%#f",
-__LINE__, -2.060960692728114e-16, "-0.000000", "%+f",
-__LINE__, -2.061417528654300e-30, "-2.06E-30", "%.3G",
-__LINE__, -2.061513401198340e-29, "-2.06151e-29", "%7g",
-__LINE__, -2.061846698845984e+27, "-2.061847E+27", "%E",
-__LINE__, -2.063922242876789e-19, "-2.06392e-19", "%#g",
-__LINE__, -2.065359431805529e+03, "-2065.359432", "%f",
-__LINE__, -2.065529069992156e-04, "-0.000206553", "%+G",
-__LINE__, -2.066082546490980e-25, "-2.06608e-25", "%5g",
-__LINE__, -2.068394312095200e+17, "-2.068394e+17", "%e",
-__LINE__, -2.071024178556425e-10, "-2.07102E-10", "%G",
-__LINE__, -2.074401605950382e-22, "-2.07e-22", "%1.3g",
-__LINE__, -2.074731895144874e-26, "-2.07473E-26", "%G",
-__LINE__, -2.074895800882730e+18, "-2074895800882730068.082083", "%+f",
-__LINE__, -2.077336220500764e-30, "-0", "%2.f",
-__LINE__, -2.078067878561077e+09, "-2.0781e+09", "%0.5g",
-__LINE__, -2.080497889634533e+15, "-2.080498E+15", "%4E",
-__LINE__, -2.084717279367594e-21, "-2.08472e-21", "%+g",
-__LINE__, -2.087827915301948e+29, "-2E+29", "%6.1G",
-__LINE__, -2.090268686389680e+05, "-2.090269e+05", "%1e",
-__LINE__, -2.092036176589720e+24, "-2.09204e+24", "%+g",
-__LINE__, -2.093546373938615e-21, "-2.093546e-21", "%#e",
-__LINE__, -2.101302069316682e+18, "-2.1013e+18", "%+7g",
-__LINE__, -2.103463622286002e-13, "-2.103464E-13", "%E",
-__LINE__, -2.105622845016732e+06, "-2105622.845017", "%1f",
-__LINE__, -2.109999123037767e+28, "-2.11E+28", "%.2E",
-__LINE__, -2.110317013992166e+04, "-21103.2", "%+g",
-__LINE__, -2.112226142154618e+21, "-2112226142154617569702.", "%#6.f",
-__LINE__, -2.112519484486528e+06, "-2.11252E+06", "%G",
-__LINE__, -2.113439260812000e+23, "-2E+23", "%1.G",
-__LINE__, -2.113465893194608e-15, "-2.1135E-15", "%.5G",
-__LINE__, -2.113547784669409e+20, "-2.1135e+20", "%2.5g",
-__LINE__, -2.114146001321822e+28, "-2.114146e+28", "%e",
-__LINE__, -2.114509425574444e-30, " -0", "%4.f",
-__LINE__, -2.114887421659561e-21, "-0.000000", "%+f",
-__LINE__, -2.121120215127601e+21, "-2121120215127601404958.5683097", "%.7f",
-__LINE__, -2.122555390665796e+06, "-2E+06", "%0.G",
-__LINE__, -2.123468430242052e-27, "-0.000000", "%+f",
-__LINE__, -2.123473598890635e+28, "-2.12347e+28", "%+g",
-__LINE__, -2.124328049748190e-04, "-2.124328E-04", "%E",
-__LINE__, -2.125633890999010e+28, "-2E+28", "%+5.G",
-__LINE__, -2.125697963566045e+21, "-2.1257E+21", "%0G",
-__LINE__, -2.127638109230109e+06, "-2.12764e+06", "%+6g",
-__LINE__, -2.128456114617786e+07, "-2.128456E+07", "%E",
-__LINE__, -2.128732742932824e-04, "-2.128733E-04", "%#E",
-__LINE__, -2.129654381588404e+27, "-2129654381588404365999167566.7697564", "%+.7f",
-__LINE__, -2.129792795009985e+20, "-2.12979e+20", "%g",
-__LINE__, -2.131026925664619e-20, "-2e-20", "%.0e",
-__LINE__, -2.132860730144188e-04, "-0.0002", "%5.g",
-__LINE__, -2.133620979309562e+06, "-2e+06", "%3.e",
-__LINE__, -2.133821423139120e-27, "-2.13382E-27", "%.6G",
-__LINE__, -2.134253401425940e-07, "-0.000000", "%f",
-__LINE__, -2.135469568156964e-29, "-2.135470E-29", "%+7E",
-__LINE__, -2.135723595288365e-25, "-0.0", "%.1f",
-__LINE__, -2.137642458920094e-09, "-2.13764e-09", "%g",
-__LINE__, -2.143412361116583e+12, "-2.14341e+12", "%+g",
-__LINE__, -2.144467087741129e-17, "-2.14447e-17", "%+g",
-__LINE__, -2.145726966596964e-11, "-0.000000", "%2f",
-__LINE__, -2.148318753042597e+08, "-2.14832E+08", "%5G",
-__LINE__, -2.149932310549644e-19, "-2.14993e-19", "%g",
-__LINE__, -2.150050917377646e-21, " -0", "%3.f",
-__LINE__, -2.150854313643430e-16, "-0.000000", "%.6f",
-__LINE__, -2.151071797121845e+00, "-2.15107", "%+g",
-__LINE__, -2.158728406865981e+14, "-215872840686598.088666", "%7f",
-__LINE__, -2.166062878011641e-23, "-2.166063e-23", "%e",
-__LINE__, -2.167045002060684e+12, "-2.167045E+12", "%E",
-__LINE__, -2.173752581051530e+20, "-217375258105153035259.604621", "%f",
-__LINE__, -2.175599129057555e+24, "-2.175599E+24", "%E",
-__LINE__, -2.176564454093042e-02, "-0.0217656", "%+G",
-__LINE__, -2.181270774327071e-12, "-0.000000", "%#1f",
-__LINE__, -2.184404769844158e-09, "-2.2E-09", "%+.2G",
-__LINE__, -2.184881476334310e-07, "-2.18488e-07", "%g",
-__LINE__, -2.189197211449684e-11, "-2E-11", "%.0G",
-__LINE__, -2.189451286805190e+20, "-218945128680519029984", "%3.f",
-__LINE__, -2.190642494146884e-27, " -0.", "%#4.f",
-__LINE__, -2.194727956725854e+06, "-2.19E+06", "%.3G",
-__LINE__, -2.196145868303877e+11, "-219614586830.387726", "%+5f",
-__LINE__, -2.196397972262690e-16, "-0.000000", "%3f",
-__LINE__, -2.202692843474668e-01, "-2.203e-01", "%.3e",
-__LINE__, -2.204528684782451e-21, "-2.20453E-21", "%G",
-__LINE__, -2.214926838821340e-16, "-2e-16", "%+2.g",
-__LINE__, -2.215558986352773e+18, "-2215558986352773374", "%0.f",
-__LINE__, -2.216976693056186e+27, "-2216976693056186498154147557.215765", "%f",
-__LINE__, -2.217348422793322e+13, "-2.21735E+13", "%6G",
-__LINE__, -2.217732695583920e-07, "-0", "%.0f",
-__LINE__, -2.221185494767834e-14, "-2.22119e-14", "%g",
-__LINE__, -2.224557193699609e-16, "-2.224557E-16", "%E",
-__LINE__, -2.227417758704028e-18, "-0.000000", "%0f",
-__LINE__, -2.231261655673006e-30, "-2.231262E-30", "%E",
-__LINE__, -2.233081938836160e+21, "-2233081938836160240668.960", "%+6.3f",
-__LINE__, -2.233158918439853e+05, "-223316", "%2G",
-__LINE__, -2.233802298007898e-30, "-2.2338E-30", "%2G",
-__LINE__, -2.233864858404732e+17, "-223386485840473181.241350", "%f",
-__LINE__, -2.241242805107749e+14, "-2.24124E+14", "%G",
-__LINE__, -2.244555498855249e+25, "-2.24456E+25", "%#G",
-__LINE__, -2.248170665127481e-07, "-2.248171E-07", "%E",
-__LINE__, -2.252558275567388e-13, "-2.25256e-13", "%g",
-__LINE__, -2.256190083496001e+13, "-22561900834960.0136398", "%7.7f",
-__LINE__, -2.259851596715945e+27, "-2.259852e+27", "%e",
-__LINE__, -2.260461480001174e-21, "-0.000000", "%f",
-__LINE__, -2.264128628428577e+22, "-2.26413e+22", "%1g",
-__LINE__, -2.265914518399595e-04, "-0.000226591", "%G",
-__LINE__, -2.266251557092826e+23, "-2.26625e+23", "%g",
-__LINE__, -2.268592252572450e+19, "-2.268592e+19", "%2.6e",
-__LINE__, -2.268597523847349e+11, "-2.2686e+11", "%g",
-__LINE__, -2.268963106935546e+05, "-226896", "%+g",
-__LINE__, -2.272527876808919e-24, "-0.000000", "%#f",
-__LINE__, -2.273366440479073e+02, "-227.337", "%g",
-__LINE__, -2.277858038556191e+25, "-2.28E+25", "%0.3G",
-__LINE__, -2.282019915623415e+25, "-2E+25", "%5.E",
-__LINE__, -2.283333247435650e-27, " -0", "%4.f",
-__LINE__, -2.285230610829355e+23, "-2E+23", "%2.G",
-__LINE__, -2.290900253402985e+23, "-2.2909E+23", "%G",
-__LINE__, -2.293266953268186e+08, "-2.29327e+08", "%g",
-__LINE__, -2.293489603164786e+23, "-229348960316478578391752.3076525", "%4.7f",
-__LINE__, -2.294434667605481e+15, "-2.2944E+15", "%.5G",
-__LINE__, -2.296607768466765e+21, "-2.29661E+21", "%G",
-__LINE__, -2.297449967994012e+14, "-229744996799401.23542", "%+.5f",
-__LINE__, -2.301162556466583e-01, "-0.230116", "%+#2g",
-__LINE__, -2.301676246374004e+05, "-230168.", "%#g",
-__LINE__, -2.301976724487835e-01, "-0.230198", "%5G",
-__LINE__, -2.303269770571222e-15, "-2.303270e-15", "%.6e",
-__LINE__, -2.306451480495636e+23, "-2.30645E+23", "%G",
-__LINE__, -2.307659351219690e-17, "-0.000000", "%+3f",
-__LINE__, -2.309009762339430e+16, "-2.30901E+16", "%G",
-__LINE__, -2.309261751862100e+06, "-2309261.751862", "%+f",
-__LINE__, -2.309504876918634e-26, " -2E-26", "%7.E",
-__LINE__, -2.310910348147804e-26, "-2e-26", "%5.g",
-__LINE__, -2.317173552252235e+05, "-231717.4", "%.7g",
-__LINE__, -2.319517289618469e-23, "-2.31952E-23", "%+G",
-__LINE__, -2.320103195142527e+08, "-2.320103E+08", "%+E",
-__LINE__, -2.323523032125633e+24, "-2323523032125633491773442.07419", "%.5f",
-__LINE__, -2.326279126614399e-16, "-0.000000", "%f",
-__LINE__, -2.331393688620925e-09, "-2.33139e-09", "%#g",
-__LINE__, -2.334233527512469e+01, " -23", "%6.0f",
-__LINE__, -2.337418834112767e+24, " -2E+24", "%7.E",
-__LINE__, -2.339455293612118e+12, "-2339455293612.1", "%+.1f",
-__LINE__, -2.341930318143367e-18, "-2.E-18", "%#4.E",
-__LINE__, -2.346107614950921e-17, "-0.00000", "%+2.5f",
-__LINE__, -2.348356578807972e+23, "-2.34836e+23", "%g",
-__LINE__, -2.351485855138244e+19, "-2.351486e+19", "%+e",
-__LINE__, -2.362101647639198e-15, "-2.36210e-15", "%#g",
-__LINE__, -2.369743873030115e+08, "-2e+08", "%.1g",
-__LINE__, -2.371658164739356e+25, "-23716581647393559784120498.079574", "%f",
-__LINE__, -2.372427847607163e+28, "-2.37243E+28", "%G",
-__LINE__, -2.375465465294647e+11, "-2.375465e+11", "%e",
-__LINE__, -2.377128971572195e-18, "-0.0", "%1.1f",
-__LINE__, -2.380322448568089e-13, "-2.38032E-13", "%+#0G",
-__LINE__, -2.385960728264882e+26, "-2E+26", "%.0E",
-__LINE__, -2.387345744004747e+00, "-2.38735", "%G",
-__LINE__, -2.390480023300201e+25, "-2.39048e+25", "%g",
-__LINE__, -2.395420431930886e+23, "-2E+23", "%2.E",
-__LINE__, -2.401144663870969e-10, "-2.e-10", "%#6.g",
-__LINE__, -2.402787441215039e-08, "-2.40279e-08", "%g",
-__LINE__, -2.402990830425278e+08, "-2.40299E+08", "%G",
-__LINE__, -2.404213682932215e+08, "-2.40421e+08", "%2g",
-__LINE__, -2.409385592298822e+21, "-2409385592298821876511.283335", "%7f",
-__LINE__, -2.410798267658614e+13, "-2.4108e+13", "%+g",
-__LINE__, -2.413180068271811e-24, "-0.000000", "%+f",
-__LINE__, -2.413268457113495e+26, "-2.41327E+26", "%3.6G",
-__LINE__, -2.415341832206007e-13, "-0.000000", "%+f",
-__LINE__, -2.422519577068670e-08, "-0.0000000", "%.7f",
-__LINE__, -2.422533651282808e+20, "-2.42253E+20", "%#G",
-__LINE__, -2.422795006880671e+17, "-2.4228e+17", "%g",
-__LINE__, -2.423483330202008e+20, "-2.42348e+20", "%g",
-__LINE__, -2.431756009640369e-04, "-0.000243176", "%+#3g",
-__LINE__, -2.431878622534173e-05, "-0.000024", "%f",
-__LINE__, -2.432012113077180e+24, "-2.43201e+24", "%g",
-__LINE__, -2.433843704470487e+07, "-24338437", "%4.f",
-__LINE__, -2.435475755031956e+11, "-2.435476E+11", "%1E",
-__LINE__, -2.438081888695437e-13, "-0.000000", "%f",
-__LINE__, -2.438334590462860e+10, "-2.4E+10", "%5.2G",
-__LINE__, -2.440223135334059e+17, "-2.44022e+17", "%g",
-__LINE__, -2.444107281115317e-21, "-2.44411e-21", "%+g",
-__LINE__, -2.444582273206171e-02, " -0.02", "%7.G",
-__LINE__, -2.445234676352794e+23, "-2.44523e+23", "%#g",
-__LINE__, -2.449185020984714e+08, "-2.E+08", "%#2.G",
-__LINE__, -2.450646640466020e+22, "-2.45065E+22", "%5G",
-__LINE__, -2.456840850262473e+13, "-24568408502625", "%0.f",
-__LINE__, -2.464466865714499e-10, "-2e-10", "%6.g",
-__LINE__, -2.466022088999151e+27, "-2.46602E+27", "%G",
-__LINE__, -2.484398113119779e-04, "-2.484398E-04", "%E",
-__LINE__, -2.484591850456328e+23, "-248459185045632846566832.085955", "%+f",
-__LINE__, -2.488166252162446e-11, "-2.5E-11", "%4.2G",
-__LINE__, -2.493507313049390e+24, "-2.49E+24", "%4.3G",
-__LINE__, -2.500280281988428e+28, "-2.5E+28", "%.4G",
-__LINE__, -2.500373956445372e-07, "-2.50037e-07", "%g",
-__LINE__, -2.505566434769299e-12, "-2.5E-12", "%+#0.2G",
-__LINE__, -2.508215917020758e+05, "-2.508216e+05", "%5e",
-__LINE__, -2.519368094680315e-29, "-2.51937e-29", "%#0g",
-__LINE__, -2.522266530587753e-11, "-2.52227e-11", "%+g",
-__LINE__, -2.534492886372514e-06, "-2.53449E-06", "%0G",
-__LINE__, -2.534617610955074e-02, "-0.03", "%0.2f",
-__LINE__, -2.540551642835634e+26, "-3E+26", "%4.G",
-__LINE__, -2.548210731830516e-26, "-0.000", "%2.3f",
-__LINE__, -2.558868082397931e-11, "-3E-11", "%2.E",
-__LINE__, -2.560062512991052e+11, "-2.56006E+11", "%+G",
-__LINE__, -2.561274682814428e-05, "-0.000026", "%f",
-__LINE__, -2.563424949397357e-02, " -0", "%6.f",
-__LINE__, -2.577010939931465e+17, "-2.57701E+17", "%G",
-__LINE__, -2.578224879294822e+10, "-3E+10", "%+4.1G",
-__LINE__, -2.585655636750244e+13, "-2.585656e+13", "%+0.7g",
-__LINE__, -2.585657986834408e+14, "-2.5857e+14", "%3.5g",
-__LINE__, -2.586728929368101e+02, "-258.673", "%+g",
-__LINE__, -2.591293023229468e+06, "-2591293.0232295", "%2.7f",
-__LINE__, -2.592454222603538e-06, "-2.59245E-06", "%G",
-__LINE__, -2.599399905869649e+02, "-259.939991", "%f",
-__LINE__, -2.605382860307596e+12, "-2.60538E+12", "%2G",
-__LINE__, -2.607507689402762e-01, "-0.260751", "%#.6g",
-__LINE__, -2.612933252582967e+15, "-2.61293e+15", "%g",
-__LINE__, -2.614337505491483e-14, "-2.61434E-14", "%.6G",
-__LINE__, -2.618302263333671e+14, "-2.62e+14", "%3.3g",
-__LINE__, -2.622998533972296e+00, "-3.", "%#0.g",
-__LINE__, -2.623348319869643e-15, "-2.62335E-15", "%#G",
-__LINE__, -2.626703132693163e+23, "-3E+23", "%+6.E",
-__LINE__, -2.629610853765779e+25, "-2.62961E+25", "%+#G",
-__LINE__, -2.632993880472784e+26, "-2.63299E+26", "%G",
-__LINE__, -2.635651112327873e-20, "-2.63565E-20", "%1G",
-__LINE__, -2.636003980473492e-23, "-2.636E-23", "%G",
-__LINE__, -2.639316453244009e+10, "-26393164532.440094", "%#f",
-__LINE__, -2.640517223417942e-28, "-2.641e-28", "%.3e",
-__LINE__, -2.640625797147664e-22, "-2.640626E-22", "%E",
-__LINE__, -2.644401262524378e-12, " -0.000", "%7.3f",
-__LINE__, -2.651033203243637e-14, "-2.651033e-14", "%+e",
-__LINE__, -2.652386470126594e-24, "-2.652386E-24", "%E",
-__LINE__, -2.654281018623631e-12, "-0.00000", "%6.5f",
-__LINE__, -2.655529742118827e+02, "-265.552974", "%f",
-__LINE__, -2.658550833241620e+22, "-26585508332416196708436.473273", "%+f",
-__LINE__, -2.660515890519100e+08, "-2.660516E+08", "%E",
-__LINE__, -2.665025749266086e-24, "-2.66503E-24", "%G",
-__LINE__, -2.666117105643095e-20, "-2.66612e-20", "%g",
-__LINE__, -2.667051347741259e+11, "-3e+11", "%6.g",
-__LINE__, -2.667207607243375e+04, "-26672.076072", "%+#f",
-__LINE__, -2.667631877167590e+26, "-2.667632E+26", "%E",
-__LINE__, -2.673817942962878e+13, "-2.673818e+13", "%+2.6e",
-__LINE__, -2.674972907853507e+20, "-2.674973E+20", "%E",
-__LINE__, -2.675830887404867e+14, "-2.675831E+14", "%E",
-__LINE__, -2.682749918168908e+26, "-2.682750E+26", "%E",
-__LINE__, -2.689222801942679e-03, "-0.0027", "%7.2G",
-__LINE__, -2.692245629411156e+25, "-2.69225e+25", "%g",
-__LINE__, -2.692606702464273e+11, "-2.69261e+11", "%g",
-__LINE__, -2.693070822061136e-27, "-2.69307e-27", "%+g",
-__LINE__, -2.694415515655336e-30, "-3E-30", "%+3.0E",
-__LINE__, -2.694770057384739e+15, "-2.69477e+15", "%g",
-__LINE__, -2.699998392329361e+01, "-27", "%+.2g",
-__LINE__, -2.700151952281511e+23, "-270015195228151050343968.", "%+#5.f",
-__LINE__, -2.707398527302841e-08, "-2.70740e-08", "%+#3g",
-__LINE__, -2.711404950850030e-21, "-2.71E-21", "%.2E",
-__LINE__, -2.714057739024281e-10, "-2.714e-10", "%.4g",
-__LINE__, -2.717657632815414e-10, "-2.71766e-10", "%g",
-__LINE__, -2.720875786430592e-09, "-2.7E-09", "%6.2G",
-__LINE__, -2.725886730997891e+19, "-2.72589e+19", "%g",
-__LINE__, -2.726089169748676e-09, "-2.72609E-09", "%+G",
-__LINE__, -2.732907572038661e-30, "-2.73291E-30", "%G",
-__LINE__, -2.737918050958789e+11, "-3e+11", "%1.g",
-__LINE__, -2.739024251198484e-18, "-2.73902e-18", "%+g",
-__LINE__, -2.742646144452305e+13, "-2.74265e+13", "%g",
-__LINE__, -2.742911865386719e+06, "-3E+06", "%+5.G",
-__LINE__, -2.759159275123811e-30, "-0.000000", "%+f",
-__LINE__, -2.759794813930001e-21, "-2.75979e-21", "%+g",
-__LINE__, -2.763243077558348e+20, "-2.7632E+20", "%+0.4E",
-__LINE__, -2.770348477810209e-14, "-0.000000", "%2f",
-__LINE__, -2.776074766292453e+05, "-277607", "%g",
-__LINE__, -2.776610811432007e-07, "-2.77661E-07", "%6G",
-__LINE__, -2.778673793270678e+23, "-3E+23", "%+4.E",
-__LINE__, -2.782405168708350e+08, "-278240516.87084", "%.5f",
-__LINE__, -2.783316149365198e-09, "-3E-09", "%5.0G",
-__LINE__, -2.785436703085409e-27, "-2.78544E-27", "%#G",
-__LINE__, -2.787479051660640e+21, "-2.78748e+21", "%g",
-__LINE__, -2.789445406042450e-03, "-0.002789", "%+f",
-__LINE__, -2.791104581836077e+05, "-279110.4581836", "%+7.7f",
-__LINE__, -2.802078617775784e+04, "-28020.786", "%0.3f",
-__LINE__, -2.804954315579055e+20, "-2.80495E+20", "%G",
-__LINE__, -2.806575341862696e-05, "-2.80658E-05", "%G",
-__LINE__, -2.807769556900402e-06, "-0.000003", "%+#f",
-__LINE__, -2.808882056357941e-12, "-0.0", "%.1f",
-__LINE__, -2.809386677339924e+10, "-2.8094E+10", "%6.5G",
-__LINE__, -2.818404311437694e+19, "-3E+19", "%6.G",
-__LINE__, -2.819463285551660e+01, "-28.1946", "%+G",
-__LINE__, -2.821428853207724e-16, "-3e-16", "%6.g",
-__LINE__, -2.824452750788444e+07, "-3e+07", "%+2.g",
-__LINE__, -2.825430381094971e+28, "-3e+28", "%+.0e",
-__LINE__, -2.830010928384944e-17, "-0", "%.0f",
-__LINE__, -2.832505114479680e-09, "-0.000000", "%f",
-__LINE__, -2.833246604950796e+13, "-2.83325E+13", "%G",
-__LINE__, -2.833274073265017e+13, "-28332740732650.174564", "%f",
-__LINE__, -2.835842581787797e+07, "-2.83584E+07", "%2G",
-__LINE__, -2.839758384681983e-07, "-2.83976E-07", "%.6G",
-__LINE__, -2.841077022753766e-09, "-3E-09", "%0.1G",
-__LINE__, -2.845307294930682e+00, "-2.845307e+00", "%+1e",
-__LINE__, -2.847420163874243e+19, "-2.8e+19", "%1.2g",
-__LINE__, -2.848133715109881e-25, "-2.848134E-25", "%E",
-__LINE__, -2.850208101288058e-06, "-2.8502E-06", "%+5.4E",
-__LINE__, -2.853666525870413e+04, "-28536.665259", "%f",
-__LINE__, -2.855661543202034e+21, "-2.85566e+21", "%g",
-__LINE__, -2.859528889324159e-08, "-2.859529e-08", "%3e",
-__LINE__, -2.860545310690251e+29, "-3e+29", "%.1g",
-__LINE__, -2.863576633666884e-14, "-2.863577e-14", "%+5e",
-__LINE__, -2.864115740396321e-14, "-2.86412e-14", "%g",
-__LINE__, -2.864481979037153e+20, "-2.86E+20", "%3.3G",
-__LINE__, -2.867582970177984e-18, "-0.000000", "%f",
-__LINE__, -2.868237707901564e+25, "-3E+25", "%6.E",
-__LINE__, -2.871741071402520e+13, "-3e+13", "%.1g",
-__LINE__, -2.873724610073364e+18, "-2873724610073364438.278531", "%+#f",
-__LINE__, -2.876433859770866e-25, "-2.87643e-25", "%g",
-__LINE__, -2.877458587075737e-08, "-2.877E-08", "%+.4G",
-__LINE__, -2.883349842927101e+24, "-2.883350E+24", "%2E",
-__LINE__, -2.883749925642885e+09, "-2.883750e+09", "%e",
-__LINE__, -2.883773835633003e-17, "-0.000000", "%+f",
-__LINE__, -2.890389090491409e+24, "-2890389090491409262995148.310438", "%#1f",
-__LINE__, -2.900848552225810e-11, "-0.000000", "%+f",
-__LINE__, -2.911942123176400e+25, "-29119421231764004431852300", "%0.f",
-__LINE__, -2.912904462180751e-18, "-2.9129E-18", "%6G",
-__LINE__, -2.917717875075651e+26, "-3e+26", "%0.e",
-__LINE__, -2.922293201084093e-26, "-2.922293E-26", "%E",
-__LINE__, -2.925070319932451e-30, "-0.000000", "%f",
-__LINE__, -2.926558572870874e+15, "-2.926559E+15", "%E",
-__LINE__, -2.928781435877896e+26, "-2.928781e+26", "%+e",
-__LINE__, -2.930178318110376e+28, "-2.930178E+28", "%E",
-__LINE__, -2.930984661925819e+05, "-293098.5", "%.7G",
-__LINE__, -2.932762424932762e-08, "-0.000000", "%#f",
-__LINE__, -2.933415597492494e+10, "-29334155974.924943", "%+#2f",
-__LINE__, -2.933564314850986e+29, "-2.93356E+29", "%7G",
-__LINE__, -2.943224907893795e+10, "-2.943225E+10", "%+7E",
-__LINE__, -2.945311540471221e+19, "-2.94531E+19", "%#G",
-__LINE__, -2.945812356522847e+15, "-2.94581e+15", "%+g",
-__LINE__, -2.945836999630957e+00, "-2.945837E+00", "%E",
-__LINE__, -2.947798782726622e-01, "-0.29478", "%+g",
-__LINE__, -2.948958405827917e+18, "-2.94896e+18", "%g",
-__LINE__, -2.949790871798059e-11, "-2.94979E-11", "%G",
-__LINE__, -2.950347806125225e-12, "-2.95035e-12", "%g",
-__LINE__, -2.952781884599368e-29, "-2.952782E-29", "%+E",
-__LINE__, -2.956801341442716e+06, "-2.9568E+06", "%G",
-__LINE__, -2.957469310356540e-07, "-0.000", "%1.3f",
-__LINE__, -2.960464869534870e-23, "-2.96046E-23", "%G",
-__LINE__, -2.962339381825446e-07, "-0", "%1.f",
-__LINE__, -2.971013180028710e+22, "-2.971e+22", "%3.5g",
-__LINE__, -2.975167862441254e+07, "-2.97517e+07", "%g",
-__LINE__, -2.976018424339993e+16, "-2.976018e+16", "%3e",
-__LINE__, -2.979173094835454e+29, "-2.97917E+29", "%G",
-__LINE__, -2.983135249987541e-03, "-0.00298314", "%+G",
-__LINE__, -2.985142444917919e-24, "-2.985142E-24", "%+#7E",
-__LINE__, -2.988680953635159e-14, "-0.0000000", "%2.7f",
-__LINE__, -2.989629778079379e+04, "-29896.297781", "%f",
-__LINE__, -2.991274275137276e+19, "-29912742751372762839.423558", "%+4f",
-__LINE__, -2.991286396006024e-06, "-2.99129e-06", "%4g",
-__LINE__, -2.993310397844811e+04, "-2.993310E+04", "%3.6E",
-__LINE__, -2.994669852410861e-29, "-2.99467E-29", "%G",
-__LINE__, -2.996082093034831e+27, "-2.996082e+27", "%1e",
-__LINE__, -2.999783904575110e+16, "-2.999784E+16", "%#E",
-__LINE__, -3.012019221956988e+25, "-3.012019E+25", "%E",
-__LINE__, -3.014211917706622e-25, "-0.000000", "%+f",
-__LINE__, -3.015149723683428e-19, "-3.01515E-19", "%G",
-__LINE__, -3.022158478004638e-19, "-3.02216e-19", "%6g",
-__LINE__, -3.022825518373900e-12, "-3.0228E-12", "%+.4E",
-__LINE__, -3.025108924057340e-19, "-0.000000", "%f",
-__LINE__, -3.026316824631967e+24, "-3026316824631966717618070.106255", "%1f",
-__LINE__, -3.033074643529623e-13, "-3.03307e-13", "%g",
-__LINE__, -3.035292960731141e+24, "-3035292960731141409524980.190326", "%f",
-__LINE__, -3.043291272956732e-13, "-3.04329e-13", "%#g",
-__LINE__, -3.045216723973715e-23, "-3.045e-23", "%.4g",
-__LINE__, -3.047140976048835e+09, "-3.04714E+09", "%3.5E",
-__LINE__, -3.047680278470886e+09, "-3.047680E+09", "%#E",
-__LINE__, -3.048465807963461e+05, "-304847", "%g",
-__LINE__, -3.050904753556756e+22, "-3.0509E+22", "%G",
-__LINE__, -3.052845748999047e-13, "-3.05285e-13", "%g",
-__LINE__, -3.053395231883620e-06, "-3E-06", "%2.G",
-__LINE__, -3.054894203375445e-28, "-3e-28", "%2.g",
-__LINE__, -3.055080347760755e-13, "-0", "%2.f",
-__LINE__, -3.055513037393624e-29, "-3e-29", "%3.g",
-__LINE__, -3.056198778208295e-06, "-3.0562e-06", "%g",
-__LINE__, -3.057813660266980e-21, "-3E-21", "%1.G",
-__LINE__, -3.059687036330998e-11, "-3.1E-11", "%#2.2G",
-__LINE__, -3.061450385559094e-10, "-3.06145E-10", "%G",
-__LINE__, -3.066605713361383e-27, "-0.000000", "%f",
-__LINE__, -3.071590110813156e+22, "-3.07159E+22", "%G",
-__LINE__, -3.073253864426931e+26, "-3.0733E+26", "%.5G",
-__LINE__, -3.078998328596940e+07, "-3.079e+07", "%5.4g",
-__LINE__, -3.082733887951920e+06, "-3.082734e+06", "%+6e",
-__LINE__, -3.084365358064710e+24, "-3.084365E+24", "%#E",
-__LINE__, -3.086948022123716e+25, "-30869480221237162176350921.072299", "%+f",
-__LINE__, -3.088200214218024e-10, "-0", "%0.f",
-__LINE__, -3.093442983942874e+08, "-309344298.394287", "%f",
-__LINE__, -3.103573455403534e-09, "-3.103573E-09", "%#E",
-__LINE__, -3.109178443120997e+07, "-31091784.431210", "%f",
-__LINE__, -3.111494549914917e+28, "-3e+28", "%0.g",
-__LINE__, -3.113384020517480e-17, " -0", "%+6.f",
-__LINE__, -3.121622779718055e+14, "-312162277971805.491", "%+.3f",
-__LINE__, -3.122780443843900e-01, "-0.312278", "%#g",
-__LINE__, -3.122952438335638e-25, "-3.122952E-25", "%E",
-__LINE__, -3.128970339463168e-18, "-3e-18", "%3.g",
-__LINE__, -3.130862507719335e+10, "-3.130863e+10", "%3e",
-__LINE__, -3.145960838955379e+03, "-3145.96", "%g",
-__LINE__, -3.149362645138929e+21, "-3.14936e+21", "%g",
-__LINE__, -3.150697168664913e+26, "-315069716866491322804222363.629378", "%+f",
-__LINE__, -3.157946785041287e+05, "-3.1579e+05", "%.4e",
-__LINE__, -3.158347006986809e-02, "-3.E-02", "%#.0E",
-__LINE__, -3.159542871923388e+07, "-31595429", "%2.f",
-__LINE__, -3.169997512351985e+15, "-3.169998E+15", "%6.7G",
-__LINE__, -3.170971776544746e+07, "-31709717.765447", "%f",
-__LINE__, -3.173246079104466e+19, "-3.173246E+19", "%1E",
-__LINE__, -3.173581228658553e-02, "-0.03", "%+0.G",
-__LINE__, -3.187598864929850e-07, "-3.18760E-07", "%#G",
-__LINE__, -3.190525302270244e+08, "-3.190525e+08", "%+0.7g",
-__LINE__, -3.191879884186422e+19, "-3.19E+19", "%.2E",
-__LINE__, -3.197292604744926e+02, "-3.197293e+02", "%+e",
-__LINE__, -3.203713337688838e-12, "-3.20371E-12", "%6G",
-__LINE__, -3.204416889544914e-18, "-0.000000", "%+f",
-__LINE__, -3.204494471917096e+09, "-3.20449e+09", "%g",
-__LINE__, -3.211933195516720e+11, "-3.21193E+11", "%G",
-__LINE__, -3.214544021431917e-24, "-0.000000", "%1f",
-__LINE__, -3.215501229487004e-07, "-3e-07", "%3.e",
-__LINE__, -3.232157492322707e-13, "-3.E-13", "%+#5.G",
-__LINE__, -3.239074974455177e-05, "-3.239e-05", "%2.4g",
-__LINE__, -3.243083730801156e-24, "-3.243084e-24", "%#e",
-__LINE__, -3.243128583394124e+07, "-32431285.8339", "%6.4f",
-__LINE__, -3.247997999770571e-08, "-3e-08", "%5.e",
-__LINE__, -3.258251054563991e-15, "-3.2583E-15", "%.5G",
-__LINE__, -3.259499053187446e+07, "-3.2595E+07", "%5.6G",
-__LINE__, -3.261907782031174e+20, "-3.3e+20", "%.2g",
-__LINE__, -3.263979380855122e+29, "-3.26398E+29", "%G",
-__LINE__, -3.264166546402073e+06, "-3.26417E+06", "%5G",
-__LINE__, -3.269357648926951e+01, "-3.E+01", "%#5.G",
-__LINE__, -3.273523287028019e-30, "-3.27352e-30", "%g",
-__LINE__, -3.274464331526264e-14, "-3e-14", "%.0g",
-__LINE__, -3.276647049958546e+05, "-327664.7", "%+.1f",
-__LINE__, -3.276853612008326e-04, "-3.276854e-04", "%e",
-__LINE__, -3.288077788905925e+17, "-3.28808e+17", "%g",
-__LINE__, -3.292054327509010e+21, "-3.29205e+21", "%+g",
-__LINE__, -3.292086868337041e-16, " -0", "%7.f",
-__LINE__, -3.299368070005327e-17, "-3E-17", "%5.G",
-__LINE__, -3.307165537474566e-30, "-3e-30", "%+2.g",
-__LINE__, -3.310556325973673e-17, "-3.31056E-17", "%G",
-__LINE__, -3.315407318453138e-09, "-3.315407e-09", "%+#.6e",
-__LINE__, -3.318402800998018e-09, "-3.3184E-09", "%+G",
-__LINE__, -3.324277622889107e-04, "-0.000332428", "%G",
-__LINE__, -3.326372457131185e+14, "-3.326372e+14", "%0e",
-__LINE__, -3.333300611287597e+18, "-3.3E+18", "%4.2G",
-__LINE__, -3.333608976277018e-25, "-3.33361e-25", "%g",
-__LINE__, -3.333613056182724e-24, "-3.33361e-24", "%.5e",
-__LINE__, -3.338505874378410e-26, "-0.00000", "%.5f",
-__LINE__, -3.339838772519661e+24, "-3.3398E+24", "%0.5G",
-__LINE__, -3.354802735583258e-27, "-3.3548E-27", "%G",
-__LINE__, -3.356542080644329e+15, "-3356542080644329.129058", "%#f",
-__LINE__, -3.360027692463026e-29, "-3.36003e-29", "%+g",
-__LINE__, -3.361845657814323e+06, "-3361845.657814", "%f",
-__LINE__, -3.363135493765816e-12, " -0", "%5.f",
-__LINE__, -3.367383112102258e+19, "-33673831121022579360.158034", "%f",
-__LINE__, -3.376798505037497e+03, "-3376.8", "%+3G",
-__LINE__, -3.388170639372559e+09, "-3.388171e+09", "%+e",
-__LINE__, -3.397304185715499e-12, "-3.397304e-12", "%+e",
-__LINE__, -3.401559374016378e-13, "-3.40156e-13", "%g",
-__LINE__, -3.402651870178825e+21, "-3.40265e+21", "%+g",
-__LINE__, -3.410491213537530e+12, "-3.41049E+12", "%G",
-__LINE__, -3.411695570460075e-01, "-3.411696e-01", "%e",
-__LINE__, -3.417311435719220e+29, "-3.4E+29", "%3.1E",
-__LINE__, -3.417581063208165e-23, " -0", "%+4.f",
-__LINE__, -3.424005615113663e-28, "-0.000000", "%f",
-__LINE__, -3.424793585094130e-12, "-0.000000", "%f",
-__LINE__, -3.434733077762304e-05, "-3.43473e-05", "%g",
-__LINE__, -3.436384988494743e+08, "-3.43638E+08", "%G",
-__LINE__, -3.441082995163884e-21, "-0.000000", "%f",
-__LINE__, -3.442868661576827e-23, "-3.442869e-23", "%#.7g",
-__LINE__, -3.444337521046186e+13, "-3.44434E+13", "%#G",
-__LINE__, -3.448230173418967e-28, "-3.44823E-28", "%#G",
-__LINE__, -3.448523828225326e-21, "-3.4485e-21", "%.4e",
-__LINE__, -3.449876796754720e-07, "-3.44988e-07", "%g",
-__LINE__, -3.450163790411588e+25, "-34501637904115876054333966.749255", "%2f",
-__LINE__, -3.450224454406567e-26, "-3.450224E-26", "%#1E",
-__LINE__, -3.459930768422874e-28, "-3.46E-28", "%2.3G",
-__LINE__, -3.460730505022601e-28, "-3.46073e-28", "%#g",
-__LINE__, -3.462894265593946e-10, "-3.46289e-10", "%+#g",
-__LINE__, -3.464808359229496e+05, "-346481", "%6.6G",
-__LINE__, -3.467272303652620e-03, "-0.00346727", "%g",
-__LINE__, -3.468252706910251e+10, "-3.5E+10", "%#7.2G",
-__LINE__, -3.473623965680253e+27, "-3.47362e+27", "%g",
-__LINE__, -3.474527926009729e+11, "-3.475E+11", "%.4G",
-__LINE__, -3.476489048299929e+15, "-3.47649e+15", "%g",
-__LINE__, -3.477809698895344e-09, "-0.000", "%+.3f",
-__LINE__, -3.493008398637667e-28, " -0", "%+4.f",
-__LINE__, -3.497441286691613e+07, "-3.49744e+07", "%g",
-__LINE__, -3.500904660533358e+00, "-3.500905E+00", "%+1E",
-__LINE__, -3.504996054364915e+25, "-3.505e+25", "%+g",
-__LINE__, -3.507738629125434e-24, "-0.00", "%+4.2f",
-__LINE__, -3.508557770253211e-04, "-3.508558e-04", "%#6e",
-__LINE__, -3.516056824437550e+20, "-3.516057e+20", "%#e",
-__LINE__, -3.521102917733367e+02, "-352.11", "%g",
-__LINE__, -3.523948985825251e+10, "-3.52395e+10", "%+g",
-__LINE__, -3.525281835697895e-15, "-3.525282e-15", "%e",
-__LINE__, -3.534088845494570e-26, "-0.000000", "%2f",
-__LINE__, -3.541002442741569e+01, "-35.410", "%3.3f",
-__LINE__, -3.541126630345017e-19, "-3.541127e-19", "%e",
-__LINE__, -3.545277845967514e-17, "-0.000000", "%f",
-__LINE__, -3.560935430637329e-12, "-3.56094E-12", "%G",
-__LINE__, -3.564234584447659e-23, "-3.56423E-23", "%G",
-__LINE__, -3.576040378379921e-11, "-0.000000", "%+6f",
-__LINE__, -3.578133580350674e-05, "-3.578134e-05", "%#e",
-__LINE__, -3.584484015191491e-28, "-0.0", "%+2.1f",
-__LINE__, -3.591961845146752e+27, "-3.59196E+27", "%G",
-__LINE__, -3.602508380305001e+26, "-3.60251e+26", "%g",
-__LINE__, -3.603113449808132e+04, "-36031.134498", "%+3.6f",
-__LINE__, -3.605569849504628e+25, "-4E+25", "%6.G",
-__LINE__, -3.611297754851416e+05, "-361129.775485", "%+f",
-__LINE__, -3.613177909959201e-28, "-0.000000", "%f",
-__LINE__, -3.616261225230595e-01, "-0.361626", "%3g",
-__LINE__, -3.619203521536307e+09, "-3.6192E+09", "%G",
-__LINE__, -3.619316709131723e-27, "-0.0000000", "%.7f",
-__LINE__, -3.623100583082346e+28, "-3.6231E+28", "%+G",
-__LINE__, -3.626582653589919e+21, "-3626582653589918603387.332041", "%f",
-__LINE__, -3.626667540343067e-30, "-4.E-30", "%#.0G",
-__LINE__, -3.633539220625861e-30, "-3.634E-30", "%+.3E",
-__LINE__, -3.641655782149502e-11, "-3.64166E-11", "%G",
-__LINE__, -3.644523594046571e+25, "-3.64452e+25", "%5g",
-__LINE__, -3.645977605394108e+25, "-3.646e+25", "%+0.3e",
-__LINE__, -3.647864582248812e+13, "-4E+13", "%4.G",
-__LINE__, -3.655241667633056e-25, "-3.655242E-25", "%E",
-__LINE__, -3.662603655433297e+23, "-3.662604e+23", "%e",
-__LINE__, -3.668995445134158e+22, " -4E+22", "%7.G",
-__LINE__, -3.670006666569412e-11, "-3.670007e-11", "%e",
-__LINE__, -3.670510381138509e-24, "-3.670510e-24", "%e",
-__LINE__, -3.671283003268254e-20, "-3.67128E-20", "%G",
-__LINE__, -3.687760201176777e-13, "-3.68776E-13", "%G",
-__LINE__, -3.687983982100676e-14, "-0.00", "%.2f",
-__LINE__, -3.694808382827435e-12, "-3.694808E-12", "%#E",
-__LINE__, -3.696158520838821e+28, "-3.69616E+28", "%3G",
-__LINE__, -3.700911860811323e+18, "-3.70091e+18", "%+g",
-__LINE__, -3.701328314738669e+24, "-3.70133e+24", "%g",
-__LINE__, -3.707068461822151e-19, "-3.707068E-19", "%E",
-__LINE__, -3.710679411506914e+25, "-3.71068e+25", "%g",
-__LINE__, -3.713003840923896e-23, "-3.713e-23", "%7g",
-__LINE__, -3.717028397747828e-28, "-3.71703e-28", "%g",
-__LINE__, -3.728159642236442e+14, "-3.72816E+14", "%G",
-__LINE__, -3.731956233637010e+21, "-3.73196E+21", "%G",
-__LINE__, -3.742336623322610e+07, "-3.74234e+07", "%g",
-__LINE__, -3.748328269630045e+04, "-37483.3", "%G",
-__LINE__, -3.750803081283569e-27, "-3.7508E-27", "%+7G",
-__LINE__, -3.752021500826652e-04, "-0.0004", "%.1G",
-__LINE__, -3.755942257004103e-12, "-3.75594E-12", "%G",
-__LINE__, -3.765921235889045e+03, " -4e+03", "%+7.g",
-__LINE__, -3.772453135667801e-28, "-3.77245E-28", "%G",
-__LINE__, -3.776384200230367e+27, "-3.776e+27", "%1.4g",
-__LINE__, -3.787035870684945e-25, "-4E-25", "%+3.G",
-__LINE__, -3.798616350818839e-29, "-3.7986164e-29", "%.7e",
-__LINE__, -3.807178315238428e-15, "-0.000000", "%+#6f",
-__LINE__, -3.822059837967635e+18, "-3822059837967634621.236357", "%6.6f",
-__LINE__, -3.823553096022006e+12, "-3.82355e+12", "%g",
-__LINE__, -3.839198115259428e-23, "-0.000000", "%f",
-__LINE__, -3.846953640321746e+02, "-3.846954E+02", "%E",
-__LINE__, -3.852230696542361e+08, "-3.8522e+08", "%#.5g",
-__LINE__, -3.861139362195314e-25, "-3.86114E-25", "%2G",
-__LINE__, -3.873388618099769e+09, "-3873388618", "%0.0f",
-__LINE__, -3.874161550543817e+15, "-3.874162e+15", "%+e",
-__LINE__, -3.874527935469425e+20, "-3.87E+20", "%3.3G",
-__LINE__, -3.878069577893697e-30, "-3.878070E-30", "%#E",
-__LINE__, -3.878852490397702e-20, "-3.87885e-20", "%g",
-__LINE__, -3.879688342272101e-10, "-0.00", "%#4.2f",
-__LINE__, -3.879797428399897e+03, "-3880", "%1.4g",
-__LINE__, -3.881588804766756e+00, "-3.9", "%+4.2G",
-__LINE__, -3.889377318111182e+01, "-38.8938", "%+.4f",
-__LINE__, -3.893444523430385e-03, "-0.004", "%+2.g",
-__LINE__, -3.894912141515856e+03, "-3894.91", "%+g",
-__LINE__, -3.905279115773667e+04, "-39052.791158", "%f",
-__LINE__, -3.905333955484919e-20, "-3.90533E-20", "%G",
-__LINE__, -3.906559442060730e+27, "-3906559442060730447110472596.250474", "%f",
-__LINE__, -3.909396469655334e-26, "-3.91E-26", "%.3G",
-__LINE__, -3.920132491092364e+11, "-3.92013e+11", "%g",
-__LINE__, -3.935651497471973e+27, "-3935651497471972604103029880", "%5.f",
-__LINE__, -3.939742577853889e-03, "-0.004", "%5.G",
-__LINE__, -3.943284017088198e+19, "-39432840170881981123.3", "%.1f",
-__LINE__, -3.947452186327660e+09, "-3947452186.33", "%0.2f",
-__LINE__, -3.951967237553488e+18, "-3951967237553488132.562052", "%f",
-__LINE__, -3.953673427359789e-28, "-3.954E-28", "%3.4G",
-__LINE__, -3.956044867371602e+23, "-4e+23", "%+6.1g",
-__LINE__, -3.965038994251913e-20, "-3.96504e-20", "%g",
-__LINE__, -3.970527677577937e+05, "-4.e+05", "%#0.1g",
-__LINE__, -3.970717822164395e-20, "-3.970718e-20", "%6e",
-__LINE__, -3.978063834438912e-19, "-3.97806E-19", "%G",
-__LINE__, -3.982705395472599e+27, "-3.9827e+27", "%#.5g",
-__LINE__, -3.983486821352571e-28, "-3.98349e-28", "%g",
-__LINE__, -3.985470630230926e-14, "-4e-14", "%.2g",
-__LINE__, -3.993095662863953e-16, "-3.993096e-16", "%e",
-__LINE__, -4.006984141314271e-22, " -4e-22", "%7.2g",
-__LINE__, -4.006984141314271e-22, "-4.0e-22", "%#7.2g",
-__LINE__, -4.013226099863981e+06, "-4.013226E+06", "%+E",
-__LINE__, -4.013702226581167e+00, "-4.0137022", "%+#3.7f",
-__LINE__, -4.017598274642537e+11, "-4E+11", "%5.G",
-__LINE__, -4.021385792825529e-09, " -4e-09", "%7.2g",
-__LINE__, -4.024099064819937e-20, "-4.0241E-20", "%+G",
-__LINE__, -4.026952473441366e+22, "-4.026952e+22", "%6.7g",
-__LINE__, -4.027636677087866e+12, "-4.02764E+12", "%G",
-__LINE__, -4.036506013049443e+17, "-4.03651e+17", "%0.6g",
-__LINE__, -4.063191953523012e-06, " -0.0", "%6.1f",
-__LINE__, -4.070953223475192e-23, "-4.07095E-23", "%G",
-__LINE__, -4.072425833070524e+09, "-4.072426E+09", "%E",
-__LINE__, -4.086025576759603e+12, "-4.086026e+12", "%e",
-__LINE__, -4.086627783296081e-24, "-4.087E-24", "%.3E",
-__LINE__, -4.086683676772144e+10, "-40866836767.721439", "%f",
-__LINE__, -4.087336043219081e-10, "-0.", "%+#0.f",
-__LINE__, -4.125162973336809e-26, "-4.125163E-26", "%.7G",
-__LINE__, -4.150753797717075e-10, "-4.2e-10", "%.2g",
-__LINE__, -4.152126152181912e+23, "-4.15213e+23", "%g",
-__LINE__, -4.164458223079432e-07, "-4.164458E-07", "%E",
-__LINE__, -4.170624866130099e+03, "-4170.624866", "%4.6f",
-__LINE__, -4.171137277374942e-01, " -4E-01", "%+7.E",
-__LINE__, -4.176067421901769e-25, "-4.17607E-25", "%G",
-__LINE__, -4.179514418604771e+24, "-4.1795e+24", "%3.5g",
-__LINE__, -4.196285183415621e+23, "-4.19629E+23", "%5G",
-__LINE__, -4.198600486581023e+23, "-4E+23", "%+4.G",
-__LINE__, -4.199020494598538e-16, "-0.000000", "%+f",
-__LINE__, -4.207824153501688e-01, "-0.420782", "%G",
-__LINE__, -4.219086441294006e-13, " -0", "%+4.f",
-__LINE__, -4.223689582765525e+12, "-4.22369e+12", "%g",
-__LINE__, -4.230213377391093e+04, "-42302.1", "%+2.6G",
-__LINE__, -4.232495358100605e-02, "-0.042325", "%+f",
-__LINE__, -4.235459662515940e-29, "-0.000000", "%f",
-__LINE__, -4.240807508057296e-07, "-4e-07", "%0.g",
-__LINE__, -4.248376819122346e-13, "-4.248377e-13", "%7e",
-__LINE__, -4.251361939638334e-23, "-4.251362E-23", "%E",
-__LINE__, -4.253044333568077e+24, "-4.253044e+24", "%4e",
-__LINE__, -4.255728039119772e-30, "-4.25573E-30", "%2G",
-__LINE__, -4.256502531648988e+02, "-425.65", "%G",
-__LINE__, -4.260731632612400e-04, "-0", "%2.f",
-__LINE__, -4.262037138254753e-25, "-4e-25", "%5.g",
-__LINE__, -4.270910126379393e+00, "-4.2709", "%#7.4f",
-__LINE__, -4.273844276097008e-09, " -0.", "%#4.f",
-__LINE__, -4.280424136111831e+21, "-4.280E+21", "%.3E",
-__LINE__, -4.284351940366486e-23, "-0.000000", "%+f",
-__LINE__, -4.291747881693517e-29, "-4.3e-29", "%+#.2g",
-__LINE__, -4.298346825232928e+04, "-42983.5", "%G",
-__LINE__, -4.298879924365432e+28, "-42988799243654316484253286034.800112", "%f",
-__LINE__, -4.302192665689887e-25, "-0.000000", "%f",
-__LINE__, -4.303899568112784e+06, "-4E+06", "%1.G",
-__LINE__, -4.307399960278190e-30, "-4.31e-30", "%.3g",
-__LINE__, -4.341161949359232e+01, "-43.411619", "%+f",
-__LINE__, -4.353334435604675e+17, " -4e+17", "%+7.g",
-__LINE__, -4.354760231068195e+08, "-4e+08", "%2.e",
-__LINE__, -4.363535913318519e+08, "-4.363536E+08", "%+7E",
-__LINE__, -4.365389605557404e-29, "-4.365390e-29", "%e",
-__LINE__, -4.369278570829168e-22, "-4.369279E-22", "%5E",
-__LINE__, -4.372187639240662e-11, "-4.37219e-11", "%+g",
-__LINE__, -4.374221079233858e-15, "-4.37422E-15", "%4.6G",
-__LINE__, -4.374840292001664e-13, "-0.000000", "%+f",
-__LINE__, -4.376554800103945e+16, "-43765548001039453.751559", "%f",
-__LINE__, -4.376659235899513e+07, "-4.4E+07", "%0.2G",
-__LINE__, -4.377316129868239e-06, "-4.37732E-06", "%+5G",
-__LINE__, -4.380028480226885e+21, "-4e+21", "%1.0e",
-__LINE__, -4.380434965450223e+16, "-43804349654502230.393405", "%f",
-__LINE__, -4.392477080355168e-15, "-4E-15", "%+2.G",
-__LINE__, -4.396120020536161e+17, "-439612002053616102.159594", "%#f",
-__LINE__, -4.400993154571784e+13, "-44009931545717.844159", "%f",
-__LINE__, -4.402873692051930e-26, "-4.4e-26", "%5.3g",
-__LINE__, -4.405330274903779e+24, "-4405330274903779042006135.568954", "%+5f",
-__LINE__, -4.406272291312090e+06, "-4.40627e+06", "%+g",
-__LINE__, -4.407065949816988e-13, "-0.000000", "%f",
-__LINE__, -4.408295597674563e-10, "-4.4083e-10", "%g",
-__LINE__, -4.417553815178214e-30, "-4.41755E-30", "%G",
-__LINE__, -4.428894120469459e+16, "-4.42889e+16", "%g",
-__LINE__, -4.433747825142046e+04, "-4.433748e+04", "%#e",
-__LINE__, -4.435051082856639e+11, "-4.43505E+11", "%G",
-__LINE__, -4.445045573007259e-27, "-4.445e-27", "%.5g",
-__LINE__, -4.447791368960968e-25, " -4e-25", "%+7.g",
-__LINE__, -4.449691386526521e-11, "-4.44969e-11", "%g",
-__LINE__, -4.451399093849402e+06, "-4.e+06", "%#0.e",
-__LINE__, -4.453753130320864e-22, "-4E-22", "%6.E",
-__LINE__, -4.455910780463539e+00, "-4", "%2.g",
-__LINE__, -4.464935674747308e+25, "-4.46494e+25", "%g",
-__LINE__, -4.469759565657550e-29, "-4.46976e-29", "%g",
-__LINE__, -4.473254139442931e+14, "-4E+14", "%3.1G",
-__LINE__, -4.480844704930373e-04, "-0.000448", "%5.6f",
-__LINE__, -4.484177356024563e+19, "-4.484177E+19", "%E",
-__LINE__, -4.488115678357666e-13, "-4.48812e-13", "%g",
-__LINE__, -4.491545112281561e+12, "-4.491545E+12", "%E",
-__LINE__, -4.492547433553077e-23, "-4.49255e-23", "%g",
-__LINE__, -4.492701755830813e-05, "-0.000045", "%f",
-__LINE__, -4.497405935096372e-02, "-4.497406e-02", "%e",
-__LINE__, -4.502764260212887e+21, "-4.50276E+21", "%G",
-__LINE__, -4.511984199938207e+29, "-451198419993820731832556703011.505306", "%f",
-__LINE__, -4.514517861504637e-13, "-4.51452e-13", "%g",
-__LINE__, -4.525577218881990e+24, "-4.5e+24", "%2.2g",
-__LINE__, -4.549244580903896e-26, "-5E-26", "%2.G",
-__LINE__, -4.569192488002113e-29, "-5E-29", "%3.G",
-__LINE__, -4.572011438847734e+17, "-4.57e+17", "%#.3g",
-__LINE__, -4.573010973514519e-08, "-4.57301e-08", "%+7g",
-__LINE__, -4.584534976177852e-04, "-0.000458453", "%7g",
-__LINE__, -4.584729895132228e-21, "-0.000000", "%4f",
-__LINE__, -4.585259328217483e-30, "-4.58526E-30", "%+#4.6G",
-__LINE__, -4.589603063610410e-04, "-4.589603E-04", "%+E",
-__LINE__, -4.592428795671033e+22, " -5e+22", "%7.g",
-__LINE__, -4.595683678223830e-20, " -0", "%5.f",
-__LINE__, -4.602585606100101e+05, "-4.602586E+05", "%E",
-__LINE__, -4.603375306660027e-08, "-5E-08", "%+6.G",
-__LINE__, -4.611341343728034e-18, "-4.611341e-18", "%5e",
-__LINE__, -4.613608487855863e+05, "-461361", "%6g",
-__LINE__, -4.615997775774194e-24, "-4.61600e-24", "%#g",
-__LINE__, -4.620310950564759e+23, "-462031095056475926696749", "%1.0f",
-__LINE__, -4.620645693595563e-10, "-4.6206457e-10", "%.7e",
-__LINE__, -4.621527706233292e-09, "-4.621528e-09", "%#e",
-__LINE__, -4.625215210297273e-13, "-4.62522E-13", "%G",
-__LINE__, -4.636755152220100e-29, "-0.000000", "%#f",
-__LINE__, -4.641203877508087e+23, "-4.6412e+23", "%0g",
-__LINE__, -4.648627249239175e+23, "-4.65E+23", "%+0.3G",
-__LINE__, -4.662546890623409e-10, "-4.663E-10", "%.3E",
-__LINE__, -4.664488650292317e-27, "-4.66449e-27", "%#g",
-__LINE__, -4.668715685060282e+08, "-466871568.50603", "%.5f",
-__LINE__, -4.673332851657081e-18, "-4.7e-18", "%#5.2g",
-__LINE__, -4.683361436174074e+24, "-4.68e+24", "%#.2e",
-__LINE__, -4.693748680461066e-01, "-0.469375", "%G",
-__LINE__, -4.697110010549124e+23, "-4.69711E+23", "%G",
-__LINE__, -4.710442739966989e+06, "-4.710443e+06", "%2e",
-__LINE__, -4.713427678642280e-09, "-4.71343e-09", "%g",
-__LINE__, -4.721999055940316e-04, "-4.721999e-04", "%#1e",
-__LINE__, -4.724262200578540e+17, "-472426220057853996.081576", "%+f",
-__LINE__, -4.733267644288093e+01, "-4.733268e+01", "%7e",
-__LINE__, -4.742854711396110e-11, "-0.000000", "%f",
-__LINE__, -4.757456106385936e+23, "-4.75746e+23", "%g",
-__LINE__, -4.770895495642298e+27, "-4770895495642298200777986494.358629", "%2f",
-__LINE__, -4.775073456318149e+29, "-4.775073E+29", "%#E",
-__LINE__, -4.779997387204258e+17, "-4.78e+17", "%g",
-__LINE__, -4.799264315770707e-23, "-4.799264E-23", "%+.7G",
-__LINE__, -4.814277930599660e+10, "-5e+10", "%2.1g",
-__LINE__, -4.818413387018612e+05, "-5e+05", "%.0g",
-__LINE__, -4.818827195107612e-16, "-4.818827e-16", "%e",
-__LINE__, -4.841524514024803e+21, "-4.84152E+21", "%G",
-__LINE__, -4.860585077313477e+10, "-4.86059E+10", "%+G",
-__LINE__, -4.870037451948589e+28, "-48700374519485887248038125107.996166", "%f",
-__LINE__, -4.888835952705153e-28, "-4.888836E-28", "%+E",
-__LINE__, -4.893523355754114e-19, "-4.893523e-19", "%.6e",
-__LINE__, -4.906070260482585e+17, "-490607026048258454", "%+.0f",
-__LINE__, -4.907734144101900e+25, "-5E+25", "%+.1G",
-__LINE__, -4.917899547741841e-25, "-4.917900e-25", "%e",
-__LINE__, -4.923348512538722e+25, "-49233485125387215219916470.232420", "%+.6f",
-__LINE__, -4.926052630078460e-26, "-4.926053e-26", "%e",
-__LINE__, -4.926751662051156e+14, "-4.927E+14", "%+5.3E",
-__LINE__, -4.928017952199046e-12, "-0.000000", "%f",
-__LINE__, -4.944296782981195e-21, "-4.9443E-21", "%1.5G",
-__LINE__, -4.947320427183599e-19, "-4.947320e-19", "%.6e",
-__LINE__, -4.968188938972135e+17, "-4.96819E+17", "%G",
-__LINE__, -4.968756725758674e+05, "-496876", "%G",
-__LINE__, -4.968788759793340e-26, "-4.97E-26", "%.3G",
-__LINE__, -4.983904999913364e-24, "-5E-24", "%0.G",
-__LINE__, -4.985209496522767e+23, "-4.985209e+23", "%e",
-__LINE__, -4.987363880732866e+08, "-4.98736E+08", "%G",
-__LINE__, -4.989754940144973e+05, "-498975.494014", "%f",
-__LINE__, -4.998203870733718e-25, "-4.9982e-25", "%g",
-__LINE__, -4.999153445016792e-27, "-5e-27", "%+1.e",
-__LINE__, -5.002693488258108e+06, " -5e+06", "%+7.g",
-__LINE__, -5.017958458603783e+05, "-5.0179585E+05", "%+.7E",
-__LINE__, -5.028902178573363e-12, "-5.0289e-12", "%0g",
-__LINE__, -5.032337536971444e+07, "-50323375.369714", "%f",
-__LINE__, -5.036525516370473e-24, "-5.0365e-24", "%4.5g",
-__LINE__, -5.038642321515756e+18, "-5038642321515755639.893541", "%f",
-__LINE__, -5.051003516976770e-14, "-5.051E-14", "%+G",
-__LINE__, -5.051196143816789e+27, "-5.0512e+27", "%g",
-__LINE__, -5.057372886713786e+28, "-5.057373e+28", "%#e",
-__LINE__, -5.057475029459727e+12, "-5.05748e+12", "%+g",
-__LINE__, -5.068286816124670e-17, "-5.068E-17", "%5.3E",
-__LINE__, -5.070475165759468e-12, "-0.000000", "%4.6f",
-__LINE__, -5.081352543220476e+20, "-5.081E+20", "%.3E",
-__LINE__, -5.084398319179363e+11, "-508439831917.936313", "%#f",
-__LINE__, -5.085781220648484e+05, "-5.E+05", "%+#7.G",
-__LINE__, -5.094941054632498e-24, "-5.09494E-24", "%+G",
-__LINE__, -5.100059596310871e-10, "-5.10006e-10", "%3.6g",
-__LINE__, -5.103072553594136e-01, "-0.5", "%+1.g",
-__LINE__, -5.106319890388412e+08, "-5.106320e+08", "%4e",
-__LINE__, -5.107120687977690e+09, "-5107120687.977690", "%f",
-__LINE__, -5.119910716893161e-13, "-5.11991E-13", "%6G",
-__LINE__, -5.127594569425709e-29, "-5.12759e-29", "%#g",
-__LINE__, -5.130365585632797e+29, "-5.13037e+29", "%#g",
-__LINE__, -5.131415638022112e+08, "-513141563.802211", "%0f",
-__LINE__, -5.144703216335916e-23, "-5.1447e-23", "%g",
-__LINE__, -5.152511923201882e-05, "-5.15251E-05", "%+G",
-__LINE__, -5.165484448280190e-12, " -0.0", "%5.1f",
-__LINE__, -5.179220760465737e-20, "-5e-20", "%+5.g",
-__LINE__, -5.183005119662180e-10, "-5.183005E-10", "%+E",
-__LINE__, -5.199587953258117e+13, "-5.19959e+13", "%6g",
-__LINE__, -5.202041951844580e-25, "-0.000000", "%f",
-__LINE__, -5.202836038621740e+00, "-5.20284", "%G",
-__LINE__, -5.212204099528552e-11, "-5.2122e-11", "%.6g",
-__LINE__, -5.225617726710534e+17, "-522561772671053414.995868", "%+f",
-__LINE__, -5.230162003281426e+25, "-52301620032814257754694153.84578", "%+6.5f",
-__LINE__, -5.251849429321286e-11, "-5.25185e-11", "%g",
-__LINE__, -5.265174939930368e+23, "-5.265175E+23", "%1.6E",
-__LINE__, -5.271218134351422e+21, "-5.27122e+21", "%+1g",
-__LINE__, -5.273823357545750e+17, "-527382335754575048.980541", "%f",
-__LINE__, -5.279848797214957e+11, "-527984879721.495659", "%0f",
-__LINE__, -5.281551888625290e+11, "-5e+11", "%4.g",
-__LINE__, -5.281780377142961e-24, "-5.28178e-24", "%g",
-__LINE__, -5.292125782379512e+03, "-5292.125782", "%f",
-__LINE__, -5.292401691410388e+15, "-5292401691410387.520875", "%f",
-__LINE__, -5.305120752102265e-25, "-5.30512e-25", "%+#.5e",
-__LINE__, -5.317975791704413e+16, "-5.31798e+16", "%+g",
-__LINE__, -5.336522843607233e+27, "-5.33652e+27", "%#6g",
-__LINE__, -5.342016438000917e-05, " -5e-05", "%+7.e",
-__LINE__, -5.351122291549103e+06, "-5351122.291549", "%+0f",
-__LINE__, -5.352043956303597e+00, "-5.35204", "%g",
-__LINE__, -5.353582488767747e+09, "-5.354E+09", "%7.3E",
-__LINE__, -5.383420177718380e+04, "-5e+04", "%1.e",
-__LINE__, -5.384320189791882e-10, "-5.384320e-10", "%e",
-__LINE__, -5.409487543257379e-12, "-5.40949E-12", "%G",
-__LINE__, -5.418395794776773e+23, "-5.4184e+23", "%g",
-__LINE__, -5.419918795921525e-09, "-0.000000", "%+f",
-__LINE__, -5.422374157832442e+11, "-5.42237e+11", "%3g",
-__LINE__, -5.426916951577001e-27, "-5.42692E-27", "%+G",
-__LINE__, -5.430058833461779e+28, "-5.43006E+28", "%G",
-__LINE__, -5.444433348653147e+23, "-5.444433E+23", "%E",
-__LINE__, -5.446560186537024e+09, "-5.446560E+09", "%E",
-__LINE__, -5.464243500152188e+27, "-5.46424E+27", "%G",
-__LINE__, -5.464427517531742e+20, "-546442751753174249529.365625", "%f",
-__LINE__, -5.465783705970954e+05, "-5E+05", "%1.E",
-__LINE__, -5.475138077475789e-11, "-5e-11", "%.0e",
-__LINE__, -5.475302250616576e+10, "-54753022506.1658", "%.4f",
-__LINE__, -5.488964905442472e+09, "-5.48896e+09", "%g",
-__LINE__, -5.492508526846316e-08, "-5.49251e-08", "%.6g",
-__LINE__, -5.520533408804846e-15, "-5.520533e-15", "%e",
-__LINE__, -5.532744688447266e+28, "-55327446884472664123677532188.594341", "%2.6f",
-__LINE__, -5.535834653450131e-14, "-5.5e-14", "%0.1e",
-__LINE__, -5.554344735392882e-02, "-5.554345E-02", "%+#E",
-__LINE__, -5.555497334515501e-17, "-5.5555e-17", "%g",
-__LINE__, -5.558304303221977e+14, "-555830430322197.699411", "%f",
-__LINE__, -5.562210815777694e-05, "-5.562211E-05", "%#1E",
-__LINE__, -5.564800722538402e-09, "-5.56480e-09", "%#.6g",
-__LINE__, -5.567143271590439e-01, "-5.567143e-01", "%#e",
-__LINE__, -5.568606044396186e+01, "-55.6861", "%4g",
-__LINE__, -5.592027856401721e+12, "-5.592028e+12", "%.7g",
-__LINE__, -5.592295342565443e+22, "-6.E+22", "%#3.G",
-__LINE__, -5.600007421926053e+07, "-56000074.219261", "%1f",
-__LINE__, -5.601444553155006e-12, "-5.60144E-12", "%G",
-__LINE__, -5.605128912835080e-03, "-0.005605", "%+f",
-__LINE__, -5.610950285679577e+19, "-5.61095E+19", "%G",
-__LINE__, -5.622074657679467e+11, "-562207465767.946690", "%f",
-__LINE__, -5.627358352391656e-01, "-0.6", "%1.g",
-__LINE__, -5.627974317622488e-02, "-5.627974e-02", "%+e",
-__LINE__, -5.629497696447229e+27, "-5.629E+27", "%+.4G",
-__LINE__, -5.631383567258576e-29, "-5.63138e-29", "%0g",
-__LINE__, -5.635241327177333e-18, "-5.63524E-18", "%G",
-__LINE__, -5.644819783138381e+06, "-5.644820E+06", "%#E",
-__LINE__, -5.648538459114833e+26, "-564853845911483265496144667.849876", "%+f",
-__LINE__, -5.649004865848537e+00, "-5.649", "%g",
-__LINE__, -5.653403316885170e+23, "-6E+23", "%2.0E",
-__LINE__, -5.656109962244926e-18, "-0.000000", "%f",
-__LINE__, -5.674988031695793e+22, "-5.674988E+22", "%+.7G",
-__LINE__, -5.686380226400881e-22, "-0.000000", "%f",
-__LINE__, -5.698840855829442e-14, "-5.69884E-14", "%G",
-__LINE__, -5.707036642649580e+03, "-5707.036643", "%f",
-__LINE__, -5.710344882278847e+11, "-5.71034E+11", "%+G",
-__LINE__, -5.714852196401017e+19, "-5.71485E+19", "%+G",
-__LINE__, -5.720153622156089e-22, "-5.72015E-22", "%G",
-__LINE__, -5.722366011976922e+26, "-5.72237e+26", "%+g",
-__LINE__, -5.722909928097404e+12, "-5.72291E+12", "%2G",
-__LINE__, -5.725325961787777e-25, "-5.72533e-25", "%g",
-__LINE__, -5.727138241052646e+19, "-5.72714e+19", "%+#g",
-__LINE__, -5.734025840446336e+14, "-5.73403e+14", "%+g",
-__LINE__, -5.736469106710259e-05, "-0.000057", "%.6f",
-__LINE__, -5.755099153733116e-14, "-5.7551e-14", "%+g",
-__LINE__, -5.758411844890947e-20, "-6E-20", "%+6.G",
-__LINE__, -5.760350214122813e+03, "-5760.35", "%+g",
-__LINE__, -5.768009192512392e-30, "-0", "%1.f",
-__LINE__, -5.772343286693103e+07, "-5.77234E+07", "%G",
-__LINE__, -5.776693265471852e-27, "-5.776693E-27", "%E",
-__LINE__, -5.779682861172754e-28, "-5.779683e-28", "%e",
-__LINE__, -5.789953490749936e+26, "-578995349074993637117358957.76656", "%5.5f",
-__LINE__, -5.796771264754334e+04, "-57967.7", "%g",
-__LINE__, -5.804788370597286e-02, "-5.80479E-02", "%+#1.5E",
-__LINE__, -5.805343475329215e-13, "-5.80534e-13", "%g",
-__LINE__, -5.809853913830122e+09, "-5809853914", "%+0.f",
-__LINE__, -5.817313814570609e-30, " -0", "%7.0f",
-__LINE__, -5.831708441750138e+00, "-5.83171", "%#g",
-__LINE__, -5.846914550593652e+29, "-5.846915e+29", "%e",
-__LINE__, -5.851455214762288e+04, "-58514.6", "%+G",
-__LINE__, -5.855803663871393e-23, "-6E-23", "%5.E",
-__LINE__, -5.858065129988470e+10, "-5.85807e+10", "%+g",
-__LINE__, -5.863147168075411e-14, "-5.86315e-14", "%+g",
-__LINE__, -5.878936740266680e-04, "-0.000587894", "%g",
-__LINE__, -5.887654893386630e+25, "-58876548933866299506689756.526612", "%#f",
-__LINE__, -5.889416409731902e-02, "-0.06", "%5.g",
-__LINE__, -5.897630195029892e-18, "-5.897630E-18", "%#0.7G",
-__LINE__, -5.898506808456422e-19, "-5.89851E-19", "%G",
-__LINE__, -5.901768645393515e+29, "-5.90177E+29", "%+G",
-__LINE__, -5.907529093570369e+10, "-59075290935.703695", "%f",
-__LINE__, -5.910069365260240e+13, "-59100693652602.39849", "%+#5.5f",
-__LINE__, -5.915678929676435e-07, "-0.000001", "%+f",
-__LINE__, -5.922232380131716e-01, "-0.592223", "%+3f",
-__LINE__, -5.923716473994306e+19, "-5.92372E+19", "%+#.6G",
-__LINE__, -5.929950428920404e-15, "-5.929950e-15", "%+e",
-__LINE__, -5.949552735665802e+26, "-5.94955e+26", "%#g",
-__LINE__, -5.949977081310732e-02, "-0.059500", "%f",
-__LINE__, -5.954520303889356e-07, "-5.954520E-07", "%5E",
-__LINE__, -5.978861337429145e-13, "-6E-13", "%1.G",
-__LINE__, -5.980539445081087e+15, "-5.98054E+15", "%.6G",
-__LINE__, -5.981724990853490e-03, " -0.006", "%#7.g",
-__LINE__, -5.989488907825821e+03, "-6E+03", "%.2G",
-__LINE__, -5.998272294890842e+06, "-6.00E+06", "%4.2E",
-__LINE__, -6.023775731455919e-29, "-6.023776e-29", "%e",
-__LINE__, -6.028153126666870e-05, "-6.e-05", "%+#6.e",
-__LINE__, -6.036200621484690e+25, "-6e+25", "%2.2g",
-__LINE__, -6.036400640928137e-14, "-6.036401e-14", "%e",
-__LINE__, -6.038198451098329e-20, "-6.038198e-20", "%1.7g",
-__LINE__, -6.045778975641123e-15, "-6.04578E-15", "%G",
-__LINE__, -6.046038904252073e+00, "-6.04604", "%g",
-__LINE__, -6.082158462782175e-06, "-0.000006", "%+#f",
-__LINE__, -6.106162726644904e+10, "-6.10616e+10", "%g",
-__LINE__, -6.126345215489182e+10, "-6e+10", "%+1.g",
-__LINE__, -6.131852309620571e+02, "-6e+02", "%4.e",
-__LINE__, -6.134589313243809e-01, "-0.613459", "%+#f",
-__LINE__, -6.142358153783462e-10, "-6.14236E-10", "%4G",
-__LINE__, -6.151524334856263e+27, "-6151524334856262932191839354.345575", "%+6f",
-__LINE__, -6.156818333724550e+04, "-6.e+04", "%#.1g",
-__LINE__, -6.166172551433993e+24, "-6166172551433993120895138.4178", "%5.4f",
-__LINE__, -6.169532428006014e-09, "-6.16953e-09", "%3g",
-__LINE__, -6.172019382601770e-28, "-0.000000", "%+f",
-__LINE__, -6.174496985807155e-09, "-6.1745E-09", "%G",
-__LINE__, -6.186771845105751e+04, "-61867.7", "%G",
-__LINE__, -6.200817973780066e+22, "-6.20082E+22", "%3G",
-__LINE__, -6.218004335456301e-22, "-0.000000", "%+f",
-__LINE__, -6.219009630546262e-18, "-6.22e-18", "%6.3g",
-__LINE__, -6.242532875230618e-06, "-0.000006", "%7f",
-__LINE__, -6.243612261280864e+14, "-6.24361e+14", "%.6g",
-__LINE__, -6.243689597320126e+10, "-6e+10", "%.0e",
-__LINE__, -6.244620667090527e+04, "-6e+04", "%6.e",
-__LINE__, -6.250789625572054e-09, "-0.000000", "%+f",
-__LINE__, -6.253537566219164e+01, "-63.", "%#1.f",
-__LINE__, -6.284420289484166e+21, "-6.2844203e+21", "%7.7e",
-__LINE__, -6.285939888202846e+27, "-6e+27", "%+.0g",
-__LINE__, -6.290025777678105e+13, "-6E+13", "%2.E",
-__LINE__, -6.291364254323924e+10, "-6.3E+10", "%3.2G",
-__LINE__, -6.292428812164449e+15, "-6292428812164448.714839", "%.6f",
-__LINE__, -6.292600606358002e+29, "-6.29260E+29", "%#G",
-__LINE__, -6.292739629144148e-15, "-6.292740E-15", "%E",
-__LINE__, -6.296471626465745e+28, "-6.29647E+28", "%G",
-__LINE__, -6.299575066640315e+27, "-6.300E+27", "%.3E",
-__LINE__, -6.315234679394876e-24, "-6E-24", "%2.G",
-__LINE__, -6.320883246383228e-01, "-0.632088", "%2g",
-__LINE__, -6.324938413548937e-11, "-6e-11", "%.1g",
-__LINE__, -6.336312983176250e+04, "-6.336313e+04", "%e",
-__LINE__, -6.341786787214541e+06, "-6.341787E+06", "%+7.6E",
-__LINE__, -6.360189291106185e-15, "-0.0000000", "%#.7f",
-__LINE__, -6.364818355457748e-15, "-0.0000000", "%1.7f",
-__LINE__, -6.366291103431814e+04, "-63662.9", "%#G",
-__LINE__, -6.366334042923153e-05, "-6.37e-05", "%5.3g",
-__LINE__, -6.370477455143194e-12, "-0.000000", "%f",
-__LINE__, -6.372829256546279e+23, "-6.37283E+23", "%G",
-__LINE__, -6.375208490193110e-23, "-6.37521e-23", "%4.5e",
-__LINE__, -6.382595100891736e-24, "-6.3826E-24", "%5G",
-__LINE__, -6.396882421146790e-22, "-6.39688e-22", "%+g",
-__LINE__, -6.407190354039938e+08, "-6.40719e+08", "%+g",
-__LINE__, -6.408581541430886e-10, "-6.E-10", "%#0.0G",
-__LINE__, -6.409206904981703e-03, "-0.006", "%+.0G",
-__LINE__, -6.416106714707772e+26, "-641610671470777216285341637.558304", "%f",
-__LINE__, -6.417436981761998e-04, "-0.000642", "%+#f",
-__LINE__, -6.429997249673124e+11, "-642999724967.312414", "%#f",
-__LINE__, -6.440827429825250e+16, "-6.44083E+16", "%G",
-__LINE__, -6.444869858444955e+02, "-6e+02", "%6.g",
-__LINE__, -6.471701890976228e-25, " -6e-25", "%7.1g",
-__LINE__, -6.485393161670371e-12, "-6.485393e-12", "%.6e",
-__LINE__, -6.487710907063584e+23, "-6.E+23", "%#3.E",
-__LINE__, -6.492942931343439e-08, "-0.", "%+#2.0f",
-__LINE__, -6.496010652113223e+18, "-6.49601e+18", "%g",
-__LINE__, -6.502856921840228e+22, "-6.50286e+22", "%4g",
-__LINE__, -6.523559906055000e-10, "-6.52356E-10", "%.6G",
-__LINE__, -6.525899074126662e+04, "-6.5e+04", "%+.1e",
-__LINE__, -6.532216801155521e-09, "-6.53222E-09", "%G",
-__LINE__, -6.544601787025684e-27, "-0", "%+.0f",
-__LINE__, -6.558968312132168e-01, " -1", "%+6.f",
-__LINE__, -6.559654261655786e+08, "-6.559654e+08", "%e",
-__LINE__, -6.566562622196495e-21, "-6.56656E-21", "%.6G",
-__LINE__, -6.573486832071960e+04, "-65734.9", "%G",
-__LINE__, -6.573806290918275e+13, "-6.57381E+13", "%G",
-__LINE__, -6.578113771674787e+17, "-6.57811E+17", "%+#G",
-__LINE__, -6.584106931007506e+15, "-6.584107E+15", "%E",
-__LINE__, -6.590538844308877e+07, "-65905388.443089", "%f",
-__LINE__, -6.593708834068371e-07, "-0.000001", "%f",
-__LINE__, -6.597116446195875e+08, "-6.5971164e+08", "%#1.7e",
-__LINE__, -6.605813542127091e-04, "-0.0007", "%+0.g",
-__LINE__, -6.607491403866429e+07, "-7e+07", "%3.g",
-__LINE__, -6.616499847522278e+09, "-6.61650E+09", "%+#G",
-__LINE__, -6.618619768691332e+20, "-7E+20", "%2.G",
-__LINE__, -6.626748168962331e-22, "-7.E-22", "%+#3.E",
-__LINE__, -6.639335450348280e+12, "-6.63934e+12", "%g",
-__LINE__, -6.643910144912576e-03, "-0.006644", "%f",
-__LINE__, -6.650293872031870e-18, "-6.65029e-18", "%+#g",
-__LINE__, -6.654903858656310e-21, "-0.000000", "%f",
-__LINE__, -6.665834666726511e-12, "-6.665835E-12", "%E",
-__LINE__, -6.666428729917570e-19, "-0.000000", "%+#f",
-__LINE__, -6.668415789681128e+27, "-6.66842E+27", "%+G",
-__LINE__, -6.675214676269601e-28, "-6.67521e-28", "%#g",
-__LINE__, -6.679560072732262e+01, "-66.7956", "%#g",
-__LINE__, -6.692325075457020e-19, "-0.000000", "%1f",
-__LINE__, -6.697096655164652e+00, "-6.70", "%#.3g",
-__LINE__, -6.712436135928394e-28, "-7e-28", "%0.g",
-__LINE__, -6.720769486122685e-16, "-7e-16", "%0.e",
-__LINE__, -6.727196898490600e+26, "-672719689849060031860972230.8", "%.1f",
-__LINE__, -6.744132627576416e+02, "-674.413", "%6G",
-__LINE__, -6.757705576425288e+28, "-6.7577056e+28", "%.7e",
-__LINE__, -6.760554929237173e-02, "-0.067606", "%+f",
-__LINE__, -6.763538810629361e+10, "-6.7635E+10", "%.4E",
-__LINE__, -6.764712008860796e-29, "-6.76471E-29", "%+G",
-__LINE__, -6.767299719678443e+04, "-67672.997197", "%f",
-__LINE__, -6.768326491352134e+20, "-676832649135213415547.70", "%+.2f",
-__LINE__, -6.771116968952891e+03, "-7E+03", "%3.1G",
-__LINE__, -6.775218099238350e-30, "-7.e-30", "%+#6.g",
-__LINE__, -6.782142689928918e-18, "-0.00", "%4.2f",
-__LINE__, -6.795409770512149e+08, "-7E+08", "%+5.0G",
-__LINE__, -6.820966157097271e+14, "-6.820966e+14", "%e",
-__LINE__, -6.824972990592273e-22, "-0.00", "%+#1.2f",
-__LINE__, -6.830452914741750e+29, "-6.8E+29", "%+7.2G",
-__LINE__, -6.835797187132348e+10, "-6.8358E+10", "%+5G",
-__LINE__, -6.837040829636343e-03, "-0.00683704", "%+g",
-__LINE__, -6.852956218658224e+23, "-6.85296e+23", "%3g",
-__LINE__, -6.854102607287217e-26, "-7e-26", "%5.e",
-__LINE__, -6.865065870249438e+16, "-6.86507E+16", "%#G",
-__LINE__, -6.884819522625523e-13, "-6.88482E-13", "%5G",
-__LINE__, -6.916316600148513e-12, "-0.000000", "%f",
-__LINE__, -6.925312418761560e-05, "-6.92531E-05", "%#G",
-__LINE__, -6.929518694178331e+09, "-6929518694.178", "%#.3f",
-__LINE__, -6.936008056682024e+02, "-6.936008E+02", "%E",
-__LINE__, -6.944911117352400e+26, "-6.944911E+26", "%1.6E",
-__LINE__, -6.945829492125162e+05, "-6.9e+05", "%+2.2g",
-__LINE__, -6.946603162471856e-13, "-6.94660E-13", "%#G",
-__LINE__, -6.947529440406653e+22, "-6.9475e+22", "%+6.5g",
-__LINE__, -6.950167604854856e-30, "-0.000000", "%7f",
-__LINE__, -6.958122319262799e-26, "-7E-26", "%+1.E",
-__LINE__, -6.958978258390961e+16, "-6.95898E+16", "%+5.6G",
-__LINE__, -6.963780466334008e-06, "-6.96378E-06", "%2G",
-__LINE__, -6.965570896221966e+13, "-6.965571E+13", "%5E",
-__LINE__, -6.967741871945064e-10, "-6.96774E-10", "%+#G",
-__LINE__, -6.973815739524307e+19, "-69738157395243067782.076", "%6.3f",
-__LINE__, -6.982714545008106e+13, "-6.98271e+13", "%g",
-__LINE__, -6.985955885054476e+03, "-6985.96", "%6G",
-__LINE__, -6.986415266835747e+18, "-6.98642e+18", "%#g",
-__LINE__, -6.996461529596512e-08, "-7.0E-08", "%#.1E",
-__LINE__, -7.000144914012241e-05, "-7.00014e-05", "%#g",
-__LINE__, -7.001017894492730e-03, "-0.00700102", "%+#.6G",
-__LINE__, -7.003690685875917e+20, "-7E+20", "%0.G",
-__LINE__, -7.010454163965384e+00, "-7.010454e+00", "%+e",
-__LINE__, -7.011493550018082e-26, " -0", "%7.f",
-__LINE__, -7.018018443394008e+21, "-7.0E+21", "%+#1.1E",
-__LINE__, -7.027253777387243e-05, "-7.02725E-05", "%+G",
-__LINE__, -7.043679213677740e-17, "-0", "%1.f",
-__LINE__, -7.051690489227881e-16, "-7.052e-16", "%0.4g",
-__LINE__, -7.063422475274161e-16, "-7.063422E-16", "%E",
-__LINE__, -7.065069592235558e-30, "-7.06507e-30", "%+#g",
-__LINE__, -7.068265283935834e-29, "-7e-29", "%+5.e",
-__LINE__, -7.068748224536295e-13, "-0.000000", "%f",
-__LINE__, -7.069621910708177e-04, "-0.000707", "%1.3g",
-__LINE__, -7.079725450964823e-12, "-0.000000", "%f",
-__LINE__, -7.087255464668218e+17, "-7.1e+17", "%.1e",
-__LINE__, -7.088715102009605e-09, "-7e-09", "%6.0g",
-__LINE__, -7.090414916270137e-15, "-0.00000", "%.5f",
-__LINE__, -7.091868311008428e-03, " -0.0", "%5.1f",
-__LINE__, -7.094242165237718e+21, "-7.09424e+21", "%+g",
-__LINE__, -7.094324305740325e-05, "-7E-05", "%+3.G",
-__LINE__, -7.104544752289144e+04, "-71045.4", "%#g",
-__LINE__, -7.105164644813694e-29, "-0.000000", "%+f",
-__LINE__, -7.114513164219487e-12, "-7.11451e-12", "%+g",
-__LINE__, -7.115778236604137e-12, "-7.11578E-12", "%G",
-__LINE__, -7.126217683410162e-27, "-7.126218e-27", "%e",
-__LINE__, -7.136214260967733e+28, "-71362142609677334803564008325.338364", "%f",
-__LINE__, -7.143452595522573e+19, "-7.14345e+19", "%g",
-__LINE__, -7.156042088843537e+27, "-7156042088843537207765166385.7977837", "%4.7f",
-__LINE__, -7.173687683710490e+24, "-7.17369e+24", "%6g",
-__LINE__, -7.190531162598206e+25, "-71905311625982060164119503", "%4.f",
-__LINE__, -7.201301831373747e-09, "-7.2013e-09", "%g",
-__LINE__, -7.209601436737306e+10, "-7.2096e+10", "%g",
-__LINE__, -7.211058997356655e-06, "-7.211059E-06", "%E",
-__LINE__, -7.226756177676272e-09, "-7.22676E-09", "%+G",
-__LINE__, -7.230870817566419e+19, "-72308708175664193618.1040364", "%#.7f",
-__LINE__, -7.231355992133345e-05, "-7.231356E-05", "%#E",
-__LINE__, -7.245999575278407e-12, "-7.246e-12", "%g",
-__LINE__, -7.247426403040390e-09, "-7.2474E-09", "%+4.5G",
-__LINE__, -7.257348680308567e-12, "-7.3E-12", "%1.2G",
-__LINE__, -7.258184256387366e-26, "-7.25818E-26", "%+2G",
-__LINE__, -7.262633672900126e+10, "-7.26263e+10", "%#g",
-__LINE__, -7.268887462426250e+03, "-7.268887e+03", "%+#e",
-__LINE__, -7.275284494682963e+08, "-7.27528e+08", "%g",
-__LINE__, -7.276335846256479e-07, " -0", "%4.f",
-__LINE__, -7.312556378294452e+15, "-7.31256e+15", "%+6g",
-__LINE__, -7.334763752442417e-15, "-0.0000", "%#.4f",
-__LINE__, -7.354627097325888e-18, "-7E-18", "%0.E",
-__LINE__, -7.360087573342401e-25, "-7.4E-25", "%6.2G",
-__LINE__, -7.368533563361098e-29, "-7.4E-29", "%3.1E",
-__LINE__, -7.379267723540596e-06, "-0.000007", "%f",
-__LINE__, -7.384525781709565e-19, "-0.000000", "%+#f",
-__LINE__, -7.388940868679677e-09, "-7.388941E-09", "%E",
-__LINE__, -7.391602149099698e+00, "-7.391602E+00", "%E",
-__LINE__, -7.393159340196723e+22, "-7.39316e+22", "%#2.6g",
-__LINE__, -7.399783260198277e-16, "-7.39978E-16", "%G",
-__LINE__, -7.405609590448331e-06, "-7.40561e-06", "%g",
-__LINE__, -7.407396977847794e-11, "-7.40740E-11", "%#G",
-__LINE__, -7.433716848698637e+20, "-7.43372e+20", "%+g",
-__LINE__, -7.444176062769411e-01, "-0.744418", "%#g",
-__LINE__, -7.448314697244012e+12, "-7448314697244.011739", "%f",
-__LINE__, -7.449533988369018e+08, "-7.449534e+08", "%+#7e",
-__LINE__, -7.465682839758801e-01, "-7E-01", "%4.E",
-__LINE__, -7.466517843126368e-26, "-7.5E-26", "%.1E",
-__LINE__, -7.471385785539900e+24, "-7471385785539899515583783.795591", "%f",
-__LINE__, -7.478345583780341e+00, "-7.478346e+00", "%e",
-__LINE__, -7.524759284626724e-06, "-7.52476e-06", "%2g",
-__LINE__, -7.534831049342539e-19, "-7.53483E-19", "%G",
-__LINE__, -7.540546673179273e+15, "-8e+15", "%.1g",
-__LINE__, -7.543440436184003e-08, "-7.54344E-08", "%6G",
-__LINE__, -7.558224240835564e-06, "-7.55822e-06", "%g",
-__LINE__, -7.564132915154469e+23, "-756413291515446850610260.298708", "%+f",
-__LINE__, -7.566590720355392e+15, "-7.566591e+15", "%1.6e",
-__LINE__, -7.568565927479741e-01, "-7.568566e-01", "%#6e",
-__LINE__, -7.615574141973305e-17, "-7.6156e-17", "%+.5g",
-__LINE__, -7.641297631509318e-28, "-8e-28", "%+.1g",
-__LINE__, -7.661227834163450e+09, "-7661227834.1634497", "%+#.7f",
-__LINE__, -7.665934364070126e+11, "-766593436407.0", "%.1f",
-__LINE__, -7.682500068463102e-27, "-0.000000", "%+#f",
-__LINE__, -7.709363160273798e+15, "-7.70936e+15", "%g",
-__LINE__, -7.712596019255238e+26, "-7.7e+26", "%.2g",
-__LINE__, -7.730213358437991e+25, "-7.7e+25", "%6.2g",
-__LINE__, -7.744420019068976e+05, "-7.74442E+05", "%.5E",
-__LINE__, -7.745813181942296e+11, "-7.7458132e+11", "%+.7e",
-__LINE__, -7.751004379716307e+16, "-7.751004e+16", "%e",
-__LINE__, -7.759862226564527e-28, "-7.75986e-28", "%g",
-__LINE__, -7.767838880221207e-27, "-7.76784e-27", "%g",
-__LINE__, -7.776301142157532e-19, "-0", "%2.f",
-__LINE__, -7.783944257077553e-14, "-8e-14", "%3.g",
-__LINE__, -7.801587579382377e+28, "-8e+28", "%+0.g",
-__LINE__, -7.806685979552780e+25, "-7.806686E+25", "%E",
-__LINE__, -7.825968891331719e-05, "-7.82597E-05", "%G",
-__LINE__, -7.826834158664018e+12, "-7.826834E+12", "%+#E",
-__LINE__, -7.832536798726886e+24, "-7.83254E+24", "%#1G",
-__LINE__, -7.840485340202362e-18, "-0.000000", "%.6f",
-__LINE__, -7.843236212099233e+21, "-7.84324e+21", "%g",
-__LINE__, -7.906644052019278e-13, "-7.906644E-13", "%E",
-__LINE__, -7.908090440678874e-20, "-7.90809E-20", "%#G",
-__LINE__, -7.917588593012283e+08, "-7.917589E+08", "%+E",
-__LINE__, -7.929100086742454e+29, "-792910008674245414539427656563.930213", "%f",
-__LINE__, -7.933235286034290e+26, "-7.933235E+26", "%E",
-__LINE__, -7.943431966567875e-03, "-0.0079434", "%+.5g",
-__LINE__, -7.950872643572970e-22, "-7.95087e-22", "%2g",
-__LINE__, -7.971225555313069e-01, "-0.797123", "%f",
-__LINE__, -7.978310272676090e-12, "-0.000000", "%#f",
-__LINE__, -8.006805393896414e-29, "-8.00681E-29", "%G",
-__LINE__, -8.006906303018830e+25, "-8.00691E+25", "%+G",
-__LINE__, -8.008484654476057e+18, "-8.008485e+18", "%5.6e",
-__LINE__, -8.008943512904249e+27, "-8008943512904249217854157905.0943", "%+.4f",
-__LINE__, -8.016539743121665e+27, "-8.01654E+27", "%G",
-__LINE__, -8.018247227006128e-05, " -8E-05", "%7.G",
-__LINE__, -8.044391842561705e+21, "-8.04439e+21", "%g",
-__LINE__, -8.081902305002036e-02, "-8.081902E-02", "%E",
-__LINE__, -8.084193011936438e-03, "-0.0080842", "%+5.5g",
-__LINE__, -8.105813534846529e-27, "-0.000000", "%f",
-__LINE__, -8.128116892989251e+00, "-8.12812", "%G",
-__LINE__, -8.136119035731877e+05, "-8e+05", "%+0.g",
-__LINE__, -8.140584224052606e+14, "-8E+14", "%5.G",
-__LINE__, -8.145928897003907e+13, "-8.15E+13", "%.3G",
-__LINE__, -8.164495905907508e-02, "-0.081645", "%G",
-__LINE__, -8.169602113313905e+20, "-8.16960e+20", "%#g",
-__LINE__, -8.179181640418333e+24, "-8.E+24", "%#.1G",
-__LINE__, -8.184324492264231e-18, "-8.18432E-18", "%G",
-__LINE__, -8.186480473850516e-28, "-0.000000", "%+f",
-__LINE__, -8.196858948158896e+07, "-8.1969E+07", "%.4E",
-__LINE__, -8.213138534699043e-30, "-0.000000", "%f",
-__LINE__, -8.221181368676532e-21, "-8.221181E-21", "%#1E",
-__LINE__, -8.222605734191438e+16, "-8.22261E+16", "%+G",
-__LINE__, -8.223925661091432e-14, "-8.223926e-14", "%0e",
-__LINE__, -8.232281541044777e-01, "-0.823228", "%f",
-__LINE__, -8.245536794508725e+22, "-8E+22", "%6.G",
-__LINE__, -8.270687365305925e+25, "-82706873653059247430974210.146815", "%f",
-__LINE__, -8.288978945738204e+11, "-8.28898e+11", "%5g",
-__LINE__, -8.290628698333139e+02, "-829.063", "%+G",
-__LINE__, -8.292416206056451e-16, "-8.29242e-16", "%+g",
-__LINE__, -8.296322623746486e-13, "-8.29632E-13", "%0.6G",
-__LINE__, -8.298321941376933e-16, "-0.000000", "%+f",
-__LINE__, -8.302331258878365e+29, "-8.30233E+29", "%0G",
-__LINE__, -8.309022429255061e+06, "-8309022.429255", "%+f",
-__LINE__, -8.312786829254646e-23, "-8.312787e-23", "%e",
-__LINE__, -8.313852965178063e-15, "-8.313853e-15", "%#7e",
-__LINE__, -8.317529094827869e+16, "-8.31753E+16", "%2G",
-__LINE__, -8.322847660882248e-17, "-0.000000", "%f",
-__LINE__, -8.324060602752638e-30, "-8.32406e-30", "%#g",
-__LINE__, -8.325043500735461e+27, "-8325043500735461066142306663.095951", "%#f",
-__LINE__, -8.332432016286935e-02, "-0.0833243", "%g",
-__LINE__, -8.334251670232117e-09, "-8.33425e-09", "%g",
-__LINE__, -8.338076225141778e+02, "-833.808", "%g",
-__LINE__, -8.338349587571534e-23, "-8.33835e-23", "%+2g",
-__LINE__, -8.342420812231939e+23, "-834242081223193920891390.00745", "%+0.5f",
-__LINE__, -8.347404637940894e+17, "-8.347405e+17", "%+e",
-__LINE__, -8.367002601133880e-12, "-0.000000", "%#2.6f",
-__LINE__, -8.368579538210858e-17, "-8.36858e-17", "%5g",
-__LINE__, -8.392398522472401e-10, "-0.0000", "%.4f",
-__LINE__, -8.393029677635258e-29, " -8E-29", "%7.G",
-__LINE__, -8.393843230819225e-11, "-8.393843E-11", "%E",
-__LINE__, -8.397239871789148e-11, "-8.39724e-11", "%g",
-__LINE__, -8.402316358199041e-29, "-0.000", "%3.3f",
-__LINE__, -8.402910159034304e-14, "-8.4e-14", "%+0.3g",
-__LINE__, -8.414960962391726e+09, "-8414960962.391726", "%#f",
-__LINE__, -8.417512471384889e-28, "-8.417512e-28", "%e",
-__LINE__, -8.418719240222911e+21, "-8418719240222911182058.851409", "%f",
-__LINE__, -8.421210956044195e-09, "-0.00000", "%.5f",
-__LINE__, -8.422001733529095e+24, "-8E+24", "%0.G",
-__LINE__, -8.443614453772469e+21, "-8.44361E+21", "%+G",
-__LINE__, -8.445883044175737e-19, "-0", "%+1.f",
-__LINE__, -8.460545304711022e-01, "-0.846055", "%G",
-__LINE__, -8.470462532754567e+12, "-8.47E+12", "%6.3G",
-__LINE__, -8.478488782426476e-07, "-8.478489E-07", "%E",
-__LINE__, -8.478657582923923e+09, "-8.5e+09", "%.2g",
-__LINE__, -8.482732098043366e+12, "-8482732098043", "%5.f",
-__LINE__, -8.489112373854447e+07, "-8.489e+07", "%#3.3e",
-__LINE__, -8.494153144629106e+02, "-849.415", "%+g",
-__LINE__, -8.496331191616493e+28, "-8E+28", "%+6.G",
-__LINE__, -8.503711894495339e+05, "-850371", "%g",
-__LINE__, -8.505271893964268e+14, "-8.505272E+14", "%E",
-__LINE__, -8.509873985358741e+15, "-9.e+15", "%#7.g",
-__LINE__, -8.518336897898081e-20, "-8.51834E-20", "%G",
-__LINE__, -8.529588044136128e+21, "-8.529588E+21", "%E",
-__LINE__, -8.539706586811079e-23, "-8.53971E-23", "%G",
-__LINE__, -8.545924619642008e+10, "-8.545925e+10", "%6e",
-__LINE__, -8.572893681637353e+09, "-8.57289E+09", "%G",
-__LINE__, -8.585483717692345e+29, "-8.58548E+29", "%+G",
-__LINE__, -8.586092014292309e+27, "-8.59e+27", "%.2e",
-__LINE__, -8.604716827086833e-26, "-8.60472e-26", "%g",
-__LINE__, -8.621349224186615e-04, "-0.000862", "%f",
-__LINE__, -8.626097065201103e-21, " -0", "%5.f",
-__LINE__, -8.631700514212522e-16, "-8.631701E-16", "%+E",
-__LINE__, -8.634703359975640e-09, "-0.000000", "%+5f",
-__LINE__, -8.639393025443855e-17, "-8.63939e-17", "%g",
-__LINE__, -8.640641942556812e-11, "-8.64064e-11", "%#g",
-__LINE__, -8.646260250525495e-09, "-0.000", "%.3f",
-__LINE__, -8.667322015806242e+09, "-8667322015.806242", "%+#f",
-__LINE__, -8.690705655554451e+10, "-8.690706E+10", "%#E",
-__LINE__, -8.714299893763934e-07, "-8.7143E-07", "%.5G",
-__LINE__, -8.715729756264988e+27, "-8.71573E+27", "%+.6G",
-__LINE__, -8.716518487180945e+16, "-9e+16", "%3.e",
-__LINE__, -8.744404488756237e+25, "-87444044887562366596966967.335902", "%4f",
-__LINE__, -8.754720498369242e+13, "-8.75472e+13", "%g",
-__LINE__, -8.763198097931010e-19, "-8.76320e-19", "%#g",
-__LINE__, -8.779007408852458e+28, "-8.77901E+28", "%G",
-__LINE__, -8.794576202907937e+11, "-8.79458E+11", "%#2.6G",
-__LINE__, -8.799091520612418e-11, "-8.799E-11", "%3.4G",
-__LINE__, -8.799246265524921e+11, "-8.79925E+11", "%G",
-__LINE__, -8.809010508550436e-04, "-8.8090E-04", "%.4E",
-__LINE__, -8.817389999872653e-10, "-8.81739e-10", "%g",
-__LINE__, -8.842022428985267e-28, "-8.842022E-28", "%E",
-__LINE__, -8.851265987586864e-07, "-0.000001", "%f",
-__LINE__, -8.861985131432196e+03, "-8861.985", "%+.7G",
-__LINE__, -8.874449013455113e-29, "-8.874449e-29", "%e",
-__LINE__, -8.878752609483453e+18, "-8.87875E+18", "%G",
-__LINE__, -8.882501665315313e-04, "-0.00088825", "%+G",
-__LINE__, -8.892056241505784e-14, "-8.89206E-14", "%G",
-__LINE__, -8.895327674961603e-30, "-8.89533E-30", "%G",
-__LINE__, -8.900059462213669e-30, "-8.900059E-30", "%+#E",
-__LINE__, -8.957100548759815e+18, "-9e+18", "%3.0e",
-__LINE__, -8.961352369869012e-30, "-8.961352e-30", "%+#2e",
-__LINE__, -8.962296474587800e+02, "-896", "%4.f",
-__LINE__, -8.962536469328530e-12, "-8.96254E-12", "%G",
-__LINE__, -8.963299420391932e+21, "-8.9633e+21", "%g",
-__LINE__, -8.967736672941522e-11, "-8.96774e-11", "%g",
-__LINE__, -8.994077362462679e+11, "-8.9940774e+11", "%+#.7e",
-__LINE__, -9.000452862345622e+15, "-9e+15", "%2.e",
-__LINE__, -9.007489135361462e+07, "-9.0075E+07", "%+2.4E",
-__LINE__, -9.036271805879910e+16, "-9.03627E+16", "%G",
-__LINE__, -9.036319073700248e+22, "-9.03632e+22", "%1g",
-__LINE__, -9.043207635989237e+11, "-9.043208e+11", "%#e",
-__LINE__, -9.043856598625815e-26, "-9e-26", "%+1.g",
-__LINE__, -9.052760561065698e+14, "-9.052761E+14", "%E",
-__LINE__, -9.066480297957160e-06, "-9E-06", "%+1.G",
-__LINE__, -9.070971376440752e-01, "-0.907097", "%g",
-__LINE__, -9.073301831888273e+09, "-9.07330E+09", "%#G",
-__LINE__, -9.091228662702147e+28, "-9E+28", "%4.G",
-__LINE__, -9.093652024983832e+04, "-9.093652E+04", "%7.6E",
-__LINE__, -9.098945831139295e-04, "-9.098946E-04", "%+1.6E",
-__LINE__, -9.124981449916591e+05, "-912498", "%G",
-__LINE__, -9.132038703003394e-02, "-0.0913204", "%#G",
-__LINE__, -9.138271437433964e-04, "-0.000913827", "%5g",
-__LINE__, -9.158186427463699e-04, "-0.000915819", "%g",
-__LINE__, -9.160846358172526e+16, "-9.160846E+16", "%#E",
-__LINE__, -9.160884330810163e+17, "-9E+17", "%+5.G",
-__LINE__, -9.190271387375542e+21, "-9.19027e+21", "%+g",
-__LINE__, -9.191651872412619e-04, "-9.191652E-04", "%E",
-__LINE__, -9.196426161984341e-10, "-9E-10", "%4.G",
-__LINE__, -9.201074139774962e+09, "-9E+09", "%4.G",
-__LINE__, -9.223294284802762e+09, "-9.22329E+09", "%G",
-__LINE__, -9.224740266754996e+02, "-9E+02", "%6.0G",
-__LINE__, -9.231583780512302e-01, " -0.9", "%6.g",
-__LINE__, -9.241998826543689e+07, "-92419988", "%1.f",
-__LINE__, -9.243603351372128e+27, "-9.243603e+27", "%#e",
-__LINE__, -9.255922697415071e+11, "-9.25592e+11", "%g",
-__LINE__, -9.265734968114124e-02, "-0.092657", "%f",
-__LINE__, -9.273132068521061e+11, "-9.27313E+11", "%G",
-__LINE__, -9.276017912826685e+27, "-9.E+27", "%+#5.G",
-__LINE__, -9.279781279788505e+17, "-9.27978E+17", "%7G",
-__LINE__, -9.305057549822465e-19, "-9.30506E-19", "%5G",
-__LINE__, -9.313182384508469e+18, "-9.31318E+18", "%G",
-__LINE__, -9.313350925182641e-12, "-9.31E-12", "%.3G",
-__LINE__, -9.362202657509130e+08, "-9e+08", "%.1g",
-__LINE__, -9.367344757598381e+19, "-9.36734e+19", "%g",
-__LINE__, -9.374222399774300e+26, "-9.37422e+26", "%4g",
-__LINE__, -9.385734023305105e+02, "-9.385734e+02", "%+0e",
-__LINE__, -9.392042570618909e+17, "-9.39204E+17", "%G",
-__LINE__, -9.395742939311926e+20, "-939574293931192627837.8451", "%.4f",
-__LINE__, -9.409066155962469e+09, "-9.40907E+09", "%#G",
-__LINE__, -9.412851077799790e+23, "-9.412851E+23", "%E",
-__LINE__, -9.431808019049818e+08, "-9.43181e+08", "%g",
-__LINE__, -9.465236900519924e-27, "-9.46524e-27", "%g",
-__LINE__, -9.478330386415852e+17, "-9.478330e+17", "%e",
-__LINE__, -9.510393719697428e+15, "-9.51039E+15", "%+G",
-__LINE__, -9.534229599909890e-09, "-0.000000", "%f",
-__LINE__, -9.541731189284823e-17, "-1.E-16", "%+#7.G",
-__LINE__, -9.548861908445902e+24, "-9548861908445902102471336.547751", "%f",
-__LINE__, -9.578447281451794e+14, "-957844728145179", "%5.f",
-__LINE__, -9.580512736933464e+11, "-9.58051E+11", "%G",
-__LINE__, -9.596838169770637e-28, "-1E-27", "%+6.G",
-__LINE__, -9.597528852877852e-22, "-1e-21", "%2.1g",
-__LINE__, -9.599943658427051e+02, "-9.599944E+02", "%E",
-__LINE__, -9.603227991185260e-14, "-1E-13", "%+0.E",
-__LINE__, -9.606818733892343e+08, "-960681873.389", "%1.3f",
-__LINE__, -9.617442692720937e+16, "-9.61744E+16", "%G",
-__LINE__, -9.628685516961109e+29, "-9.62869e+29", "%3g",
-__LINE__, -9.638354750455226e-11, "-0.000000", "%f",
-__LINE__, -9.644266379029137e+16, "-96442663790291369.707575", "%f",
-__LINE__, -9.645563533575482e+06, "-1E+07", "%1.G",
-__LINE__, -9.645993536742941e-29, "-9.64599e-29", "%+g",
-__LINE__, -9.647147223548563e+00, "-9.647147e+00", "%e",
-__LINE__, -9.671225879906396e-11, "-0", "%0.f",
-__LINE__, -9.675000471729906e-09, "-9.675000E-09", "%E",
-__LINE__, -9.683992878297159e-26, "-9.68e-26", "%2.2e",
-__LINE__, -9.695491325144765e+10, "-9.69549E+10", "%#G",
-__LINE__, -9.695661526907136e-24, " -0.", "%#6.f",
-__LINE__, -9.703124881970338e+07, "-9.703e+07", "%0.4g",
-__LINE__, -9.707701257031864e+26, "-970770125703186437249314622.022212", "%f",
-__LINE__, -9.709879792694702e+09, "-9.709880E+09", "%E",
-__LINE__, -9.736052226907940e+26, "-9.73605e+26", "%+#g",
-__LINE__, -9.745037157520795e+07, "-9.74504e+07", "%#5.6g",
-__LINE__, -9.757293950670832e-29, "-9.757E-29", "%0.4G",
-__LINE__, -9.762126832689880e+12, "-9.76213E+12", "%G",
-__LINE__, -9.801328150341989e-01, " -1", "%7.G",
-__LINE__, -9.837332964629669e-20, "-9.83733E-20", "%0G",
-__LINE__, -9.837790327283010e+23, "-1E+24", "%.1G",
-__LINE__, -9.839636176463729e+23, "-9.83964E+23", "%#6.5E",
-__LINE__, -9.841454250618272e+11, "-9.84E+11", "%+2.3G",
-__LINE__, -9.852920805249280e-12, "-9.852921e-12", "%.7g",
-__LINE__, -9.854092850182351e+12, "-9.85409e+12", "%0g",
-__LINE__, -9.866796026839712e+02, "-9.9E+02", "%#.1E",
-__LINE__, -9.867413260289803e-21, "-1e-20", "%.1g",
-__LINE__, -9.882136052131983e-08, "-9.88214e-08", "%g",
-__LINE__, -9.882755697941866e+20, "-9.882756E+20", "%E",
-__LINE__, -9.897275811087050e+20, "-9.9E+20", "%0.3G",
-__LINE__, -9.899860651812364e-04, "-9.899861e-04", "%e",
-__LINE__, -9.906754113555550e-11, "-9.90675e-11", "%3g",
-__LINE__, -9.926067557389940e+11, "-9.92607E+11", "%G",
-__LINE__, -9.929638609014063e+17, "-992963860901406292.214233", "%1f",
-__LINE__, -9.941214552193284e-24, "-0.000000", "%+#f",
-__LINE__, -9.942875240256573e+14, "-9.942875e+14", "%+1e",
-__LINE__, -9.944492909695798e-01, "-9.944E-01", "%.3E",
-__LINE__, -9.954710507359939e-27, "-1e-26", "%+0.2g",
-__LINE__, -9.955410507742851e+03, "-9955.41", "%+G",
-__LINE__, -9.974437672251590e+02, "-997.444", "%#G",
-__LINE__, -9.975683165288929e-26, "-9.97568E-26", "%6G",
-__LINE__, 1.003827370583415e+06, "1003827.370583", "%3f",
-__LINE__, 1.004189065268560e-27, "1.004189E-27", "%.7G",
-__LINE__, 1.005840059175462e-28, "+1.00584E-28", "%+G",
-__LINE__, 1.006586790090557e-12, "0.000000", "%#f",
-__LINE__, 1.007598594773359e+18, "1.0076E+18", "%G",
-__LINE__, 1.007902307001894e+29, "1.0079e+29", "%g",
-__LINE__, 1.008607405036580e-15, "1.00861E-15", "%6G",
-__LINE__, 1.008769102466771e+16, "+1.00877E+16", "%+G",
-__LINE__, 1.009545698372534e-08, "+1E-08", "%+0.0G",
-__LINE__, 1.010173673945099e-12, "+1.01017e-12", "%+#0g",
-__LINE__, 1.011375000606627e+09, "1011375000.606627", "%f",
-__LINE__, 1.011944652221650e+15, "1011944652221649.98", "%3.2f",
-__LINE__, 1.013057788090379e-21, "0.000000", "%#f",
-__LINE__, 1.014525729953198e+15, "1.01453e+15", "%3g",
-__LINE__, 1.016760538234615e-21, "+1.016761E-21", "%+3E",
-__LINE__, 1.017052611781237e-29, "0.000000", "%f",
-__LINE__, 1.018471223361229e+14, "1.01847E+14", "%G",
-__LINE__, 1.021646959220873e+15, "1021646959220872.6", "%4.1f",
-__LINE__, 1.022304833976590e+27, "1.0223e+27", "%g",
-__LINE__, 1.022500312067325e-12, "1.0225e-12", "%6g",
-__LINE__, 1.023019285462627e-20, "0.000000", "%f",
-__LINE__, 1.024192579400824e+06, "1.02419e+06", "%g",
-__LINE__, 1.024517953555766e-28, "1.02452E-28", "%G",
-__LINE__, 1.026673589339585e+21, "1.02667E+21", "%G",
-__LINE__, 1.027231090958880e-19, "1.E-19", "%#3.G",
-__LINE__, 1.028249904956487e-27, "1E-27", "%5.G",
-__LINE__, 1.028570144661448e-28, "+1.02857E-28", "%+G",
-__LINE__, 1.028934898454705e-13, "+1.028935E-13", "%+E",
-__LINE__, 1.029071053545906e-26, "1.029071E-26", "%E",
-__LINE__, 1.032672895881148e-30, "+1.032673E-30", "%+E",
-__LINE__, 1.033502358979511e+06, "1.0335E+06", "%.5G",
-__LINE__, 1.036790427717847e+19, "1e+19", "%4.g",
-__LINE__, 1.037022928821648e+03, "1037.02", "%5g",
-__LINE__, 1.040551683941284e+14, "1.04055E+14", "%G",
-__LINE__, 1.044499252101308e-17, "1.044499E-17", "%E",
-__LINE__, 1.045791899570889e+15, "+1.04579e+15", "%+g",
-__LINE__, 1.048730383198703e+28, "1.049e+28", "%.4g",
-__LINE__, 1.050654419882509e-18, "0.000000", "%f",
-__LINE__, 1.052600569262127e-27, "+0.000", "%+2.3f",
-__LINE__, 1.053213014784149e+15, "1E+15", "%4.G",
-__LINE__, 1.057553916225948e-15, "+0.000000", "%+4f",
-__LINE__, 1.058191244482453e+19, "1.058e+19", "%.3e",
-__LINE__, 1.058746269793972e-26, "+1.1E-26", "%+.2G",
-__LINE__, 1.058793271960762e-01, "+1.058793E-01", "%+4E",
-__LINE__, 1.058869592738370e-19, "1.05887e-19", "%3g",
-__LINE__, 1.060402312803008e+15, "1060402312803008.229025", "%f",
-__LINE__, 1.061106284763095e+00, "1.061106", "%0f",
-__LINE__, 1.061180160987467e+09, "1e+09", "%2.g",
-__LINE__, 1.061181537176067e-06, "+1.06118e-06", "%+g",
-__LINE__, 1.065021381771174e+20, "1.06502e+20", "%g",
-__LINE__, 1.065464040401130e-16, "1.065464e-16", "%e",
-__LINE__, 1.065573419819459e-05, "0.00001", "%.5f",
-__LINE__, 1.066107764306644e+13, "1.066108e+13", "%#e",
-__LINE__, 1.071318759598956e+12, "1.071319e+12", "%e",
-__LINE__, 1.071564727222321e+10, "1.072E+10", "%3.4G",
-__LINE__, 1.074652481218139e+14, "1.0747E+14", "%.4E",
-__LINE__, 1.078453684911309e-02, "0.0107845", "%g",
-__LINE__, 1.078550811446675e-05, "1.07855e-05", "%g",
-__LINE__, 1.078780494515273e-04, "0.000107878", "%4G",
-__LINE__, 1.079467488876157e-16, "+1.079467E-16", "%+E",
-__LINE__, 1.080529722917934e-20, "0.000000", "%f",
-__LINE__, 1.082169127709439e+01, "10.8217", "%#5g",
-__LINE__, 1.087241285590951e+22, "1E+22", "%4.G",
-__LINE__, 1.091049208406195e-14, "0.0000", "%.4f",
-__LINE__, 1.095316064213237e+16, "+1e+16", "%+0.g",
-__LINE__, 1.095349083237975e-04, "1.095349e-04", "%5e",
-__LINE__, 1.098002465452836e+12, "1098002465452.836205", "%f",
-__LINE__, 1.098445764138997e+13, "1.09845E+13", "%G",
-__LINE__, 1.099968047892474e-13, "1.1e-13", "%2.5g",
-__LINE__, 1.101017598311363e-04, "0.000110102", "%G",
-__LINE__, 1.102776332077817e+18, "1.103e+18", "%.3e",
-__LINE__, 1.103734053887830e-01, "0.110373", "%f",
-__LINE__, 1.105730106869006e-03, "0.00110573", "%g",
-__LINE__, 1.106366781854058e-10, "1.10637e-10", "%g",
-__LINE__, 1.107354763213839e+15, "1.107355e+15", "%6e",
-__LINE__, 1.108151709609825e-10, "+1.10815E-10", "%+G",
-__LINE__, 1.110054501993647e+21, "+1.11005E+21", "%+G",
-__LINE__, 1.111574814737873e-17, "+1.112E-17", "%+1.4G",
-__LINE__, 1.111865512360108e-15, "1E-15", "%.0G",
-__LINE__, 1.112281568330498e-03, "1.112282e-03", "%.6e",
-__LINE__, 1.112625415174238e+21, "+1.11263e+21", "%+g",
-__LINE__, 1.112744974910395e-02, "0.011127", "%f",
-__LINE__, 1.114726566979885e-10, "1.11473e-10", "%g",
-__LINE__, 1.115395843055731e-20, "+0.000000", "%+6f",
-__LINE__, 1.115983414693121e+15, "1.11598e+15", "%5.6g",
-__LINE__, 1.116118842074266e+27, "1.116119e+27", "%e",
-__LINE__, 1.118386983012328e+19, "11183869830123276400.968280", "%1f",
-__LINE__, 1.119344607892718e-22, "1.119345e-22", "%e",
-__LINE__, 1.120560837110279e-19, "0.000000", "%f",
-__LINE__, 1.123620157906291e-02, "0.0112362", "%G",
-__LINE__, 1.126804857639478e+29, "1.1268E+29", "%#0.5G",
-__LINE__, 1.128962199461581e+11, "1.12896e+11", "%g",
-__LINE__, 1.129878714246809e-16, "1E-16", "%0.0G",
-__LINE__, 1.130331982972407e-06, "+0.", "%+#1.f",
-__LINE__, 1.134167332070028e-16, "0", "%0.0f",
-__LINE__, 1.134248080053598e-28, "0.000000", "%f",
-__LINE__, 1.136023160708119e-10, "+0.000000", "%+1f",
-__LINE__, 1.136167141059036e+23, "113616714105903593434732.101741", "%f",
-__LINE__, 1.136439499920164e+10, "+1.13644E+10", "%+G",
-__LINE__, 1.136859734932182e+24, "1.13686e+24", "%g",
-__LINE__, 1.138985939448731e+09, "1.13899e+09", "%2g",
-__LINE__, 1.139287324790407e-25, "1e-25", "%.1g",
-__LINE__, 1.140559912153251e+06, "1.14056e+06", "%g",
-__LINE__, 1.141318036027086e-26, "1.14132E-26", "%G",
-__LINE__, 1.142586049368452e-20, "+1.14259E-20", "%+7.5E",
-__LINE__, 1.143283863993333e-17, "1.143284E-17", "%3E",
-__LINE__, 1.144637911632432e-28, "1.144638E-28", "%#3E",
-__LINE__, 1.145791416532065e-10, "1.14579e-10", "%g",
-__LINE__, 1.146958047315780e-17, "1.146958e-17", "%e",
-__LINE__, 1.147898346886569e-08, "1E-08", "%3.0E",
-__LINE__, 1.149724744965608e-14, "1.14972e-14", "%5g",
-__LINE__, 1.155383721940441e-10, "1e-10", "%1.g",
-__LINE__, 1.157066617729094e-02, "0", "%1.f",
-__LINE__, 1.157893614537215e+05, "1.157894E+05", "%E",
-__LINE__, 1.160476344451928e-19, "1.2e-19", "%.1e",
-__LINE__, 1.161610499315966e-26, "1.161610E-26", "%E",
-__LINE__, 1.162345042181490e+29, "116234504218148981813385489658.685401", "%5.6f",
-__LINE__, 1.162376053722862e+23, "1.16238e+23", "%g",
-__LINE__, 1.162996084782483e+18, "+1e+18", "%+0.g",
-__LINE__, 1.163544861478966e+26, "1.16354E+26", "%G",
-__LINE__, 1.167300137450931e+06, "1E+06", "%.0G",
-__LINE__, 1.168693829096401e-30, "+1.16869e-30", "%+g",
-__LINE__, 1.172791369381396e+15, "1.173E+15", "%.4G",
-__LINE__, 1.174427110782028e-29, " 1E-29", "%7.G",
-__LINE__, 1.179498322112450e+27, "1179498322112449759657692993.641831", "%f",
-__LINE__, 1.179555606293547e+27, "1.17956e+27", "%3g",
-__LINE__, 1.180815814881269e+06, "1.180816e+06", "%e",
-__LINE__, 1.181494870072805e+20, "1.181495e+20", "%5e",
-__LINE__, 1.181524119225619e+12, "+1181524119225.61917", "%+5.5f",
-__LINE__, 1.182111212289243e-20, "1e-20", "%4.g",
-__LINE__, 1.184503315019769e-27, "1.1845e-27", "%7g",
-__LINE__, 1.186413646767670e+29, "1.18641e+29", "%g",
-__LINE__, 1.186852938885004e-13, "1.18685e-13", "%4g",
-__LINE__, 1.188837612473914e+05, "1e+05", "%.0g",
-__LINE__, 1.190317482928293e-29, "1.190317e-29", "%e",
-__LINE__, 1.190527491143987e+02, "1.190527E+02", "%E",
-__LINE__, 1.191823062060233e-30, "1.2E-30", "%6.2G",
-__LINE__, 1.191926974812428e-23, "1.2e-23", "%.2g",
-__LINE__, 1.193549622366544e-25, "1E-25", "%4.1G",
-__LINE__, 1.195517368629765e-21, "1.195517e-21", "%1.7g",
-__LINE__, 1.195573061651289e-27, "1.19557e-27", "%#g",
-__LINE__, 1.195806681188325e-03, "+0.00120", "%+#.3G",
-__LINE__, 1.196842275192189e-28, "1.19684e-28", "%g",
-__LINE__, 1.197307550969576e+04, "1.1973E+04", "%.4E",
-__LINE__, 1.197608525847607e+15, "1197608525847606.8062805", "%4.7f",
-__LINE__, 1.197801338159407e+04, "11978", "%5G",
-__LINE__, 1.197813329735025e+27, "1.19781E+27", "%7G",
-__LINE__, 1.199483904123253e-12, "1.19948e-12", "%g",
-__LINE__, 1.199535292169766e-09, "1.199535e-09", "%e",
-__LINE__, 1.201478067515135e+05, "120147.806752", "%f",
-__LINE__, 1.202054662662158e+17, "1.20205E+17", "%#G",
-__LINE__, 1.202111922368321e+07, "+1.202112E+07", "%+#E",
-__LINE__, 1.202536892743791e-01, "0.120254", "%#g",
-__LINE__, 1.205698674119882e-29, "1.2057E-29", "%G",
-__LINE__, 1.208091664701942e-13, " 0.", "%#3.f",
-__LINE__, 1.208942413954872e-17, "1.20894E-17", "%G",
-__LINE__, 1.209704891496613e+10, "1.210e+10", "%2.3e",
-__LINE__, 1.211355639334831e+29, "1E+29", "%.0G",
-__LINE__, 1.211447553804203e+17, " 1E+17", "%7.E",
-__LINE__, 1.212481583429790e-16, "1.212482e-16", "%e",
-__LINE__, 1.212849001551862e+26, "121284900155186181613942153.4899157", "%6.7f",
-__LINE__, 1.213057538677801e+06, "1213057.538678", "%#.6f",
-__LINE__, 1.214609592911893e+25, "1.214610e+25", "%#e",
-__LINE__, 1.216086266251665e+01, "1e+01", "%5.e",
-__LINE__, 1.216468565931026e-22, "1.216469E-22", "%1E",
-__LINE__, 1.216503126598765e+14, "+1E+14", "%+0.E",
-__LINE__, 1.216641013695553e-14, "0.000000", "%f",
-__LINE__, 1.223142246779504e-23, "0.000000", "%f",
-__LINE__, 1.223884786443274e+08, "122388479", "%5.f",
-__LINE__, 1.224012562770076e+29, "1.22401e+29", "%0g",
-__LINE__, 1.225098157528297e+14, "1.22510e+14", "%#g",
-__LINE__, 1.226306848505242e-22, "1.22631E-22", "%G",
-__LINE__, 1.227487485547996e-08, "+1.22749e-08", "%+g",
-__LINE__, 1.237206486909689e+02, "+123.721", "%+#.6g",
-__LINE__, 1.240281126177077e-02, "+0.01", "%+3.g",
-__LINE__, 1.241197211306994e-06, "1.241197E-06", "%E",
-__LINE__, 1.241776311097410e+07, "1.241776E+07", "%E",
-__LINE__, 1.245995986024999e-03, "0.001246", "%g",
-__LINE__, 1.246082428199607e+03, "1246.082428", "%f",
-__LINE__, 1.247021567954220e+05, " 1e+05", "%7.g",
-__LINE__, 1.248140089618390e-30, "+1.24814E-30", "%+G",
-__LINE__, 1.248403361652064e-30, "+0.000000", "%+f",
-__LINE__, 1.251098538918842e-26, "+1.251099E-26", "%+E",
-__LINE__, 1.251952633022061e+25, "1.25195e+25", "%g",
-__LINE__, 1.253029705843461e-04, "+1.E-04", "%+#4.E",
-__LINE__, 1.259562132729488e-09, "1e-09", "%1.e",
-__LINE__, 1.261702205492260e-27, "0.000000", "%f",
-__LINE__, 1.265910361926660e-19, "+1.265910e-19", "%+e",
-__LINE__, 1.267411912651087e+12, "1.26741E+12", "%1G",
-__LINE__, 1.267830718285980e-10, "1.26783e-10", "%g",
-__LINE__, 1.268238378987517e-23, "1E-23", "%5.E",
-__LINE__, 1.275543253354167e+10, "1.27554E+10", "%G",
-__LINE__, 1.277255234454465e-10, "1.27726E-10", "%5G",
-__LINE__, 1.280590949834150e-21, "1.280591E-21", "%E",
-__LINE__, 1.285570453788242e-02, "1.285570E-02", "%E",
-__LINE__, 1.287712130719031e+09, "1287712130.719031", "%#f",
-__LINE__, 1.290142876187105e+29, "+1.290143E+29", "%+E",
-__LINE__, 1.293129213191961e+21, "1.29313E+21", "%G",
-__LINE__, 1.293317101334714e-23, "+0.000000", "%+f",
-__LINE__, 1.294506813069071e-13, "0.0", "%3.1f",
-__LINE__, 1.295576232685739e-22, "+0.000000", "%+f",
-__LINE__, 1.296010470431800e-19, "+0.000000", "%+6f",
-__LINE__, 1.298798231947674e+19, "1.2988E+19", "%2G",
-__LINE__, 1.299521114379381e+09, "1.29952E+09", "%G",
-__LINE__, 1.299847637892712e+24, "1.299848e+24", "%e",
-__LINE__, 1.301269777843698e+29, "130126977784369834978406288428.232074", "%f",
-__LINE__, 1.302911786437618e-15, " 0", "%6.f",
-__LINE__, 1.303863159906719e+27, "1303863159906719415559450681", "%0.f",
-__LINE__, 1.304396472326846e-12, "+1E-12", "%+1.0G",
-__LINE__, 1.306180443528427e-30, "+1e-30", "%+.1g",
-__LINE__, 1.308469138968514e+22, "1.30847E+22", "%0G",
-__LINE__, 1.312700156826057e-11, "1.3127e-11", "%g",
-__LINE__, 1.315364075120764e+21, "+1.31536E+21", "%+G",
-__LINE__, 1.320376485288444e-09, "+1.3204E-09", "%+6.5G",
-__LINE__, 1.321434154364635e-08, "1.32143e-08", "%1g",
-__LINE__, 1.322777272579176e+19, "+1e+19", "%+3.e",
-__LINE__, 1.322861663428564e+00, "1.322862E+00", "%#E",
-__LINE__, 1.323566013489230e+14, "+1.323566E+14", "%+1E",
-__LINE__, 1.327446904132973e-20, "+1.32745E-20", "%+4.6G",
-__LINE__, 1.328226362528158e+19, "1e+19", "%2.g",
-__LINE__, 1.329167460803610e+08, "1e+08", "%3.g",
-__LINE__, 1.335371420823160e+14, "1.33537E+14", "%7G",
-__LINE__, 1.336116185095935e-21, "0.000000", "%f",
-__LINE__, 1.338766774704671e-22, "+1.33877e-22", "%+g",
-__LINE__, 1.339199373014647e-12, "1E-12", "%1.E",
-__LINE__, 1.344293357481519e+26, "134429335748151945750805680.290796", "%#2f",
-__LINE__, 1.344328188122843e+29, "1.34433e+29", "%g",
-__LINE__, 1.344382581316972e-05, "1E-05", "%5.0E",
-__LINE__, 1.349835616116184e+11, "134983561611.6", "%2.1f",
-__LINE__, 1.349955669989707e+20, "134995566998970728533.890906", "%7f",
-__LINE__, 1.350230411093841e+20, "135023041109384145386.229648", "%f",
-__LINE__, 1.353391369565576e+10, " 1E+10", "%7.1G",
-__LINE__, 1.356889483699471e+22, "+1.35689E+22", "%+G",
-__LINE__, 1.358141775798243e+24, "+1358141775798242578687791.137781", "%+f",
-__LINE__, 1.358547541975523e-15, "1.35855e-15", "%g",
-__LINE__, 1.363402539800791e+11, "1.3634E+11", "%G",
-__LINE__, 1.363676837988798e+16, "+13636768379887982.4053", "%+2.4f",
-__LINE__, 1.364592026494839e-24, "1.36459e-24", "%g",
-__LINE__, 1.366664212399413e-09, "+1E-09", "%+6.G",
-__LINE__, 1.367446193117463e-17, "1.3674e-17", "%2.4e",
-__LINE__, 1.368681648785823e-18, "1.36868E-18", "%3G",
-__LINE__, 1.370635189583606e+05, "1.370635E+05", "%E",
-__LINE__, 1.371395540772186e-18, "+1.371396e-18", "%+e",
-__LINE__, 1.371945318043159e+10, "1E+10", "%0.E",
-__LINE__, 1.373780604772988e-21, "1e-21", "%3.g",
-__LINE__, 1.374244970441862e-28, "0.000000", "%7.6f",
-__LINE__, 1.375874695067149e-25, "1.37587E-25", "%#3G",
-__LINE__, 1.377165614832621e+20, "1.37717E+20", "%#G",
-__LINE__, 1.381541864946684e-09, "1.38154E-09", "%G",
-__LINE__, 1.382901694835415e+00, "1.382902E+00", "%E",
-__LINE__, 1.384250577530184e-21, "1.384e-21", "%.4g",
-__LINE__, 1.385322753374640e-03, " 1E-03", "%6.E",
-__LINE__, 1.387026156054724e+19, "1.387026E+19", "%E",
-__LINE__, 1.388726735790498e-27, "+1.388727E-27", "%+E",
-__LINE__, 1.388819105742044e+16, "1.38882e+16", "%g",
-__LINE__, 1.389941086024951e-19, "0.000000", "%f",
-__LINE__, 1.390101174785536e+25, "1.3901E+25", "%G",
-__LINE__, 1.392210785638597e+24, "+1.39221E+24", "%+G",
-__LINE__, 1.396148856283474e-26, "1.4e-26", "%7.3g",
-__LINE__, 1.398153728631994e-21, "1.39815E-21", "%G",
-__LINE__, 1.398332446762342e-14, "+1.39833E-14", "%+5G",
-__LINE__, 1.400250919607987e+10, "1.40025E+10", "%G",
-__LINE__, 1.400662469019739e+03, "1.E+03", "%#0.0E",
-__LINE__, 1.401720273747805e-12, "0.000000", "%#f",
-__LINE__, 1.402151358748719e+22, "1.402151e+22", "%e",
-__LINE__, 1.402351913752357e-28, "1.40235E-28", "%#1.6G",
-__LINE__, 1.403285877973810e+13, "+14032858779738.097255", "%+4f",
-__LINE__, 1.404540981735861e+04, "14045.409817", "%4f",
-__LINE__, 1.406420622355064e+19, "1.40642E+19", "%G",
-__LINE__, 1.412552725962301e-29, "+1e-29", "%+1.e",
-__LINE__, 1.413266982485044e+10, "1.41327e+10", "%g",
-__LINE__, 1.413627189411456e+21, "1.41363E+21", "%0G",
-__LINE__, 1.416647216002592e-25, "+0.000000", "%+#f",
-__LINE__, 1.417107155080584e-10, "1e-10", "%1.e",
-__LINE__, 1.418829895346648e+19, "14188298953466484952.912197", "%f",
-__LINE__, 1.419404559267523e-11, "1.4194e-11", "%g",
-__LINE__, 1.422421321425472e+15, "1.422421E+15", "%E",
-__LINE__, 1.424858902008998e+18, "1.42486E+18", "%2.5E",
-__LINE__, 1.428863051254205e+22, "1.428863e+22", "%e",
-__LINE__, 1.429533727936725e-02, "0.0142953", "%g",
-__LINE__, 1.430982219743369e-19, " 1E-19", "%6.G",
-__LINE__, 1.431974118434703e+17, "1E+17", "%3.G",
-__LINE__, 1.432418341970152e+16, "+1.432418e+16", "%+5e",
-__LINE__, 1.433470281650523e+04, "14334.7", "%g",
-__LINE__, 1.434446243424653e+24, " +1e+24", "%+7.g",
-__LINE__, 1.435118019241039e+24, "+1e+24", "%+4.g",
-__LINE__, 1.435691648420278e-01, "0.1435692", "%#4.7g",
-__LINE__, 1.437569598098744e+27, "1.437570E+27", "%#E",
-__LINE__, 1.437633484061726e-25, "+1.43763e-25", "%+7g",
-__LINE__, 1.437866591230707e-13, "1.43787e-13", "%g",
-__LINE__, 1.440593154445915e-01, "+0.144059", "%+1G",
-__LINE__, 1.441368205977342e+16, "1.441368E+16", "%#E",
-__LINE__, 1.441825266684367e+28, "1.44183e+28", "%g",
-__LINE__, 1.442374183199456e+20, "1.442374E+20", "%E",
-__LINE__, 1.445101893951061e-24, "0", "%0.f",
-__LINE__, 1.446037835160094e-20, "+1.44604E-20", "%+2G",
-__LINE__, 1.449245376093616e+04, "1.449245e+04", "%e",
-__LINE__, 1.454126845620100e+09, "1.45413E+09", "%G",
-__LINE__, 1.455764608801107e+09, "1.5e+09", "%6.1e",
-__LINE__, 1.457176183149955e-12, "1.45718e-12", "%#g",
-__LINE__, 1.458821535020046e-05, "1.45882e-05", "%#g",
-__LINE__, 1.460179141161202e-19, "1.460179E-19", "%#E",
-__LINE__, 1.461701055446198e-20, "1.461701e-20", "%#2.7g",
-__LINE__, 1.462408181482172e+10, "1.4624082E+10", "%3.7E",
-__LINE__, 1.463706296748154e+24, "1e+24", "%2.g",
-__LINE__, 1.464891255780761e-19, "+1.46489e-19", "%+g",
-__LINE__, 1.467903978945872e+25, "1.4679E+25", "%G",
-__LINE__, 1.468585992857062e+22, "14685859928570619281629.205943", "%f",
-__LINE__, 1.469803528668286e+29, "+1E+29", "%+6.G",
-__LINE__, 1.469883002609266e-23, "1.E-23", "%#2.E",
-__LINE__, 1.469941481858809e+08, "+146994148.185881", "%+f",
-__LINE__, 1.470744493304611e+13, "1.47074e+13", "%g",
-__LINE__, 1.471857261085004e+23, "1E+23", "%2.G",
-__LINE__, 1.474419778873037e+06, "1474419.7789", "%#.4f",
-__LINE__, 1.483134762223381e-03, "0", "%0.0f",
-__LINE__, 1.483575501240724e-13, "1.48358e-13", "%g",
-__LINE__, 1.486068112294452e+20, "1.486068e+20", "%e",
-__LINE__, 1.488665528787761e-03, " +0", "%+4.f",
-__LINE__, 1.492145267536713e+07, "14921452.675367", "%f",
-__LINE__, 1.492589762884761e-01, "0.149259", "%f",
-__LINE__, 1.494784286168215e+01, "1.494784E+01", "%E",
-__LINE__, 1.495945331501655e+04, "1.5e+04", "%.2g",
-__LINE__, 1.501383201904700e+14, "2e+14", "%1.g",
-__LINE__, 1.501387105011959e-02, "0.0150139", "%g",
-__LINE__, 1.505784488562271e+26, "1.50578e+26", "%5g",
-__LINE__, 1.506367986495534e+10, "1.50637e+10", "%2g",
-__LINE__, 1.507421710226296e+19, "1.507422E+19", "%#E",
-__LINE__, 1.507960881206134e+16, "2e+16", "%.0g",
-__LINE__, 1.508974301049424e+14, "+1.508974E+14", "%+E",
-__LINE__, 1.509204025111090e-18, "1.509204E-18", "%E",
-__LINE__, 1.511351799767759e+21, "1511351799767759462866.93397", "%.5f",
-__LINE__, 1.511712197184520e-06, "+1.51171e-06", "%+1g",
-__LINE__, 1.514703727491400e+02, "151.47", "%.5g",
-__LINE__, 1.514855355408287e+04, "15148.6", "%g",
-__LINE__, 1.516256896575301e+06, "1.516257e+06", "%.6e",
-__LINE__, 1.517712083681069e+14, "1.51771e+14", "%0g",
-__LINE__, 1.522102209167607e-18, "1.52210e-18", "%#g",
-__LINE__, 1.526264862895663e-12, "0.000000", "%f",
-__LINE__, 1.527165480858125e+10, "1.527e+10", "%.4g",
-__LINE__, 1.528363280308369e+00, "+1.52836", "%+0G",
-__LINE__, 1.529108490733420e-22, "1.529108E-22", "%E",
-__LINE__, 1.529783364474522e+19, "15297833644745216119.531506", "%7f",
-__LINE__, 1.530698363199346e-01, "0.1531", "%#.4f",
-__LINE__, 1.531520796537450e+22, "1.53152E+22", "%G",
-__LINE__, 1.533314559644813e+06, "+1533314.559645", "%+f",
-__LINE__, 1.534682791112854e+01, "+15.3468", "%+0G",
-__LINE__, 1.534714026386730e-11, "0.000000", "%f",
-__LINE__, 1.537145729498115e+00, "1.537146E+00", "%E",
-__LINE__, 1.538740040875751e-23, "1.538740E-23", "%E",
-__LINE__, 1.546248240596482e-03, "0.001546", "%f",
-__LINE__, 1.546808012239302e-09, "+1.54681E-09", "%+G",
-__LINE__, 1.546903877359107e+06, "1.5e+06", "%.2g",
-__LINE__, 1.550153973747718e-18, "2e-18", "%.0g",
-__LINE__, 1.551703460384378e+00, "+1.5517", "%+.4f",
-__LINE__, 1.553995673101369e+29, "1.554E+29", "%G",
-__LINE__, 1.555477017531899e+28, "1.55548e+28", "%g",
-__LINE__, 1.555548963448462e+12, "1555548963448.46227", "%6.5f",
-__LINE__, 1.558702451007712e+16, "2e+16", "%5.1g",
-__LINE__, 1.561641587723724e+29, "1.561642e+29", "%e",
-__LINE__, 1.561868589559509e-05, "1.56187E-05", "%G",
-__LINE__, 1.565229056438949e+13, "1.56523e+13", "%1.6g",
-__LINE__, 1.570074406600442e+14, "+1.57007E+14", "%+4G",
-__LINE__, 1.570951909913194e+13, "1.57095E+13", "%.6G",
-__LINE__, 1.572186421520727e-30, "+1.57219e-30", "%+g",
-__LINE__, 1.574374582066945e+12, "1.57e+12", "%5.2e",
-__LINE__, 1.577789404823585e+12, "1.577789E+12", "%E",
-__LINE__, 1.579641278389186e+04, "15796.413", "%7.3f",
-__LINE__, 1.581602330975388e+17, "1.5816E+17", "%#.5G",
-__LINE__, 1.587809692297490e-18, "+1.58781e-18", "%+2g",
-__LINE__, 1.588672954832388e-05, "1.58867E-05", "%G",
-__LINE__, 1.594548954259978e+25, "+1.595e+25", "%+.3e",
-__LINE__, 1.596653742160718e+10, "15966537421.6072", "%.4f",
-__LINE__, 1.597416186584641e+25, "1.59742e+25", "%g",
-__LINE__, 1.597810706039500e-04, "0.000159781", "%g",
-__LINE__, 1.601425691153542e+01, "16.0143", "%G",
-__LINE__, 1.601491150913706e-15, "+1.60149e-15", "%+g",
-__LINE__, 1.609357026469645e+02, "160.936", "%0g",
-__LINE__, 1.611064881461188e+06, "+1.611065E+06", "%+E",
-__LINE__, 1.611324319640770e-03, "0.00161132", "%G",
-__LINE__, 1.613202907940803e+19, "1.6E+19", "%#.1E",
-__LINE__, 1.613883500056636e-12, "0.000000", "%5f",
-__LINE__, 1.618254213010772e+07, "16182542.130108", "%6f",
-__LINE__, 1.620441271211248e-08, "1.62044E-08", "%0G",
-__LINE__, 1.622548435024803e-01, "+0.162255", "%+5G",
-__LINE__, 1.623740394555269e+19, "16237403945552689066.289531", "%3f",
-__LINE__, 1.625774250389937e+18, "1.625774e+18", "%1e",
-__LINE__, 1.626300864432426e-02, "0.016263", "%G",
-__LINE__, 1.626351146877694e-11, "1.6263511e-11", "%2.7e",
-__LINE__, 1.626568757587995e+25, "16265687575879949733348439.62220", "%6.5f",
-__LINE__, 1.626717482094360e-28, "+1.626717e-28", "%+3e",
-__LINE__, 1.630801585998995e-28, "1.6308e-28", "%0g",
-__LINE__, 1.631827173682962e+03, "1632", "%1.4g",
-__LINE__, 1.631907571243379e+18, "1631907571243378818.337533", "%f",
-__LINE__, 1.632058420447239e-14, " +2E-14", "%+7.G",
-__LINE__, 1.632847882621240e+18, "+1.63285E+18", "%+2G",
-__LINE__, 1.637329146233172e-09, "+1.63733e-09", "%+g",
-__LINE__, 1.638315287442427e-16, "+1.63832E-16", "%+G",
-__LINE__, 1.641284849351445e+15, "1641284849351445.096488", "%f",
-__LINE__, 1.644871927486929e+10, "2e+10", "%1.e",
-__LINE__, 1.645917293047431e-19, "1.64592e-19", "%.6g",
-__LINE__, 1.649201265647819e-07, "0.000000", "%f",
-__LINE__, 1.650169065733559e+23, "165016906573355903731226.135278", "%3f",
-__LINE__, 1.651217291298196e-30, "2E-30", "%4.G",
-__LINE__, 1.652680660160331e+08, "2.e+08", "%#3.g",
-__LINE__, 1.654171892948767e-15, "1.65417e-15", "%g",
-__LINE__, 1.655435863725412e+17, "+1.655436e+17", "%+#e",
-__LINE__, 1.656015606204101e+28, "+1.7E+28", "%+3.2G",
-__LINE__, 1.656814723110478e-21, "+0.000000", "%+f",
-__LINE__, 1.658632655199721e-19, "2.E-19", "%#4.G",
-__LINE__, 1.659915061311444e+27, "1.66E+27", "%.3G",
-__LINE__, 1.664258574522914e-29, "+1.664259E-29", "%+E",
-__LINE__, 1.667662840654469e-28, "+2e-28", "%+0.g",
-__LINE__, 1.673124993246863e-25, "+0.000000", "%+f",
-__LINE__, 1.677788498058833e-20, "1.678e-20", "%.4g",
-__LINE__, 1.681211731173386e-07, "1.68121e-07", "%0.6g",
-__LINE__, 1.686341560076196e+02, "169", "%.0f",
-__LINE__, 1.686507685287281e+08, "1.686508E+08", "%E",
-__LINE__, 1.689500448795801e+03, "+1689.500449", "%+0f",
-__LINE__, 1.690639426041009e-13, "2e-13", "%5.0g",
-__LINE__, 1.691554939595928e+16, "+1.6916e+16", "%+.5g",
-__LINE__, 1.698597126229626e-09, "1.699e-09", "%3.4g",
-__LINE__, 1.700093083173516e+16, "17000930831735159", "%5.f",
-__LINE__, 1.703653732982710e+13, "+1.70365e+13", "%+g",
-__LINE__, 1.705353380573352e-16, "0.000000", "%f",
-__LINE__, 1.705973328700179e-26, "1.70597e-26", "%5g",
-__LINE__, 1.717797289369145e+22, "+1.717797E+22", "%+7E",
-__LINE__, 1.722819196705361e-28, "1.722819E-28", "%1.7G",
-__LINE__, 1.723775772891202e+01, "17.237758", "%f",
-__LINE__, 1.723787102325353e-23, "0.000000", "%2f",
-__LINE__, 1.724551301171870e-13, "0.000000", "%f",
-__LINE__, 1.726098078655758e-20, "0.0000000", "%7.7f",
-__LINE__, 1.726302822039762e+18, "+2E+18", "%+1.G",
-__LINE__, 1.726659209108151e+18, "+1.72666E+18", "%+6G",
-__LINE__, 1.728324925097269e-25, "1.728325e-25", "%7e",
-__LINE__, 1.728357491215602e+02, "172.836", "%G",
-__LINE__, 1.729612227517587e+22, "1.729612e+22", "%e",
-__LINE__, 1.731753104740805e-06, "1.73175e-06", "%2g",
-__LINE__, 1.736066279733589e+18, "+1.736066E+18", "%+3E",
-__LINE__, 1.736626769480182e-19, "2e-19", "%.0g",
-__LINE__, 1.737445267713118e-13, " 2e-13", "%7.g",
-__LINE__, 1.739264683023077e+05, "173926.468302", "%f",
-__LINE__, 1.739423702667596e-16, "+1.73942e-16", "%+g",
-__LINE__, 1.741053616961658e-14, "1.74105E-14", "%G",
-__LINE__, 1.741085952255057e+29, "1.7e+29", "%#.1e",
-__LINE__, 1.743673705633426e+03, "2E+03", "%5.0G",
-__LINE__, 1.750940899205665e+27, "1.75094e+27", "%g",
-__LINE__, 1.753871003884151e-26, "0.", "%#.0f",
-__LINE__, 1.755237470854478e-14, "1.755237e-14", "%4e",
-__LINE__, 1.757491419837315e-03, "0.002", "%1.G",
-__LINE__, 1.758657797688126e+26, "+1.75866E+26", "%+#G",
-__LINE__, 1.760491452270889e+08, "1.76049E+08", "%G",
-__LINE__, 1.760816275862939e-10, "2e-10", "%.1g",
-__LINE__, 1.760905893493003e-22, "1.76e-22", "%.2e",
-__LINE__, 1.762101125986743e-12, "2e-12", "%.0g",
-__LINE__, 1.763855968659571e+27, "1.763856E+27", "%E",
-__LINE__, 1.764595217341348e-13, "1.764595E-13", "%E",
-__LINE__, 1.766737296048445e+08, "+1.77e+08", "%+.3g",
-__LINE__, 1.769916386969961e-05, "+1.76992e-05", "%+g",
-__LINE__, 1.773873506344176e-01, "1.773874e-01", "%e",
-__LINE__, 1.775392554371421e+03, "+1775.39", "%+3.2f",
-__LINE__, 1.776007623006870e+24, "1776007623006870161930237.372871", "%f",
-__LINE__, 1.777418921678653e-27, " 0", "%6.f",
-__LINE__, 1.780967607234234e-18, "1.780968E-18", "%E",
-__LINE__, 1.782510583486435e+24, "+2e+24", "%+3.g",
-__LINE__, 1.784002921603004e+14, "1.784E+14", "%G",
-__LINE__, 1.784231151778382e+11, "1.7842E+11", "%.5G",
-__LINE__, 1.785589091453195e+02, " 179.", "%#5.f",
-__LINE__, 1.786402639400039e+19, "2e+19", "%0.g",
-__LINE__, 1.786506485794647e-25, "2E-25", "%.1G",
-__LINE__, 1.787513971482493e-04, "+0.000178751", "%+G",
-__LINE__, 1.799765409320039e+23, "179976540932003885586710", "%6.0f",
-__LINE__, 1.800451864218989e+08, "+1.80045e+08", "%+g",
-__LINE__, 1.800743538258572e+04, " +18007", "%+7.f",
-__LINE__, 1.801583764453362e+25, "1.8016e+25", "%0.5g",
-__LINE__, 1.804502093739547e+14, "2e+14", "%2.g",
-__LINE__, 1.805600104488678e-17, "1.805600E-17", "%E",
-__LINE__, 1.811342448081048e+17, "1.811342e+17", "%.6e",
-__LINE__, 1.812252160066930e+19, "2e+19", "%0.e",
-__LINE__, 1.816287564395273e+02, "182", "%2.f",
-__LINE__, 1.817097386762552e-13, "2E-13", "%3.1G",
-__LINE__, 1.817881381387254e+06, "1.81788E+06", "%G",
-__LINE__, 1.818416380830953e-30, "1.81842E-30", "%G",
-__LINE__, 1.824788290177454e-23, "1.82479e-23", "%g",
-__LINE__, 1.827832506678437e-18, "1.82783E-18", "%G",
-__LINE__, 1.828048053242609e+01, "18.2805", "%g",
-__LINE__, 1.828939681844203e-21, "1.82894E-21", "%.6G",
-__LINE__, 1.829763900251753e+12, "1829763900251.752773", "%1f",
-__LINE__, 1.833100407114602e-05, "0.000018", "%#f",
-__LINE__, 1.833672780034284e-07, "1.833673e-07", "%e",
-__LINE__, 1.834307692387540e+21, "2E+21", "%5.G",
-__LINE__, 1.835119931666753e+14, "+1.835120e+14", "%+e",
-__LINE__, 1.835956566920861e-26, "0.000000", "%#f",
-__LINE__, 1.837784131899354e+22, "1.83778E+22", "%G",
-__LINE__, 1.842867094224664e-09, "1.84287e-09", "%g",
-__LINE__, 1.844234823805319e+28, "2E+28", "%1.G",
-__LINE__, 1.844877682008962e+12, "1.84488e+12", "%g",
-__LINE__, 1.846530424340488e-22, "1.846530e-22", "%#.7g",
-__LINE__, 1.849111603036448e-08, "0.00", "%.2f",
-__LINE__, 1.850158752678734e+04, "+18502", "%+.5G",
-__LINE__, 1.851431391104701e-06, " +2e-06", "%+7.e",
-__LINE__, 1.851487430609031e-04, "0.000185149", "%G",
-__LINE__, 1.853171650128773e+03, "1853.17", "%G",
-__LINE__, 1.854743263740068e-16, "1.854743E-16", "%6.6E",
-__LINE__, 1.864399020932753e-11, "+0.000000", "%+f",
-__LINE__, 1.865028568072397e-22, "1.86503E-22", "%.6G",
-__LINE__, 1.868128423759223e+14, "1.86813E+14", "%4G",
-__LINE__, 1.868453558435480e+21, "1.86845E+21", "%G",
-__LINE__, 1.870663011627498e-06, "1.87E-06", "%.3G",
-__LINE__, 1.873273487748907e+17, "+1.873273E+17", "%+E",
-__LINE__, 1.878885220839805e-04, "0.000187889", "%G",
-__LINE__, 1.879102515623569e+17, "1.8791e+17", "%g",
-__LINE__, 1.889343972100858e-10, "2E-10", "%2.E",
-__LINE__, 1.891833282879762e-24, "+2e-24", "%+.1g",
-__LINE__, 1.895148778941240e-07, "0.000000", "%0f",
-__LINE__, 1.896950834067578e-28, "+1.89695e-28", "%+#g",
-__LINE__, 1.898464546986629e-05, "1.898465e-05", "%.7g",
-__LINE__, 1.900851427578321e-19, "1.90085e-19", "%6g",
-__LINE__, 1.901171344577750e+27, "1.901171e+27", "%7.7g",
-__LINE__, 1.903563335316359e+02, "190.356", "%0g",
-__LINE__, 1.903817306004701e-16, "+1.90e-16", "%+#6.2e",
-__LINE__, 1.910606410246797e+21, "1.91061E+21", "%2.5E",
-__LINE__, 1.912537759564710e+29, "1.91254E+29", "%G",
-__LINE__, 1.913606675894566e+27, "1.91361E+27", "%7.6G",
-__LINE__, 1.916473734025505e-05, " 2e-05", "%7.g",
-__LINE__, 1.916507511720523e+23, "+2E+23", "%+.0E",
-__LINE__, 1.917688262248837e-28, "1.918e-28", "%.4g",
-__LINE__, 1.921375594217083e-12, "1.92138E-12", "%G",
-__LINE__, 1.923916000932815e-25, "1.92392E-25", "%G",
-__LINE__, 1.926303652776462e-01, "+0.2", "%+0.G",
-__LINE__, 1.929411084211293e+21, "1.92941E+21", "%6G",
-__LINE__, 1.929996820297491e-26, "1.93e-26", "%.6g",
-__LINE__, 1.937301472034748e-29, "1.9373E-29", "%G",
-__LINE__, 1.937301660220894e-11, "+1.9373E-11", "%+G",
-__LINE__, 1.939038538587083e-02, "0.0193904", "%g",
-__LINE__, 1.940575489112444e-09, "1.94058E-09", "%G",
-__LINE__, 1.946550455606677e-26, "1.946550E-26", "%#1E",
-__LINE__, 1.954250777559491e-14, "1.95425E-14", "%G",
-__LINE__, 1.955646327688473e-16, "1.956E-16", "%#.3E",
-__LINE__, 1.956999911995683e+20, "2E+20", "%2.G",
-__LINE__, 1.959125254298784e-21, "1.95913E-21", "%#G",
-__LINE__, 1.960330340481290e+26, "1.96033e+26", "%.6g",
-__LINE__, 1.964156478075422e+01, "+19.6416", "%+g",
-__LINE__, 1.964702507676036e+19, "2.0e+19", "%2.1e",
-__LINE__, 1.965762191674409e-30, "2E-30", "%1.G",
-__LINE__, 1.967492699686803e-29, "+1.967493E-29", "%+#E",
-__LINE__, 1.970072604062236e-11, "+1.97007E-11", "%+G",
-__LINE__, 1.975631055550387e+05, "197563.105555", "%.6f",
-__LINE__, 1.975722425389177e+28, "+1.975722e+28", "%+5.6e",
-__LINE__, 1.977938328895365e-05, " 2e-05", "%6.e",
-__LINE__, 1.981950849019640e+13, "1.981951E+13", "%E",
-__LINE__, 1.982543168856985e-26, "1.98254e-26", "%4g",
-__LINE__, 1.984873317384181e-20, "1.98487E-20", "%4G",
-__LINE__, 1.986146420877074e+02, "+1.986146e+02", "%+0e",
-__LINE__, 1.986465942785167e-28, "1.98647e-28", "%g",
-__LINE__, 1.988250323235468e-05, " +0", "%+7.f",
-__LINE__, 1.989966623080645e-09, "1.989967e-09", "%e",
-__LINE__, 1.991243122514519e+11, "199124312251", "%5.f",
-__LINE__, 1.993287894645908e+25, "+1.993288E+25", "%+E",
-__LINE__, 1.995172329888890e-30, "+1.99517e-30", "%+3g",
-__LINE__, 1.997075127236432e+05, "1.997E+05", "%#.4G",
-__LINE__, 2.000651599487290e+04, "2E+04", "%2.E",
-__LINE__, 2.001429412876339e-28, "0.000000", "%6f",
-__LINE__, 2.003535646264196e+03, " 2E+03", "%7.G",
-__LINE__, 2.011751504116246e+06, "2E+06", "%2.G",
-__LINE__, 2.016361237694652e-30, "2.01636e-30", "%4g",
-__LINE__, 2.018266414065554e-08, "0.00", "%2.2f",
-__LINE__, 2.020706780608565e+03, "2E+03", "%.0G",
-__LINE__, 2.025098418552005e-16, "+2.025098E-16", "%+2E",
-__LINE__, 2.026100592518976e-11, "2.026101e-11", "%6e",
-__LINE__, 2.026167291572980e+11, "2.02617E+11", "%G",
-__LINE__, 2.026782170272331e+07, "2.026782E+07", "%E",
-__LINE__, 2.029133469449347e-06, " 2e-06", "%6.g",
-__LINE__, 2.031191570768443e-20, "2.031192E-20", "%2.7G",
-__LINE__, 2.031884221862863e-16, "2.031884e-16", "%e",
-__LINE__, 2.032992924118323e+29, "203299292411832333016263874014.84", "%#0.2f",
-__LINE__, 2.035799610097827e+28, "+20357996100978272835391180706.2104344", "%+3.7f",
-__LINE__, 2.038008183612069e+25, "20380081836120691463065668", "%7.0f",
-__LINE__, 2.041632205119365e-22, "+2.04163e-22", "%+g",
-__LINE__, 2.042769811159352e-10, "2e-10", "%.1g",
-__LINE__, 2.043034975847005e-08, "2.043035e-08", "%e",
-__LINE__, 2.045930666285880e+26, "2.04593e+26", "%g",
-__LINE__, 2.048377276651386e-21, "0.00000", "%2.5f",
-__LINE__, 2.051785787301292e-23, "0.000000", "%f",
-__LINE__, 2.055085792048183e-10, "0.000000", "%f",
-__LINE__, 2.055783028451040e-21, "+0", "%+1.f",
-__LINE__, 2.057641607509489e-17, "+2E-17", "%+2.G",
-__LINE__, 2.058348703001600e-15, "2.05835E-15", "%#G",
-__LINE__, 2.059594758787322e+24, "2.05959E+24", "%1G",
-__LINE__, 2.062710740295018e+01, "20.6271", "%G",
-__LINE__, 2.063240676447750e-11, "0.000000", "%f",
-__LINE__, 2.063799238238917e-09, "+0.000000", "%+f",
-__LINE__, 2.064564135160425e-17, "2.06456E-17", "%G",
-__LINE__, 2.066363476927650e-05, "2.07E-05", "%.3G",
-__LINE__, 2.066871450514214e-02, "+2.066871e-02", "%+e",
-__LINE__, 2.067258256169148e+07, "2.06726e+07", "%g",
-__LINE__, 2.068466590729350e-22, "0.0000", "%.4f",
-__LINE__, 2.068779510112540e-26, "2.06878e-26", "%g",
-__LINE__, 2.069258770387493e+19, "20692587703874929516.700831", "%3f",
-__LINE__, 2.069547778447951e+26, "2.069548e+26", "%6e",
-__LINE__, 2.070479507710941e-23, "2.07048E-23", "%G",
-__LINE__, 2.071809640061785e+22, "2.071810E+22", "%E",
-__LINE__, 2.073364463564950e-06, "2.07336e-06", "%g",
-__LINE__, 2.073478953644888e-10, "+2.07E-10", "%+.3G",
-__LINE__, 2.076039194312519e+12, "2.07604E+12", "%G",
-__LINE__, 2.081490398946229e-07, "+2.08149e-07", "%+g",
-__LINE__, 2.084941170287895e-07, "2.084941E-07", "%7E",
-__LINE__, 2.087035885023382e-18, "+0.000000", "%+f",
-__LINE__, 2.091025884363342e-09, "2.09103E-09", "%G",
-__LINE__, 2.091830555397864e+08, "209183056", "%0.f",
-__LINE__, 2.091998109232084e-22, "0.000000", "%#f",
-__LINE__, 2.093406473464940e-17, "2.09341e-17", "%g",
-__LINE__, 2.094646724039720e-26, "2.094647e-26", "%0.7g",
-__LINE__, 2.095218667083208e-22, "2.09522e-22", "%.5e",
-__LINE__, 2.096932364992728e-27, "2.1E-27", "%.2G",
-__LINE__, 2.097012452732083e+17, "2.09701E+17", "%G",
-__LINE__, 2.102022216908102e-07, "0.000000", "%f",
-__LINE__, 2.104648382618938e-04, "0.00021", "%.3G",
-__LINE__, 2.109159578853690e-19, "2.10916e-19", "%6g",
-__LINE__, 2.111732624641178e-13, "+2.111733E-13", "%+7.7G",
-__LINE__, 2.112676138351330e+21, " 2e+21", "%6.g",
-__LINE__, 2.117332904051741e-09, "+0.000000", "%+f",
-__LINE__, 2.118001353767757e-14, "2.118E-14", "%4.3E",
-__LINE__, 2.119413720893955e+12, "2.119414E+12", "%.7G",
-__LINE__, 2.119610992647014e+07, "+21196109.9265", "%+.4f",
-__LINE__, 2.120504022069221e+25, "21205040220692210617414730.223", "%#.3f",
-__LINE__, 2.120634617123718e-16, "2.120635e-16", "%#e",
-__LINE__, 2.128702437175385e+12, "2128702437175.385", "%.3f",
-__LINE__, 2.131148830213536e-12, "2.131149e-12", "%e",
-__LINE__, 2.132682622145255e+04, "+21326.83", "%+#5.7G",
-__LINE__, 2.133864841676473e-01, " +0.2", "%+6.g",
-__LINE__, 2.133939058496273e+16, "2E+16", "%4.G",
-__LINE__, 2.135087006806302e-24, "0.000000", "%f",
-__LINE__, 2.138983961194584e-20, "+2.138984e-20", "%+7e",
-__LINE__, 2.146534189669224e+17, "+2.147E+17", "%+.4G",
-__LINE__, 2.147375595676503e+09, "2.147376e+09", "%e",
-__LINE__, 2.152994986418075e+02, "2E+02", "%0.E",
-__LINE__, 2.154127135896811e+06, "2.15E+06", "%2.3G",
-__LINE__, 2.154613053892588e-29, "2.1546E-29", "%.4E",
-__LINE__, 2.160830430730653e-12, "2.16083E-12", "%#G",
-__LINE__, 2.161740591663027e+28, "2.161741e+28", "%e",
-__LINE__, 2.167181665934011e-06, "2e-06", "%1.e",
-__LINE__, 2.167348761729060e-04, "2.167349e-04", "%#e",
-__LINE__, 2.170270852816708e-10, "2.17027E-10", "%0G",
-__LINE__, 2.173048229189370e-06, "2.173e-06", "%.5g",
-__LINE__, 2.175554537855024e+10, "2.17555E+10", "%G",
-__LINE__, 2.177447372527968e-30, "+0.000000", "%+.6f",
-__LINE__, 2.178591661569858e+05, "2.1786e+05", "%1.5g",
-__LINE__, 2.184700207174818e-29, "0.000000", "%f",
-__LINE__, 2.190817031437247e+03, "2.E+03", "%#3.0E",
-__LINE__, 2.191396212145558e-01, "2.191E-01", "%6.3E",
-__LINE__, 2.191786353372880e-23, "2.19179e-23", "%.5e",
-__LINE__, 2.193471126151079e+19, "2.1935E+19", "%.4E",
-__LINE__, 2.194750177630526e-15, "2.194750e-15", "%e",
-__LINE__, 2.196145170358973e+05, "+219615", "%+g",
-__LINE__, 2.199602360934320e-09, "2.19960E-09", "%#6.6G",
-__LINE__, 2.202913988776998e+17, "+2.20291e+17", "%+g",
-__LINE__, 2.207094560707703e-10, "2.207095e-10", "%e",
-__LINE__, 2.207557214621658e-13, " 0", "%4.f",
-__LINE__, 2.209428206272229e+13, "2.20943e+13", "%g",
-__LINE__, 2.212662463615175e-11, " 0", "%4.0f",
-__LINE__, 2.215732710968468e-30, "2E-30", "%.1G",
-__LINE__, 2.218490841936778e-10, "2.21849e-10", "%2g",
-__LINE__, 2.218850610567959e-01, "+0.221885", "%+G",
-__LINE__, 2.220796939261542e-03, "0.002221", "%#f",
-__LINE__, 2.221819894808024e+24, "2.2e+24", "%5.1e",
-__LINE__, 2.223804993235507e+27, "2.223805e+27", "%1e",
-__LINE__, 2.224715386046563e-17, "0.00000", "%#.5f",
-__LINE__, 2.224864709983882e-16, "+2.224865e-16", "%+e",
-__LINE__, 2.225764510969505e+16, "2.E+16", "%#4.G",
-__LINE__, 2.233229189161284e-07, "+2.23323e-07", "%+6g",
-__LINE__, 2.236522807209868e+17, "2.23652e+17", "%g",
-__LINE__, 2.236641620849775e+20, "2E+20", "%0.G",
-__LINE__, 2.237089952728626e-13, "2E-13", "%5.E",
-__LINE__, 2.238531255563381e-11, " 2E-11", "%7.1G",
-__LINE__, 2.242782296436871e+12, "2242782296436.871103", "%f",
-__LINE__, 2.249177852069393e-02, "+2.249178E-02", "%+5E",
-__LINE__, 2.250735782732076e+29, "+2.25074e+29", "%+g",
-__LINE__, 2.257455203557544e-11, "+2e-11", "%+4.0g",
-__LINE__, 2.258002527939529e+24, "2.258e+24", "%g",
-__LINE__, 2.266955929448160e+20, "226695592944815960123.6056915", "%.7f",
-__LINE__, 2.269019719123250e-23, "0.000000", "%f",
-__LINE__, 2.269022332502809e+02, "+226.902233", "%+f",
-__LINE__, 2.271165222038591e-03, "0.002", "%1.1g",
-__LINE__, 2.273965946408021e+14, "+227396594640802.085507", "%+f",
-__LINE__, 2.277221153386242e+22, "22772211533862418697538.032575", "%#f",
-__LINE__, 2.280214920187521e-01, "0.2", "%2.G",
-__LINE__, 2.280762993019740e+06, "2.28076E+06", "%G",
-__LINE__, 2.283479263040833e-24, "+0.000000", "%+f",
-__LINE__, 2.283686319235123e-07, "2.2837E-07", "%5.5G",
-__LINE__, 2.285842617231066e-26, "0.000000", "%f",
-__LINE__, 2.293145864755873e-02, "0.02", "%.0g",
-__LINE__, 2.293439381531532e+03, "+2.293439E+03", "%+#1E",
-__LINE__, 2.297972500660698e-22, "2.29797e-22", "%g",
-__LINE__, 2.298725366073681e+23, "2.29873E+23", "%G",
-__LINE__, 2.303151535483950e-29, "2.30315E-29", "%G",
-__LINE__, 2.308565313657699e-25, " 0", "%4.f",
-__LINE__, 2.309305373760733e-07, "2.309305E-07", "%E",
-__LINE__, 2.309693761334710e-19, "2.30969e-19", "%g",
-__LINE__, 2.312218220995774e-20, "+2.31222E-20", "%+.6G",
-__LINE__, 2.313115729670525e+24, "2.31312E+24", "%G",
-__LINE__, 2.315325159866773e-21, "2.315325E-21", "%E",
-__LINE__, 2.316932917620091e-19, "0.000000", "%f",
-__LINE__, 2.317548394633895e+13, "2.31755E+13", "%0G",
-__LINE__, 2.318951465093612e+02, "+2.32e+02", "%+1.2e",
-__LINE__, 2.319151794905482e-17, "+0.000000", "%+0f",
-__LINE__, 2.319708617851078e-27, "0.000000", "%f",
-__LINE__, 2.320019976591725e+20, "2e+20", "%.1g",
-__LINE__, 2.322859962551666e+06, "2.32286e+06", "%g",
-__LINE__, 2.326474568074649e-29, "2.326e-29", "%.4g",
-__LINE__, 2.328400844172053e-07, "2.3284E-07", "%G",
-__LINE__, 2.333695247698112e+16, "2.3337e+16", "%g",
-__LINE__, 2.333717120257130e-19, "+0.000000", "%+f",
-__LINE__, 2.334711793234782e-19, "2.33471E-19", "%5G",
-__LINE__, 2.335524987281242e+02, "+233.55", "%+7.5g",
-__LINE__, 2.335556767836369e-30, "2.34e-30", "%.3g",
-__LINE__, 2.337696964360052e-10, "2.3377e-10", "%1g",
-__LINE__, 2.337858249184500e-14, "2.337858E-14", "%5.6E",
-__LINE__, 2.339984354781169e-14, "2.339984E-14", "%E",
-__LINE__, 2.340849041430089e-04, "0.00023", "%0.2G",
-__LINE__, 2.342388410373363e-24, "2.34239E-24", "%G",
-__LINE__, 2.343933106737237e-22, "2.34393e-22", "%g",
-__LINE__, 2.344870855713960e-08, "0.000000", "%.6f",
-__LINE__, 2.347368965433808e+24, "2347368965433808352116785", "%4.f",
-__LINE__, 2.349417462171421e-02, "+0.0234942", "%+G",
-__LINE__, 2.351071111431207e+11, "235107111143.12", "%.2f",
-__LINE__, 2.352756222810670e+19, "+2.e+19", "%+#4.g",
-__LINE__, 2.355862529217003e-22, "2.355863e-22", "%#4e",
-__LINE__, 2.356804045401445e-30, "2.3568E-30", "%G",
-__LINE__, 2.362100710185559e-26, "2.3621e-26", "%g",
-__LINE__, 2.368330779173562e-12, " 0", "%4.f",
-__LINE__, 2.383329784369796e+22, "2.38333E+22", "%G",
-__LINE__, 2.386845229536477e+01, "+23.868452", "%+#f",
-__LINE__, 2.388207830036780e-05, "0.000024", "%f",
-__LINE__, 2.391809468802907e+21, "+2.391809e+21", "%+e",
-__LINE__, 2.395172908564692e-09, "+0.000000", "%+f",
-__LINE__, 2.395447167030886e-29, "2.39545e-29", "%g",
-__LINE__, 2.397292973389182e+16, "23972929733891823", "%6.f",
-__LINE__, 2.401749832237687e-30, "2.401750E-30", "%E",
-__LINE__, 2.403610502544347e-03, "0.00240361", "%4G",
-__LINE__, 2.404676421776132e+17, "240467642177613206", "%6.f",
-__LINE__, 2.406327689091479e+25, "2.406328e+25", "%e",
-__LINE__, 2.407341999590511e-02, "0.024073", "%f",
-__LINE__, 2.407352797581004e+05, "240735.", "%#g",
-__LINE__, 2.407903467439017e+13, "2.4079E+13", "%G",
-__LINE__, 2.407979635013539e+21, " +2E+21", "%+7.G",
-__LINE__, 2.409513517930790e+29, "240951351793079027174826478585.600853", "%f",
-__LINE__, 2.412530651221551e+10, "+2.41253E+10", "%+G",
-__LINE__, 2.419943224673811e+00, "2.41994", "%#g",
-__LINE__, 2.422474399040258e-15, "0.000000", "%f",
-__LINE__, 2.426060206689458e+18, "2.42606E+18", "%1G",
-__LINE__, 2.439982659679872e+14, "+2.439983E+14", "%+E",
-__LINE__, 2.440528851375447e+13, "24405288513754.466173", "%f",
-__LINE__, 2.441340473292679e+19, "2.44134E+19", "%G",
-__LINE__, 2.443521636943916e+19, " 2.e+19", "%#7.g",
-__LINE__, 2.445925211597624e-27, "2.445925E-27", "%E",
-__LINE__, 2.446966179060722e+25, "2.446966e+25", "%5e",
-__LINE__, 2.447714218717278e+11, "2e+11", "%1.e",
-__LINE__, 2.448339744613286e+06, "2.4483e+06", "%3.5g",
-__LINE__, 2.448772993496189e+03, "2448.77", "%G",
-__LINE__, 2.448857654325229e+22, "+2.44886e+22", "%+g",
-__LINE__, 2.450082452098890e-27, "2.4501E-27", "%#3.5G",
-__LINE__, 2.451293602221637e+05, "245129.360222", "%f",
-__LINE__, 2.454531490229426e+02, "245.453", "%G",
-__LINE__, 2.458958369944980e+14, "2.5E+14", "%6.1E",
-__LINE__, 2.463666680775038e+14, "+246366668077503.80", "%+#.2f",
-__LINE__, 2.471582990960795e+05, "2.471583e+05", "%e",
-__LINE__, 2.474107179274687e+22, "2.47411e+22", "%g",
-__LINE__, 2.474332114849132e-08, "+2.47433e-08", "%+g",
-__LINE__, 2.476956762431716e+18, "+2476956762431715919.348107", "%+#f",
-__LINE__, 2.479091221850607e-22, "0.000000", "%f",
-__LINE__, 2.479819586598431e-24, "2.47982e-24", "%g",
-__LINE__, 2.480006174601455e-05, "2.48001E-05", "%G",
-__LINE__, 2.482672677638334e-26, "+0.000000", "%+f",
-__LINE__, 2.492816492208918e-14, " 0", "%7.f",
-__LINE__, 2.492964173197140e-12, " 2e-12", "%7.g",
-__LINE__, 2.494646635961173e+02, "249.465", "%g",
-__LINE__, 2.494687818780545e+11, "249468781878.054546", "%#7f",
-__LINE__, 2.510083560147301e-13, "+2.510084e-13", "%+#e",
-__LINE__, 2.511186607989480e-30, "2.51E-30", "%.3G",
-__LINE__, 2.514164516133643e-11, "2.51416e-11", "%g",
-__LINE__, 2.517242520804735e+11, "2.517243e+11", "%e",
-__LINE__, 2.518526126400833e-26, "2.51853e-26", "%g",
-__LINE__, 2.520313416401176e+09, "2520313416.401176", "%5f",
-__LINE__, 2.521653160738683e-29, "2.52165e-29", "%#g",
-__LINE__, 2.521941342615338e-16, "2.52194e-16", "%g",
-__LINE__, 2.523554774354461e-03, "+3E-03", "%+.0E",
-__LINE__, 2.525434130825058e+06, "+2.525434E+06", "%+E",
-__LINE__, 2.527616380113364e+02, "2.527616E+02", "%E",
-__LINE__, 2.531871347913505e+09, "+2.53187E+09", "%+#G",
-__LINE__, 2.532167428661069e+06, "2532167.428661", "%f",
-__LINE__, 2.545585718405995e+14, "+2.54559E+14", "%+G",
-__LINE__, 2.546305097286406e+10, "2.546305e+10", "%e",
-__LINE__, 2.547467156069069e-30, "+0.00", "%+3.2f",
-__LINE__, 2.548728793004506e-14, "2.54873E-14", "%G",
-__LINE__, 2.560375602395090e+11, "256037560239.509032", "%0f",
-__LINE__, 2.560555687476687e+03, "2561", "%.4g",
-__LINE__, 2.561709077363443e-24, "+0.000000", "%+f",
-__LINE__, 2.563763849675242e+10, "2.5637638E+10", "%.7E",
-__LINE__, 2.567482414574355e+11, "+2.567482e+11", "%+e",
-__LINE__, 2.571575046303674e-17, "3E-17", "%2.0E",
-__LINE__, 2.572997971296986e+11, "257299797129.698593", "%f",
-__LINE__, 2.578625935900331e+22, "25786259359003311786295.853381", "%f",
-__LINE__, 2.579663282966370e+12, "2.579663e+12", "%e",
-__LINE__, 2.593141782397610e-08, "0.000000", "%f",
-__LINE__, 2.594386109584196e+04, "3.E+04", "%#6.0E",
-__LINE__, 2.598069318007816e-22, "2.59807e-22", "%g",
-__LINE__, 2.600910462290091e+09, "2.600910E+09", "%6E",
-__LINE__, 2.602580183614458e-03, "2.602580e-03", "%e",
-__LINE__, 2.606540360440264e+09, "+2606540360.4", "%+#0.1f",
-__LINE__, 2.610016419698116e-21, "+3.e-21", "%+#3.g",
-__LINE__, 2.612279323574882e-20, "2.61228E-20", "%G",
-__LINE__, 2.614157324336453e-14, "2.61416e-14", "%g",
-__LINE__, 2.614688721873993e-09, "2.61e-09", "%6.2e",
-__LINE__, 2.616661104472416e-15, " 0", "%5.f",
-__LINE__, 2.616742079283195e-09, " +3E-09", "%+7.E",
-__LINE__, 2.618075304717427e+24, "2.618075e+24", "%e",
-__LINE__, 2.624118573335769e+26, "262411857333576925555007619.550452", "%1f",
-__LINE__, 2.625718894274227e+24, "+2625718894274227110940955.753904", "%+f",
-__LINE__, 2.627081999477812e+03, "2627.081999", "%f",
-__LINE__, 2.631061062224705e+14, "263106106222470.481626", "%f",
-__LINE__, 2.631545877128814e+27, "+2.63155e+27", "%+g",
-__LINE__, 2.632694395848818e-11, "2.63269e-11", "%g",
-__LINE__, 2.636728891022008e-22, "+2.63673e-22", "%+#4g",
-__LINE__, 2.638495675008130e-28, "+2.638496e-28", "%+e",
-__LINE__, 2.639704195859799e-11, "0.", "%#.0f",
-__LINE__, 2.641645264652665e-20, "0", "%0.f",
-__LINE__, 2.642012075064497e-20, "3E-20", "%0.E",
-__LINE__, 2.648725869006487e-29, " 3E-29", "%6.G",
-__LINE__, 2.649060724417770e+12, "3E+12", "%3.G",
-__LINE__, 2.651188545120166e-17, "0.000", "%.3f",
-__LINE__, 2.652302152621621e+14, "2.7E+14", "%.2G",
-__LINE__, 2.653309718412604e-28, "0.000000", "%f",
-__LINE__, 2.658344750491858e-21, " 3e-21", "%6.g",
-__LINE__, 2.664625074612594e+15, "3e+15", "%1.g",
-__LINE__, 2.666953728270800e-15, "3e-15", "%0.e",
-__LINE__, 2.674515419678877e-11, " 3E-11", "%6.E",
-__LINE__, 2.680054917256578e+15, "2680054917256577.5", "%#2.1f",
-__LINE__, 2.680495609883415e-11, "2.68E-11", "%#.3G",
-__LINE__, 2.685757893641070e+23, "268575789364107020418259.70809", "%1.5f",
-__LINE__, 2.695551226058178e+16, "26955512260581775.407786", "%f",
-__LINE__, 2.696346377519671e+04, "+26963.5", "%+G",
-__LINE__, 2.714262310601257e+17, "+2.714262E+17", "%+E",
-__LINE__, 2.719227450016317e-01, "0.271923", "%G",
-__LINE__, 2.724135433346056e-30, "+2.72414e-30", "%+g",
-__LINE__, 2.725143224130276e+14, "272514322413027.576530", "%6f",
-__LINE__, 2.729355189648310e-03, "+0.00273", "%+.5f",
-__LINE__, 2.732872167724945e+11, "2.73287E+11", "%G",
-__LINE__, 2.737709476435412e+17, "273770947643541218.141650", "%f",
-__LINE__, 2.739299356074967e-15, "2.7E-15", "%.2G",
-__LINE__, 2.740793612304798e-27, "2.740794E-27", "%.7G",
-__LINE__, 2.742030156175960e+20, "2.74203e+20", "%2.6g",
-__LINE__, 2.744455324096085e+11, "2.74446E+11", "%G",
-__LINE__, 2.745179546531160e+07, "2.7452E+07", "%.5G",
-__LINE__, 2.747470562525333e+04, "3E+04", "%2.E",
-__LINE__, 2.750243314674629e+21, "2.75024E+21", "%#G",
-__LINE__, 2.750250224436030e+20, "+2.750250e+20", "%+0.6e",
-__LINE__, 2.752712858561084e-22, "2.752713e-22", "%e",
-__LINE__, 2.756982987656667e-03, "0.002756983", "%#.7G",
-__LINE__, 2.761841188479590e+13, "3e+13", "%1.g",
-__LINE__, 2.769498440434419e+00, "+3e+00", "%+0.e",
-__LINE__, 2.769993785786379e+10, "27699937857.863794", "%f",
-__LINE__, 2.772900256376753e-06, "+2.7729E-06", "%+7.6G",
-__LINE__, 2.774401482467457e-06, "2.8e-06", "%3.2g",
-__LINE__, 2.777691370374757e-02, "+0.027777", "%+f",
-__LINE__, 2.779836227365899e-09, "3e-09", "%5.0g",
-__LINE__, 2.780481651765741e+01, "2.780482E+01", "%E",
-__LINE__, 2.782228478714809e-26, "2.782228E-26", "%4.7G",
-__LINE__, 2.790457781719376e+13, "+2.8e+13", "%+.2g",
-__LINE__, 2.792026581166417e-30, " 3.e-30", "%#7.0g",
-__LINE__, 2.792396278299615e-08, "0.00", "%#.2f",
-__LINE__, 2.793658047689995e-10, "2.794e-10", "%#0.4g",
-__LINE__, 2.795707358229888e-25, "0.000000", "%f",
-__LINE__, 2.796253091758523e-06, "2.796E-06", "%.4G",
-__LINE__, 2.796756564788716e-24, "2.796757e-24", "%e",
-__LINE__, 2.798730444798773e-14, "2.79873e-14", "%g",
-__LINE__, 2.799108397670447e-24, "3E-24", "%.0G",
-__LINE__, 2.799389008872835e+06, "2799389.", "%#0.f",
-__LINE__, 2.800413998518039e-14, "0.000000", "%f",
-__LINE__, 2.803237602587100e+15, "+2803237602587100.418816", "%+5f",
-__LINE__, 2.803474415574551e-04, "0.0002803", "%.7f",
-__LINE__, 2.804957468647181e+25, "2.80496e+25", "%g",
-__LINE__, 2.809345112788226e+09, "2809345112.788226", "%.6f",
-__LINE__, 2.811518239408899e+10, "3e+10", "%1.g",
-__LINE__, 2.813188439967416e-16, "0.0000000", "%5.7f",
-__LINE__, 2.813497118051755e+08, "2.8135e+08", "%.5g",
-__LINE__, 2.815748256510577e-29, "0.000000", "%2f",
-__LINE__, 2.816076365485207e-01, "0.281608", "%0G",
-__LINE__, 2.816083345772131e+24, "2.8161e+24", "%6.4e",
-__LINE__, 2.818686957605178e+12, "2.8187E+12", "%.5G",
-__LINE__, 2.821903538737691e+20, "2.8219E+20", "%G",
-__LINE__, 2.823659589845680e+26, "2.82366e+26", "%2g",
-__LINE__, 2.823685630865012e+22, "2.82369E+22", "%G",
-__LINE__, 2.828826386007914e+21, "2.828826E+21", "%7E",
-__LINE__, 2.830997901034349e+04, "+3e+04", "%+0.e",
-__LINE__, 2.833886731091353e-26, "+2.833887e-26", "%+4e",
-__LINE__, 2.839965144893913e+28, "28399651448939131626048038015.1421", "%.4f",
-__LINE__, 2.840651452049947e-09, "2.841E-09", "%#.3E",
-__LINE__, 2.843388001911757e-01, "0.284339", "%g",
-__LINE__, 2.846122151080671e+14, "2.84612E+14", "%.5E",
-__LINE__, 2.851257828837595e+05, "+285126", "%+5.f",
-__LINE__, 2.853823884459520e+07, "+2.85382E+07", "%+G",
-__LINE__, 2.853870068368765e-06, "2.854E-06", "%4.3E",
-__LINE__, 2.856687358149867e+01, "+28.567", "%+6.5G",
-__LINE__, 2.858946600073752e+06, "2.8589466e+06", "%3.7e",
-__LINE__, 2.861525727138818e+24, "2.8615257e+24", "%2.7e",
-__LINE__, 2.865104175886071e-24, "0.000000", "%f",
-__LINE__, 2.870678920363198e-14, "2.87068E-14", "%G",
-__LINE__, 2.873298537233691e+09, "+2.8733e+09", "%+g",
-__LINE__, 2.877939609444375e-02, "0.028779", "%f",
-__LINE__, 2.878253985341728e+13, "2.87825E+13", "%G",
-__LINE__, 2.879299244903946e+29, "287929924490394597569320467301", "%0.f",
-__LINE__, 2.885516225515485e-26, "0.000000", "%f",
-__LINE__, 2.886013724129579e+20, "+3e+20", "%+4.g",
-__LINE__, 2.887032786975506e-30, "0.000000", "%f",
-__LINE__, 2.890415456531026e-29, "2.89042E-29", "%G",
-__LINE__, 2.893177360548214e-13, "2.893E-13", "%#6.3E",
-__LINE__, 2.895265536458195e+26, "2.89527e+26", "%5g",
-__LINE__, 2.903844533810152e+23, "290384453381015195105874.23", "%.2f",
-__LINE__, 2.909060558287504e+27, "2.90906e+27", "%g",
-__LINE__, 2.911615480973172e-05, "2.91162E-05", "%3G",
-__LINE__, 2.912692297221896e+09, "2912692297.221896", "%#f",
-__LINE__, 2.913595662485813e-24, "2.9136E-24", "%G",
-__LINE__, 2.915960840341896e-27, "0.000000", "%f",
-__LINE__, 2.920451095973991e-16, "2.92e-16", "%2.2e",
-__LINE__, 2.920528295810925e+06, "2.92053E+06", "%#G",
-__LINE__, 2.921564671017147e+20, "2.921565E+20", "%#6E",
-__LINE__, 2.921628350942189e+01, "2.921628E+01", "%E",
-__LINE__, 2.921843377455232e+20, "2.921843E+20", "%#E",
-__LINE__, 2.930156950319384e+29, "2.930E+29", "%1.3E",
-__LINE__, 2.931229858895071e-30, "2.9e-30", "%4.2g",
-__LINE__, 2.931753029689166e+20, "2.93175e+20", "%g",
-__LINE__, 2.933023693079342e+15, "3.E+15", "%#.1G",
-__LINE__, 2.933078733225520e+26, "2.93308E+26", "%G",
-__LINE__, 2.933528170896643e-14, "+2.93353e-14", "%+g",
-__LINE__, 2.938648437428148e+00, "2.938648e+00", "%e",
-__LINE__, 2.940752238221344e+26, "+2.94075E+26", "%+G",
-__LINE__, 2.942836470459675e+20, "2.9428e+20", "%6.4e",
-__LINE__, 2.943218333254941e+29, "294321833325494086608387078740.634024", "%f",
-__LINE__, 2.943690574007512e-27, "0.000000", "%f",
-__LINE__, 2.945452907046501e+09, "+2.9455E+09", "%+.5G",
-__LINE__, 2.946648725966953e+16, "29466487259669534.637396", "%4f",
-__LINE__, 2.955119322417825e+29, "2.95512E+29", "%G",
-__LINE__, 2.966481197538973e+24, "2.96648e+24", "%#g",
-__LINE__, 2.969362862661362e+08, "+2.969363e+08", "%+7e",
-__LINE__, 2.970062459990078e+21, "+2.97006E+21", "%+G",
-__LINE__, 2.971059959019791e+10, " 3E+10", "%7.G",
-__LINE__, 2.973020205606034e-29, "0.000000", "%f",
-__LINE__, 2.977223210301426e+04, "2.977223e+04", "%#e",
-__LINE__, 2.977467832772786e-26, "0.000000", "%f",
-__LINE__, 2.981433606423384e+18, "2981433606423384397.032805", "%f",
-__LINE__, 2.981615513287404e-17, "2.98162e-17", "%g",
-__LINE__, 2.983880743847276e+19, " 3e+19", "%7.e",
-__LINE__, 2.983927792297305e-28, "2.983928e-28", "%e",
-__LINE__, 2.984807359492058e-17, " 0", "%2.f",
-__LINE__, 2.985123412933032e+09, "+2.98512e+09", "%+g",
-__LINE__, 2.991132955408629e-27, "+2.99113e-27", "%+4g",
-__LINE__, 2.992345635923643e+19, "3E+19", "%4.G",
-__LINE__, 2.993024238285395e-05, "2.99302e-05", "%2g",
-__LINE__, 2.995303406756363e+16, "+2.995303E+16", "%+E",
-__LINE__, 2.995492577854335e+19, "+29954925778543346481.797016", "%+f",
-__LINE__, 2.996856271675341e-25, "+3e-25", "%+0.e",
-__LINE__, 2.997813968112619e+12, "2.99781e+12", "%#5g",
-__LINE__, 3.002097486457961e-17, "3.00210e-17", "%5.5e",
-__LINE__, 3.006538123158692e+28, "+3.00654E+28", "%+#G",
-__LINE__, 3.007293721729544e+04, "30072.937217", "%f",
-__LINE__, 3.008301791944493e-07, "3.008e-07", "%.3e",
-__LINE__, 3.011742184603817e-17, "3.011742E-17", "%#E",
-__LINE__, 3.024641547299177e-30, "3.02464e-30", "%g",
-__LINE__, 3.026525135110198e-28, "3e-28", "%.0e",
-__LINE__, 3.026768160756558e+20, "3.02677E+20", "%G",
-__LINE__, 3.031928829940975e+18, "3031928829940975234.1", "%0.1f",
-__LINE__, 3.039787705138620e+24, "+3.E+24", "%+#5.G",
-__LINE__, 3.039803824423916e-02, "0.030398", "%5f",
-__LINE__, 3.041236293199133e-26, "3.04124e-26", "%g",
-__LINE__, 3.045634954037886e+04, "30456.3", "%g",
-__LINE__, 3.047528114241850e+25, "3e+25", "%0.e",
-__LINE__, 3.047958193737501e-24, "3.04796E-24", "%#G",
-__LINE__, 3.049537324414302e-16, "3.04954E-16", "%G",
-__LINE__, 3.050500637681798e-30, "3.0505E-30", "%G",
-__LINE__, 3.051769626625307e-01, "0.305177", "%f",
-__LINE__, 3.057280201971847e+11, "+3.05728E+11", "%+.5E",
-__LINE__, 3.060046173306881e-10, "+3.060046e-10", "%+e",
-__LINE__, 3.069732667347204e+27, "+3069732667347204291274920251.453295", "%+f",
-__LINE__, 3.075060836786916e-14, "0.000000", "%f",
-__LINE__, 3.078175179670964e+13, "3.07818E+13", "%G",
-__LINE__, 3.080305344303183e-21, "3.08031e-21", "%6g",
-__LINE__, 3.088881497064043e+27, "+3.088881E+27", "%+3E",
-__LINE__, 3.089196877931209e-20, "3.089197e-20", "%e",
-__LINE__, 3.091400888880487e-08, "3e-08", "%2.e",
-__LINE__, 3.093410684178904e+16, "3.09341e+16", "%g",
-__LINE__, 3.104225344208216e-21, "0.000000", "%f",
-__LINE__, 3.105843728248599e+13, "3.e+13", "%#.0g",
-__LINE__, 3.106463071390893e-07, "0.0000", "%.4f",
-__LINE__, 3.107784123569379e+02, "+310.778", "%+G",
-__LINE__, 3.110605148983672e-20, "3.1106051E-20", "%.7E",
-__LINE__, 3.111702418162670e-04, "0.00031117", "%.5G",
-__LINE__, 3.117610675303153e-17, "3.11761e-17", "%g",
-__LINE__, 3.123620125717981e+07, "3.1236e+07", "%2.5g",
-__LINE__, 3.125648558809832e-24, "+3.125649E-24", "%+#0.6E",
-__LINE__, 3.129025163659283e+10, "31290251636.592825", "%#f",
-__LINE__, 3.130689119412709e-29, "+3.131E-29", "%+#.4G",
-__LINE__, 3.135681222132527e+13, "3.13568E+13", "%G",
-__LINE__, 3.138290485073330e-10, "3.13829E-10", "%G",
-__LINE__, 3.141255250155306e-12, "3.14126E-12", "%G",
-__LINE__, 3.143224520918429e+25, "3.14322E+25", "%#1G",
-__LINE__, 3.144746921366173e-16, " 0", "%7.f",
-__LINE__, 3.151336678241994e+19, "+3.15134E+19", "%+G",
-__LINE__, 3.161752935716549e+24, "3.2E+24", "%2.1E",
-__LINE__, 3.167106521258172e-10, "+3.167107e-10", "%+e",
-__LINE__, 3.167266522824146e-04, "3E-04", "%3.E",
-__LINE__, 3.169995217131489e+27, "3169995217131488907114089670.358226", "%f",
-__LINE__, 3.172117220467692e-21, "3.1721E-21", "%.5G",
-__LINE__, 3.173824170351611e+02, " 3e+02", "%6.e",
-__LINE__, 3.186291452544739e-28, " 0", "%2.f",
-__LINE__, 3.194750094186063e+03, "+3.194750E+03", "%+E",
-__LINE__, 3.195001037118137e-20, "0", "%0.0f",
-__LINE__, 3.199271564719560e+02, "319.927", "%g",
-__LINE__, 3.212803450638544e+20, "3.2128e+20", "%.6g",
-__LINE__, 3.214502877263883e+24, "3214502877263882840708220", "%2.f",
-__LINE__, 3.214658414074286e-01, "+0.321466", "%+#g",
-__LINE__, 3.217627975823673e+00, "3.217628", "%f",
-__LINE__, 3.218257328710536e-07, "3.21826e-07", "%6.5e",
-__LINE__, 3.221949479347008e+02, "322.194948", "%f",
-__LINE__, 3.222862935507443e-14, "3.222863E-14", "%E",
-__LINE__, 3.223750247261608e+19, "3.22375e+19", "%g",
-__LINE__, 3.236030335782375e+05, "3.236030e+05", "%e",
-__LINE__, 3.241078803072735e+19, "3.24108e+19", "%g",
-__LINE__, 3.248069569167045e-06, "0.000003", "%#f",
-__LINE__, 3.248148973717269e-15, "3.24815E-15", "%G",
-__LINE__, 3.251150704311790e+25, "+3.25115e+25", "%+5g",
-__LINE__, 3.254498593372140e+15, "+3.2545e+15", "%+g",
-__LINE__, 3.254949399612861e-13, "+3.255E-13", "%+7.3E",
-__LINE__, 3.255490928554106e-17, "3.255491e-17", "%e",
-__LINE__, 3.262333894422112e+17, "326233389442211185.738074", "%0f",
-__LINE__, 3.263923577545217e-24, "0.0000000", "%.7f",
-__LINE__, 3.267125289609703e+23, "3.26713e+23", "%#.5e",
-__LINE__, 3.267906049108331e+27, "3.267906E+27", "%6E",
-__LINE__, 3.269885039157328e+14, "326988503915732.797722", "%f",
-__LINE__, 3.296011393609953e-27, " 3E-27", "%7.E",
-__LINE__, 3.296452164568996e+29, "3.296452E+29", "%E",
-__LINE__, 3.296544736555325e+10, "+3.29654E+10", "%+.6G",
-__LINE__, 3.301861835798572e+03, "3301.862", "%4.7g",
-__LINE__, 3.311292283423002e+21, " 3E+21", "%6.G",
-__LINE__, 3.314868440076262e-10, "3.3149E-10", "%.5G",
-__LINE__, 3.318057982247451e-13, "3.3181e-13", "%0.5g",
-__LINE__, 3.318139218410071e-22, "0.000000", "%f",
-__LINE__, 3.326769904839351e-11, "+3.3268e-11", "%+0.4e",
-__LINE__, 3.327483659787219e+27, "+3.32748e+27", "%+g",
-__LINE__, 3.332666889640198e+17, "333266688964019763.830038", "%f",
-__LINE__, 3.333807449377253e+10, "+3.33e+10", "%+.3g",
-__LINE__, 3.334572302792625e-09, "3.334572E-09", "%E",
-__LINE__, 3.337567126586765e-17, "0.0000000", "%#3.7f",
-__LINE__, 3.340512607683786e-04, "+3E-04", "%+1.E",
-__LINE__, 3.344911557516870e+04, "33449.1", "%G",
-__LINE__, 3.346464302017296e+26, "+3.E+26", "%+#3.G",
-__LINE__, 3.348503166628953e+00, "+3.348503e+00", "%+e",
-__LINE__, 3.350025157778138e-19, "3.35003e-19", "%6g",
-__LINE__, 3.352826233035342e+11, "335282623303.534200", "%7f",
-__LINE__, 3.357174089765502e+10, "3.35717E+10", "%G",
-__LINE__, 3.369253166475501e+03, "+3369.25", "%+G",
-__LINE__, 3.371385975046735e+02, "337.", "%#.0f",
-__LINE__, 3.372532650462104e-04, "+0.000", "%+.3f",
-__LINE__, 3.376498162710442e-26, "3.376498e-26", "%e",
-__LINE__, 3.383510307689135e-12, " 3e-12", "%7.0e",
-__LINE__, 3.388427914080631e-04, "0.0003", "%2.4f",
-__LINE__, 3.390757423408097e+29, "3.3908E+29", "%.4E",
-__LINE__, 3.393963140962879e-11, "3.39396e-11", "%g",
-__LINE__, 3.399245742994444e+24, "3.399246E+24", "%E",
-__LINE__, 3.417690405546708e-26, "0.00000", "%4.5f",
-__LINE__, 3.421159360472045e-30, "3.42116E-30", "%G",
-__LINE__, 3.421973947898887e-06, "3.42197E-06", "%4G",
-__LINE__, 3.425949002482817e-10, "+3.42595E-10", "%+G",
-__LINE__, 3.428355150377972e+08, "3.42836E+08", "%G",
-__LINE__, 3.445035158951526e+15, "3445035158951526.454985", "%f",
-__LINE__, 3.447363996077534e+28, "+3e+28", "%+2.e",
-__LINE__, 3.451571062654907e-03, "0.00345157", "%G",
-__LINE__, 3.452787236877688e+09, "3.45279e+09", "%g",
-__LINE__, 3.454114826574939e-22, "3.e-22", "%#3.e",
-__LINE__, 3.455241965974631e-03, "0.003455", "%#f",
-__LINE__, 3.456190496554365e-18, "3.E-18", "%#5.E",
-__LINE__, 3.456804565717233e-19, "+0.000", "%+2.3f",
-__LINE__, 3.457077651539715e-28, "3.457078E-28", "%E",
-__LINE__, 3.472025705376229e+22, "3.472e+22", "%7.4g",
-__LINE__, 3.473308270919079e+03, "3.473308e+03", "%e",
-__LINE__, 3.474468013243007e-30, "3.47447e-30", "%g",
-__LINE__, 3.477976957097698e+22, "3.47798e+22", "%g",
-__LINE__, 3.501174631980057e-06, "4e-06", "%4.g",
-__LINE__, 3.501808481702140e+20, "3.50181E+20", "%G",
-__LINE__, 3.511760000705324e+14, "351176000070532.357000", "%f",
-__LINE__, 3.511870226306087e+29, "3.51187e+29", "%.5e",
-__LINE__, 3.518846859147841e+02, "+351.885", "%+G",
-__LINE__, 3.521659149753418e+25, "35216591497534182053641416", "%5.f",
-__LINE__, 3.521721228178747e+21, "4e+21", "%2.e",
-__LINE__, 3.526696007281458e+22, "3.5267e+22", "%g",
-__LINE__, 3.535631031379084e-11, "4e-11", "%5.0g",
-__LINE__, 3.537219665456759e-01, "0.353722", "%f",
-__LINE__, 3.537252728287785e-09, "3.537253E-09", "%E",
-__LINE__, 3.542561277796815e-19, "3.542561E-19", "%E",
-__LINE__, 3.548942336915745e+13, "3.54894E+13", "%.5E",
-__LINE__, 3.574385715121768e-24, "3.57439E-24", "%#G",
-__LINE__, 3.578068067760211e-13, "3.578068E-13", "%E",
-__LINE__, 3.583296432862266e-13, "3.5833e-13", "%g",
-__LINE__, 3.591567367115590e+19, "3.59157e+19", "%1g",
-__LINE__, 3.594902312287635e-24, "3.5949E-24", "%G",
-__LINE__, 3.602929486764515e+12, "3602929486764.514522", "%#f",
-__LINE__, 3.606699462631472e-01, "+0.360670", "%+f",
-__LINE__, 3.608605968319811e+17, "3.60861e+17", "%g",
-__LINE__, 3.608780761567885e+24, "4e+24", "%0.e",
-__LINE__, 3.623857274715022e-15, "3.62386E-15", "%1G",
-__LINE__, 3.627346251764432e-22, "3.627e-22", "%.4g",
-__LINE__, 3.652610391698086e-16, "0.000000", "%3f",
-__LINE__, 3.657463146689917e-19, " 0", "%4.0f",
-__LINE__, 3.658538858712938e-15, "4E-15", "%5.G",
-__LINE__, 3.660337267266058e+16, "+36603372672660579.034698", "%+f",
-__LINE__, 3.661588742065142e-01, "0.366159", "%g",
-__LINE__, 3.662296387211376e-25, "0.000000", "%f",
-__LINE__, 3.668511100303393e-29, "0.000000", "%7f",
-__LINE__, 3.669499303661920e+06, "3.6695e+06", "%1.5g",
-__LINE__, 3.676856420121343e-23, "3.6769e-23", "%0.4e",
-__LINE__, 3.677197473476901e-19, "+3.6772e-19", "%+g",
-__LINE__, 3.677281754506453e+12, "+3677281754506.452671", "%+f",
-__LINE__, 3.678420802401506e-19, "3.67842E-19", "%G",
-__LINE__, 3.679970245325769e+07, "3.67997e+07", "%g",
-__LINE__, 3.682528947621349e+05, "4.e+05", "%#5.e",
-__LINE__, 3.688257471304210e+22, "36882574713042104441740.320908", "%f",
-__LINE__, 3.689129734472166e-01, "0.368913", "%0.6G",
-__LINE__, 3.693483801463324e+12, "4E+12", "%3.E",
-__LINE__, 3.694612396584729e-21, "+3.69461E-21", "%+G",
-__LINE__, 3.706150073392112e-19, "0.000000", "%2f",
-__LINE__, 3.706824819530577e+21, "3706824819530576853310.321894", "%f",
-__LINE__, 3.709583789659276e+19, "+3.709584E+19", "%+#E",
-__LINE__, 3.711137503697284e+22, "3.7111E+22", "%.5G",
-__LINE__, 3.717307412969522e-22, "3.717307E-22", "%#E",
-__LINE__, 3.717434999853808e+24, " 4E+24", "%6.G",
-__LINE__, 3.720761662524312e+14, "+372076166252431.2285", "%+1.4f",
-__LINE__, 3.721613815237707e-10, "3.72161e-10", "%g",
-__LINE__, 3.725086467464346e+14, "3.72509E+14", "%G",
-__LINE__, 3.727427083626536e-15, "+4E-15", "%+.0G",
-__LINE__, 3.731138322599465e-13, "3.73114e-13", "%5g",
-__LINE__, 3.732248129614146e-04, " 4E-04", "%7.E",
-__LINE__, 3.744422223926118e-24, "3.744422E-24", "%E",
-__LINE__, 3.745595428897916e+21, "+3745595428897916079336.027906", "%+f",
-__LINE__, 3.751308304055989e-08, "+3.751308e-08", "%+e",
-__LINE__, 3.755395417696132e-02, "0.037554", "%f",
-__LINE__, 3.769103881505159e+09, "3.7691e+09", "%g",
-__LINE__, 3.769535572757430e+00, "3.769536", "%6.7G",
-__LINE__, 3.770823872348274e-28, "+0.000000", "%+f",
-__LINE__, 3.771160653578178e+29, "3.77116e+29", "%g",
-__LINE__, 3.776563752716444e-12, "4E-12", "%.0E",
-__LINE__, 3.777953798674786e-28, "3.77795e-28", "%g",
-__LINE__, 3.785994690686598e+28, "4E+28", "%5.G",
-__LINE__, 3.787487488835162e+01, "+37.874875", "%+5f",
-__LINE__, 3.788249311173359e-18, "3.788249E-18", "%E",
-__LINE__, 3.798728360791314e-08, "3.798728E-08", "%2E",
-__LINE__, 3.799038238867092e+05, "3.79904E+05", "%.5E",
-__LINE__, 3.799822564549600e+06, "3.79982E+06", "%.5E",
-__LINE__, 3.804862840499834e-16, "0", "%1.f",
-__LINE__, 3.805375156822481e+12, "3805375156822.4814861", "%.7f",
-__LINE__, 3.821612790153376e-17, "3.821613e-17", "%e",
-__LINE__, 3.825193659558693e+14, "3.82519E+14", "%#G",
-__LINE__, 3.834180638680996e+17, "+383418063868099565.638659", "%+f",
-__LINE__, 3.834759760605814e-12, "3.83476E-12", "%G",
-__LINE__, 3.839786235582770e+16, "+3.84e+16", "%+0.3g",
-__LINE__, 3.843164462248778e+28, "3.84316e+28", "%#g",
-__LINE__, 3.845599697858050e+22, "3.8456E+22", "%G",
-__LINE__, 3.850147271017228e-21, "3.85e-21", "%.4g",
-__LINE__, 3.850283557812101e+07, "3.85028E+07", "%G",
-__LINE__, 3.854235609725703e+03, "3854.24", "%G",
-__LINE__, 3.864901885489405e-15, "3.8649E-15", "%G",
-__LINE__, 3.868630187629983e-24, "3.868630e-24", "%e",
-__LINE__, 3.876764606134972e-03, "+3.8767646e-03", "%+#0.7e",
-__LINE__, 3.884553592855422e+08, "+3.8845536e+08", "%+4.7e",
-__LINE__, 3.887417494351062e+03, "3887.42", "%0g",
-__LINE__, 3.887561018972304e+03, "3887.56", "%G",
-__LINE__, 3.888554801724658e-24, "3.888555e-24", "%e",
-__LINE__, 3.892806891909861e-01, "0.389281", "%f",
-__LINE__, 3.914459791345755e+15, "+3.914460E+15", "%+E",
-__LINE__, 3.918383209642759e+01, "39.1838", "%#G",
-__LINE__, 3.923970658741865e-10, "3.92397E-10", "%G",
-__LINE__, 3.928163650272335e+18, "3928163650272335161.162118", "%f",
-__LINE__, 3.933053127721002e-20, "3.933053e-20", "%e",
-__LINE__, 3.939306552155218e-29, "3.93931E-29", "%G",
-__LINE__, 3.953007066379472e+07, "3.953007E+07", "%E",
-__LINE__, 3.954924824986267e-01, "3.954925E-01", "%E",
-__LINE__, 3.956156072067987e+15, "3.956E+15", "%0.4G",
-__LINE__, 3.957756196797224e+22, "4.0E+22", "%4.1E",
-__LINE__, 3.960011413261009e+27, "+3960011413261008783592842519.283295", "%+f",
-__LINE__, 3.961789076323378e+20, "396178907632337828914.614875", "%f",
-__LINE__, 3.961985468081708e-28, "3.96199E-28", "%1G",
-__LINE__, 3.975007582283812e-27, "0.000000", "%0.6f",
-__LINE__, 3.987586813142132e+15, "+3.98759e+15", "%+g",
-__LINE__, 3.992250836957379e+21, "3.99225E+21", "%0G",
-__LINE__, 3.992985048620057e+00, "3.9930", "%.4f",
-__LINE__, 4.000000000000000e+02, "400.00", "%.2f",
-__LINE__, 4.000145414240556e+14, "4.00015e+14", "%#6g",
-__LINE__, 4.000774453529974e-25, "4E-25", "%.0E",
-__LINE__, 4.002041494804383e+17, "4.002041E+17", "%E",
-__LINE__, 4.005505415013214e+17, " 4E+17", "%6.2G",
-__LINE__, 4.008960306876491e-28, "0.000", "%.3f",
-__LINE__, 4.032337828117640e+16, "4.03234E+16", "%G",
-__LINE__, 4.035414597530057e+26, "403541459753005682387083652.429283", "%f",
-__LINE__, 4.037065874793069e-01, "0.403707", "%f",
-__LINE__, 4.047856284449970e-14, "4.04786E-14", "%#G",
-__LINE__, 4.049037221323070e-04, "4.049037e-04", "%e",
-__LINE__, 4.053458853142009e-07, "4E-07", "%2.0E",
-__LINE__, 4.056455443275955e-22, "4.056455e-22", "%e",
-__LINE__, 4.058158020771355e-22, "4.05816e-22", "%#2g",
-__LINE__, 4.067283508945137e+02, "+4.07e+02", "%+5.2e",
-__LINE__, 4.072155715199509e+11, "4.072e+11", "%.4g",
-__LINE__, 4.074643403755990e-22, "4e-22", "%0.g",
-__LINE__, 4.077450352325251e+08, "4.1e+08", "%3.2g",
-__LINE__, 4.081492619284916e-08, "4.081493E-08", "%E",
-__LINE__, 4.083271801996951e-10, "4.083272E-10", "%#E",
-__LINE__, 4.090188547940879e-15, "4.090189E-15", "%#E",
-__LINE__, 4.091167728938537e-11, "4e-11", "%1.g",
-__LINE__, 4.091916745541154e+15, "4091916745541153.588306", "%f",
-__LINE__, 4.092366122921161e+23, "4E+23", "%0.E",
-__LINE__, 4.094638368212577e-11, "4.09464E-11", "%#G",
-__LINE__, 4.097148443124199e-16, "0.000000", "%f",
-__LINE__, 4.101057893946401e+06, "4e+06", "%4.g",
-__LINE__, 4.101209521231476e+28, "41012095212314756409455185348.633677", "%f",
-__LINE__, 4.105683659045903e+05, "+4.E+05", "%+#1.G",
-__LINE__, 4.111553717385758e-16, "4.11155e-16", "%g",
-__LINE__, 4.112186409918593e+14, "+4.11219e+14", "%+g",
-__LINE__, 4.117782144860865e+25, "4.117782E+25", "%5E",
-__LINE__, 4.119420921722146e-27, "4.11942e-27", "%g",
-__LINE__, 4.134953783635018e+14, "+4.1349538e+14", "%+.7e",
-__LINE__, 4.136990822648468e+11, "4.136991E+11", "%E",
-__LINE__, 4.140475788523046e+14, "+4E+14", "%+5.G",
-__LINE__, 4.149589679915584e+24, "4.14959E+24", "%2G",
-__LINE__, 4.151240342256744e-22, " 0", "%2.f",
-__LINE__, 4.155533104307272e-04, "+0.000416", "%+f",
-__LINE__, 4.155890511880097e+25, "4.155891e+25", "%e",
-__LINE__, 4.159907901074450e-19, "4.159908E-19", "%7E",
-__LINE__, 4.171899783464252e+18, "4E+18", "%.0E",
-__LINE__, 4.177920266276382e-17, "+0.0000", "%+1.4f",
-__LINE__, 4.181728014477237e-20, "4.18173e-20", "%.6g",
-__LINE__, 4.203600495086497e-30, " 4E-30", "%6.G",
-__LINE__, 4.211166112605717e-08, "4E-08", "%5.1G",
-__LINE__, 4.219513437404614e+18, "+4E+18", "%+.0E",
-__LINE__, 4.221426315236785e+08, "4.221426E+08", "%#E",
-__LINE__, 4.226224756005934e-13, " 4.e-13", "%#7.g",
-__LINE__, 4.226979046489921e-01, "4.226979e-01", "%#.6e",
-__LINE__, 4.236283521629158e-08, "+4.23628E-08", "%+G",
-__LINE__, 4.239850628514233e-07, "4.23985E-07", "%.6G",
-__LINE__, 4.241177358638621e+04, "42411.773586", "%2f",
-__LINE__, 4.245306724398964e-13, "0.000000", "%#f",
-__LINE__, 4.246194290300334e+16, "42461942903003340.177293", "%2f",
-__LINE__, 4.251238996137952e-05, "4.25124E-05", "%3G",
-__LINE__, 4.262432542017438e+13, "42624325420174.375978", "%1f",
-__LINE__, 4.266383084300715e+16, "4E+16", "%4.G",
-__LINE__, 4.292963398931474e-11, "4.292963E-11", "%E",
-__LINE__, 4.296530271399131e-29, "0.000000", "%6f",
-__LINE__, 4.303753949741171e+19, "4.30375E+19", "%2G",
-__LINE__, 4.303767633827431e-28, "4.30377e-28", "%g",
-__LINE__, 4.316181911403991e-30, "4.3162e-30", "%#7.5g",
-__LINE__, 4.318654697213126e-18, "4.31865e-18", "%g",
-__LINE__, 4.320618603119499e+05, "432061.860312", "%3f",
-__LINE__, 4.322443609118441e+21, "4.32244E+21", "%7.5E",
-__LINE__, 4.322522446810708e-15, "4.32252e-15", "%.6g",
-__LINE__, 4.334728493589115e-18, "0.000000", "%f",
-__LINE__, 4.335342531476346e-19, "4.33534E-19", "%G",
-__LINE__, 4.340579325084176e-30, "4.34058e-30", "%#0.6g",
-__LINE__, 4.340775659883185e+04, "43407.756599", "%6f",
-__LINE__, 4.361131891528634e-14, " 4E-14", "%6.G",
-__LINE__, 4.366662624371249e-02, "+0.04", "%+4.g",
-__LINE__, 4.369919308458348e+28, "+4.36992e+28", "%+2g",
-__LINE__, 4.369930393192433e-24, "4.369930e-24", "%e",
-__LINE__, 4.376283118322521e-01, "0.437628", "%g",
-__LINE__, 4.386868840825930e+19, "4.3869E+19", "%.5G",
-__LINE__, 4.389349113395235e+05, "+4.389349e+05", "%+e",
-__LINE__, 4.392447466753053e-08, "+4.392E-08", "%+.4G",
-__LINE__, 4.394068619246889e-13, "4.39407e-13", "%6g",
-__LINE__, 4.404889573700147e-09, "4.404890E-09", "%E",
-__LINE__, 4.410531039373014e+05, "+4.41e+05", "%+.2e",
-__LINE__, 4.412466606726400e-08, " 0.0", "%6.1f",
-__LINE__, 4.414693719279123e+17, "4.414694e+17", "%e",
-__LINE__, 4.417050329080679e-01, "+0.441705", "%+g",
-__LINE__, 4.419509841929196e-10, "4.4195098E-10", "%.7E",
-__LINE__, 4.421012777695611e+07, "+4.42101E+07", "%+0.6G",
-__LINE__, 4.426387732151208e+11, "4.42639e+11", "%g",
-__LINE__, 4.439567017550398e+26, "4.439567E+26", "%E",
-__LINE__, 4.446479816166258e-21, "4.446480e-21", "%0e",
-__LINE__, 4.453486178424380e+05, "445348.617842", "%f",
-__LINE__, 4.455733696043438e+06, "4.45573e+06", "%3g",
-__LINE__, 4.455870606312063e+16, "4.45587e+16", "%g",
-__LINE__, 4.458776435431700e+22, "4e+22", "%1.g",
-__LINE__, 4.466448605584151e-30, "0.000000", "%f",
-__LINE__, 4.471063097005706e+16, "4.47106E+16", "%G",
-__LINE__, 4.482001890035190e-22, "+4.482E-22", "%+G",
-__LINE__, 4.493246870093631e+05, "449325", "%1G",
-__LINE__, 4.496089639281023e+17, "4.49609e+17", "%g",
-__LINE__, 4.515066070117557e+15, "4.51507e+15", "%g",
-__LINE__, 4.518296460916194e+24, "+4.5183E+24", "%+G",
-__LINE__, 4.526548719445596e+02, "452.655", "%6.3f",
-__LINE__, 4.532756455106440e-26, "4.53e-26", "%4.2e",
-__LINE__, 4.534466782633055e-14, "4.53447E-14", "%G",
-__LINE__, 4.541313061854649e-14, "4.54131E-14", "%G",
-__LINE__, 4.541848265404338e+02, " 5E+02", "%7.G",
-__LINE__, 4.546603085406363e-26, "5E-26", "%3.G",
-__LINE__, 4.557349604829375e+28, "+45573496048293753446500886639.", "%+#1.f",
-__LINE__, 4.560736449944898e-27, "4.56074e-27", "%g",
-__LINE__, 4.563726230559341e-15, "+0.0", "%+2.1f",
-__LINE__, 4.572650965532532e-26, "+5E-26", "%+4.G",
-__LINE__, 4.574369572115099e-10, "+0.000000", "%+2.6f",
-__LINE__, 4.576480601519729e+28, "+4.576481e+28", "%+e",
-__LINE__, 4.587487640650499e+02, "+458.75", "%+3.2f",
-__LINE__, 4.598365231538559e-27, "4.59837E-27", "%G",
-__LINE__, 4.599348244725009e-28, "+4.5993482e-28", "%+#3.7e",
-__LINE__, 4.599897524047587e+22, "45998975240475870052136.997401", "%#f",
-__LINE__, 4.605415604725077e-25, "0.000000", "%f",
-__LINE__, 4.613055015797716e+28, "4.613055E+28", "%E",
-__LINE__, 4.618715275814238e-10, "4.618715E-10", "%E",
-__LINE__, 4.619044579489540e-14, "0.00", "%.2f",
-__LINE__, 4.633693310095410e-20, "+0.000000", "%+f",
-__LINE__, 4.648505395281916e-28, "0.000000", "%f",
-__LINE__, 4.651232770446398e+21, "4.65e+21", "%.2e",
-__LINE__, 4.659743589975352e+28, "+4.65974e+28", "%+g",
-__LINE__, 4.660181457075208e-13, "4.66018e-13", "%g",
-__LINE__, 4.669787018529686e+20, "4.66979e+20", "%g",
-__LINE__, 4.672649286126732e-21, "4.6726E-21", "%4.5G",
-__LINE__, 4.675431901120643e-11, " 0", "%3.f",
-__LINE__, 4.684404068169945e+26, "468440406816994503458317922.2", "%6.1f",
-__LINE__, 4.685438834234642e+19, "5.E+19", "%#6.G",
-__LINE__, 4.688915890732712e+00, "+5e+00", "%+2.e",
-__LINE__, 4.692999432046297e+00, "4.692999E+00", "%E",
-__LINE__, 4.708690772584701e+11, "4.70869e+11", "%g",
-__LINE__, 4.711821455782105e-11, "+4.71182e-11", "%+1g",
-__LINE__, 4.712413965116830e-01, "4.712414E-01", "%E",
-__LINE__, 4.719504715401049e-08, "0.000000", "%f",
-__LINE__, 4.719767896031655e+27, "4.71977e+27", "%#g",
-__LINE__, 4.722493017411588e-05, "0.000047", "%4f",
-__LINE__, 4.729482386761477e+08, "4.72948e+08", "%1g",
-__LINE__, 4.730102169800602e-06, "0.000005", "%f",
-__LINE__, 4.743951614209393e+24, "4.743952E+24", "%#E",
-__LINE__, 4.746077075605921e-16, "4.746E-16", "%.3E",
-__LINE__, 4.747802537919248e+24, "4747802537919247889419694", "%4.f",
-__LINE__, 4.754727690703025e-26, "0", "%0.f",
-__LINE__, 4.756952432926979e-29, " 0.", "%#3.f",
-__LINE__, 4.758335147956709e+03, "4758.335148", "%f",
-__LINE__, 4.760141880810268e-25, "4.760142e-25", "%e",
-__LINE__, 4.767079423650815e-07, "5.E-07", "%#0.G",
-__LINE__, 4.785662728343338e-28, "4.78566e-28", "%g",
-__LINE__, 4.787146245774150e-13, "+4.78715E-13", "%+G",
-__LINE__, 4.787415449888824e-17, "4.78742e-17", "%3g",
-__LINE__, 4.794589807429657e-05, "4.79459E-05", "%6G",
-__LINE__, 4.794948299666205e+08, "4.79495e+08", "%g",
-__LINE__, 4.802292865915992e-04, "4.802293e-04", "%e",
-__LINE__, 4.802513688198601e+07, "+4.8e+07", "%+2.3g",
-__LINE__, 4.810456746192536e+06, "5E+06", "%0.0G",
-__LINE__, 4.820631660081696e+20, "+4.82063E+20", "%+G",
-__LINE__, 4.827865857270075e-20, "4.82787e-20", "%g",
-__LINE__, 4.835054268490970e+21, "4835054268490970308391.752042", "%#f",
-__LINE__, 4.838136770808465e-18, "4.83814E-18", "%G",
-__LINE__, 4.839342397882353e-26, "4.839342E-26", "%E",
-__LINE__, 4.845130210072029e-16, "0", "%1.f",
-__LINE__, 4.845161043167169e-12, "+4.845e-12", "%+.4g",
-__LINE__, 4.857425142494964e+01, "48.574251", "%f",
-__LINE__, 4.858118337285513e-10, "+4.8581e-10", "%+.5g",
-__LINE__, 4.867478343525339e-15, "+4.867478E-15", "%+E",
-__LINE__, 4.886137001331278e-11, "0.000000", "%f",
-__LINE__, 4.886835850687998e-20, " 0", "%6.0f",
-__LINE__, 4.886880737482383e+26, "488688073748238327453918827.814050", "%4f",
-__LINE__, 4.888812049144075e-22, "4.888812E-22", "%E",
-__LINE__, 4.895869618002905e+02, "+489.587", "%+.7g",
-__LINE__, 4.902046593298549e+09, " 5e+09", "%7.g",
-__LINE__, 4.907918627564751e-05, "4.91e-05", "%.3g",
-__LINE__, 4.916048355579009e+19, "49160483555790088772", "%2.f",
-__LINE__, 4.917197806128638e+14, "+5e+14", "%+5.g",
-__LINE__, 4.918303274189911e+13, "4.918303e+13", "%e",
-__LINE__, 4.922687970321108e+26, "492268797032110771993984599.2485", "%0.4f",
-__LINE__, 4.929263362431195e+14, "4.92926e+14", "%g",
-__LINE__, 4.933385398543267e-17, "0.000000", "%#f",
-__LINE__, 4.942367126455025e+00, " +5", "%+6.f",
-__LINE__, 4.947687486717652e-04, "0.000495", "%.6f",
-__LINE__, 4.960855200003128e-08, "+4.960855e-08", "%+e",
-__LINE__, 4.968485435774085e-21, "0.0000", "%#2.4f",
-__LINE__, 4.972088381506133e+01, "49.7", "%.1f",
-__LINE__, 4.977561524480392e-15, "4.977562E-15", "%7E",
-__LINE__, 4.984592111249502e-13, "5.0e-13", "%.1e",
-__LINE__, 4.997502335602838e-14, "4.998e-14", "%6.4g",
-__LINE__, 5.001731554335935e-09, "5.00173e-09", "%g",
-__LINE__, 5.006231697107042e-17, "5.0062e-17", "%1.5g",
-__LINE__, 5.008035801093423e+24, "5.008036E+24", "%#E",
-__LINE__, 5.008756965733827e-28, "5.009E-28", "%.4G",
-__LINE__, 5.009774027622812e+20, "+5.00977E+20", "%+G",
-__LINE__, 5.010576312346293e+29, "5.01058E+29", "%G",
-__LINE__, 5.012335250996786e+29, "5.012335e+29", "%.7g",
-__LINE__, 5.012404365186907e+20, "5E+20", "%3.2G",
-__LINE__, 5.024670103250229e-01, "+5.024670E-01", "%+E",
-__LINE__, 5.025765369164560e+03, "5025.77", "%g",
-__LINE__, 5.027173841003918e+11, "+5.02717E+11", "%+G",
-__LINE__, 5.032093817639893e-26, "5e-26", "%3.e",
-__LINE__, 5.039636818525848e-02, "0.050396", "%#f",
-__LINE__, 5.040626671307691e+23, "5.040627E+23", "%E",
-__LINE__, 5.040788233368296e-11, "+5.04079e-11", "%+g",
-__LINE__, 5.040903321336150e-28, "5.0409E-28", "%G",
-__LINE__, 5.042078512958994e+12, "5.04208E+12", "%G",
-__LINE__, 5.045957900223303e+15, "5045957900223303", "%0.f",
-__LINE__, 5.048298764352134e-14, "5.048299e-14", "%1e",
-__LINE__, 5.048827326763192e+28, "50488273267631917917697137454.524636", "%f",
-__LINE__, 5.049714558347361e-23, "5e-23", "%5.0g",
-__LINE__, 5.051509904923853e+16, "50515099049238534", "%5.f",
-__LINE__, 5.052789863743305e-10, "5.05279E-10", "%6G",
-__LINE__, 5.057429728861999e-29, "0.000", "%#1.3f",
-__LINE__, 5.075313093968501e-13, "+5.07531e-13", "%+g",
-__LINE__, 5.075874503501582e+29, "5e+29", "%2.e",
-__LINE__, 5.079468079020803e+01, "50.795", "%.5G",
-__LINE__, 5.086214826494080e-28, " 0.0", "%4.1f",
-__LINE__, 5.096054881114421e+13, "5.096e+13", "%.4g",
-__LINE__, 5.099045274853458e-23, "5.09905E-23", "%0G",
-__LINE__, 5.100248195124433e+00, "5.100248", "%f",
-__LINE__, 5.101016114276598e-20, "5e-20", "%4.1g",
-__LINE__, 5.103213528670269e+07, "51032135.286703", "%6f",
-__LINE__, 5.108373625126768e+08, "+510837362.512677", "%+f",
-__LINE__, 5.113097157183416e+07, "5.1131E+07", "%#.4E",
-__LINE__, 5.114452611789777e+08, "+5.11445E+08", "%+G",
-__LINE__, 5.117099184715288e-16, "5.1171E-16", "%G",
-__LINE__, 5.119910534665511e-13, "+5.11991E-13", "%+G",
-__LINE__, 5.121320931953720e+23, "+5.121321e+23", "%+#e",
-__LINE__, 5.121900318443998e+06, "5.121900e+06", "%e",
-__LINE__, 5.135698679084286e+00, "5.1357", "%2g",
-__LINE__, 5.146355903104154e-10, "+5.14636E-10", "%+.6G",
-__LINE__, 5.148754210958986e-24, "+5.148754e-24", "%+e",
-__LINE__, 5.156238368448428e+26, "5e+26", "%5.g",
-__LINE__, 5.159924520667922e-19, "+5E-19", "%+0.1G",
-__LINE__, 5.159938266135425e-27, "0.000000", "%f",
-__LINE__, 5.165915205175676e-01, "5.165915e-01", "%e",
-__LINE__, 5.190205499401547e-11, "5e-11", "%2.1g",
-__LINE__, 5.193260005542003e+26, "5.19326e+26", "%#g",
-__LINE__, 5.194732077318269e+08, "519473207.731827", "%f",
-__LINE__, 5.196394616633798e-19, "0", "%.0f",
-__LINE__, 5.206753628035638e+19, "5.20675e+19", "%6.6g",
-__LINE__, 5.207364136540851e-23, " 0.000", "%6.3f",
-__LINE__, 5.210672737132108e-09, "5.21067E-09", "%G",
-__LINE__, 5.211423933057123e-20, "+5.21142E-20", "%+G",
-__LINE__, 5.219749528363367e-27, "5.219750e-27", "%e",
-__LINE__, 5.228031587478653e-06, "+5.2E-06", "%+3.1E",
-__LINE__, 5.229303095005359e-25, "+0.000000", "%+#f",
-__LINE__, 5.234703511938320e-06, " 0", "%7.f",
-__LINE__, 5.235655046937822e-20, "5.235655E-20", "%.6E",
-__LINE__, 5.237924986002288e-01, "+0.52379", "%+.5f",
-__LINE__, 5.249148093603826e+20, "5.24915E+20", "%0G",
-__LINE__, 5.262680920244596e+16, "5.26268E+16", "%G",
-__LINE__, 5.267944704715845e-06, "5.e-06", "%#3.g",
-__LINE__, 5.268543533730505e-08, "5.26854E-08", "%G",
-__LINE__, 5.275727269515247e-02, "0.0527573", "%.6g",
-__LINE__, 5.279215316873723e+24, "5279215316873722585455652.733799", "%f",
-__LINE__, 5.284326985680811e+16, "52843269856808108.286828", "%6f",
-__LINE__, 5.286192957344040e-10, "5.3E-10", "%.1E",
-__LINE__, 5.289451976001091e-23, "5.28945E-23", "%G",
-__LINE__, 5.289512908209300e+09, "+5.289513e+09", "%+e",
-__LINE__, 5.295696957972123e+11, "5.296E+11", "%#.3E",
-__LINE__, 5.303584684011050e+16, "53035846840110503.208621", "%f",
-__LINE__, 5.310315581980172e+23, "531031558198017172855998", "%4.f",
-__LINE__, 5.317492728410062e-14, "5.31749e-14", "%7g",
-__LINE__, 5.324506949499409e+18, "5.3245E+18", "%.5G",
-__LINE__, 5.329238068668336e-20, "5e-20", "%4.g",
-__LINE__, 5.336050125161774e+14, "5.33605e+14", "%g",
-__LINE__, 5.349921315003169e-17, "5.34992E-17", "%.6G",
-__LINE__, 5.355648481782587e-20, "5.355648e-20", "%e",
-__LINE__, 5.358945557589489e-26, "+5e-26", "%+0.g",
-__LINE__, 5.359638846465574e+21, "5.359639E+21", "%E",
-__LINE__, 5.377048469393900e+14, "5.377E+14", "%.5G",
-__LINE__, 5.387471194156434e+23, "5.387471E+23", "%.7G",
-__LINE__, 5.401622578962497e-03, "+0.0054", "%+5.2g",
-__LINE__, 5.406882732497444e-16, "5.406883E-16", "%E",
-__LINE__, 5.421474560523198e-11, "+5.42147e-11", "%+g",
-__LINE__, 5.440249323479418e-26, "5.44025E-26", "%7G",
-__LINE__, 5.440922682921101e-05, "5e-05", "%.1g",
-__LINE__, 5.444400103673185e-01, "0.54444", "%G",
-__LINE__, 5.449339470916152e+09, "5449339470.9162", "%.4f",
-__LINE__, 5.451583259558706e-15, "5.e-15", "%#4.e",
-__LINE__, 5.460153018660573e+26, "+546015301866057267687892817.775719", "%+f",
-__LINE__, 5.477591210511918e+08, "+5.47759E+08", "%+0.5E",
-__LINE__, 5.481665401407188e-02, "5.481665e-02", "%e",
-__LINE__, 5.482670784411319e-16, "5E-16", "%4.G",
-__LINE__, 5.487494580636099e+12, "5.48749e+12", "%g",
-__LINE__, 5.508630369473937e-10, "5.508630e-10", "%e",
-__LINE__, 5.528898001438273e+20, "6e+20", "%4.g",
-__LINE__, 5.530331734443152e-24, " 6e-24", "%6.g",
-__LINE__, 5.531704398969656e-24, "0.000000", "%f",
-__LINE__, 5.539906569043238e+05, "+553990.656904", "%+f",
-__LINE__, 5.554571854756323e-08, "+0.00000", "%+4.5f",
-__LINE__, 5.555155069925145e-28, "5.55516e-28", "%g",
-__LINE__, 5.555302705075539e-08, "+5.5553e-08", "%+g",
-__LINE__, 5.563805076159055e-05, "5.563805e-05", "%e",
-__LINE__, 5.565063508995002e+07, "5.565E+07", "%.3E",
-__LINE__, 5.566281664807526e-08, "5.56628E-08", "%G",
-__LINE__, 5.575245679736338e-08, "5.575246e-08", "%e",
-__LINE__, 5.578254777281501e-21, "0.", "%#.0f",
-__LINE__, 5.582389275770848e-01, " 0.6", "%5.G",
-__LINE__, 5.592215029176133e-04, "0.00056", "%.2g",
-__LINE__, 5.593536789867047e-25, "5.59354e-25", "%g",
-__LINE__, 5.605652054074862e-03, " 0.006", "%8.G",
-__LINE__, 5.606982382643258e+20, "+5.60698E+20", "%+G",
-__LINE__, 5.614646821116853e-18, "5.6E-18", "%.2G",
-__LINE__, 5.625586848606565e-11, "+5.62559E-11", "%+G",
-__LINE__, 5.626300428046732e+26, " 6e+26", "%7.g",
-__LINE__, 5.638236626881086e-17, " 6E-17", "%6.G",
-__LINE__, 5.645744817075691e+04, "5.645745E+04", "%E",
-__LINE__, 5.651410004691736e+06, "6.E+06", "%#3.E",
-__LINE__, 5.659582345929256e-11, "+0.000000", "%+f",
-__LINE__, 5.670968861413510e+16, "+5.67097E+16", "%+G",
-__LINE__, 5.672476851235796e+01, "+56.724769", "%+0f",
-__LINE__, 5.674563779921248e+28, " 6E+28", "%6.0G",
-__LINE__, 5.675558529939025e+19, "5.67556e+19", "%3g",
-__LINE__, 5.676326888314589e-08, " 6e-08", "%7.g",
-__LINE__, 5.677928507840897e-30, "5.67793e-30", "%0g",
-__LINE__, 5.686622552402630e-15, "5.69E-15", "%1.3G",
-__LINE__, 5.710441686922142e-14, "5.710442E-14", "%E",
-__LINE__, 5.713234603280163e-21, "0.00000", "%0.5f",
-__LINE__, 5.714968959046963e+12, "5.71497e+12", "%g",
-__LINE__, 5.722025141555638e-23, "5.72e-23", "%.2e",
-__LINE__, 5.725398571007033e-09, "5.7254E-09", "%.6G",
-__LINE__, 5.751604813862738e+18, "6E+18", "%.1G",
-__LINE__, 5.761025444751985e+20, "5.76103e+20", "%g",
-__LINE__, 5.762315767948593e+15, "5.76232e+15", "%4g",
-__LINE__, 5.764528858586032e-15, "5.764529E-15", "%6.7G",
-__LINE__, 5.766408541535810e-07, " 6E-07", "%6.1G",
-__LINE__, 5.771831571087174e-01, "0.577183", "%f",
-__LINE__, 5.790102497364865e-15, "+5.790102e-15", "%+e",
-__LINE__, 5.790222335547785e-08, "5.79022e-08", "%0.6g",
-__LINE__, 5.794082127091130e+21, "5794082127091130018925.468903", "%f",
-__LINE__, 5.804568463644165e+28, "5.80457e+28", "%g",
-__LINE__, 5.827356651901066e+20, "582735665190106555400.006982", "%f",
-__LINE__, 5.837553387436408e+18, "5.837553E+18", "%3E",
-__LINE__, 5.844458110907209e+22, "5.84446e+22", "%g",
-__LINE__, 5.851672125746866e-19, "5.85167e-19", "%g",
-__LINE__, 5.868843476784172e-12, "5.868843e-12", "%1.7g",
-__LINE__, 5.870854146748864e-04, "0.000587", "%2.3g",
-__LINE__, 5.877787821470433e+01, "+58.77788", "%+#3.5f",
-__LINE__, 5.881333514866498e+04, "5.881334E+04", "%E",
-__LINE__, 5.908427816128965e+28, "+5.908428E+28", "%+E",
-__LINE__, 5.918139800007388e+07, "59181398.000074", "%f",
-__LINE__, 5.925587467475260e+21, "5925587467475259551008.548442", "%f",
-__LINE__, 5.930403502679683e-22, "5.9304E-22", "%.6G",
-__LINE__, 5.961572644847521e+02, "+596.157", "%+G",
-__LINE__, 5.968917715225198e-21, "5.96892e-21", "%4g",
-__LINE__, 5.982184454670110e-08, "0", "%0.f",
-__LINE__, 5.988414319040855e+09, "6E+09", "%0.G",
-__LINE__, 5.996263783103995e-10, "5.996264e-10", "%e",
-__LINE__, 6.004634162276014e-18, "6.00463e-18", "%g",
-__LINE__, 6.018734975519166e-08, "6.01873E-08", "%G",
-__LINE__, 6.029071822986717e-14, "0.0000000", "%.7f",
-__LINE__, 6.030392278117406e+23, "6.030392e+23", "%e",
-__LINE__, 6.034553399237175e-27, "+6.03455e-27", "%+g",
-__LINE__, 6.034938873443862e+24, "6034938873443861595546877.651941", "%f",
-__LINE__, 6.038929148003457e-16, "6.03893e-16", "%g",
-__LINE__, 6.039149626573702e-13, "6.0391E-13", "%3.5G",
-__LINE__, 6.041247664739301e+29, "6.041248E+29", "%3E",
-__LINE__, 6.044220746789781e+20, "+6.04422e+20", "%+g",
-__LINE__, 6.045775647107433e+19, "6E+19", "%2.G",
-__LINE__, 6.051917010461611e-05, "6.05192E-05", "%G",
-__LINE__, 6.059773181566425e+17, "+605977318156642486", "%+5.f",
-__LINE__, 6.082239575475813e+01, "+6E+01", "%+.1G",
-__LINE__, 6.093984174629151e+18, "6.093984e+18", "%e",
-__LINE__, 6.102368380479137e+22, "6.1E+22", "%.2G",
-__LINE__, 6.103097446204007e+25, "61030974462040070704915706.301108", "%#0f",
-__LINE__, 6.105244994410556e-24, "0.0000000", "%2.7f",
-__LINE__, 6.110828906801633e-14, "+6.110829e-14", "%+3e",
-__LINE__, 6.124439072468681e-30, "6.12444e-30", "%g",
-__LINE__, 6.127714703273447e-15, "0", "%0.f",
-__LINE__, 6.128539582408870e-15, "6.12854e-15", "%g",
-__LINE__, 6.145470264744349e+24, "6145470264744348654062378.045637", "%f",
-__LINE__, 6.159177701667455e+26, "615917770166745537352426254.074089", "%#f",
-__LINE__, 6.159348213337442e+17, "6.15935e+17", "%g",
-__LINE__, 6.161953891020492e-21, "0.000000", "%f",
-__LINE__, 6.169474192777305e+29, "+6.169E+29", "%+.4G",
-__LINE__, 6.198519761010651e-15, "+0", "%+1.f",
-__LINE__, 6.201381824304919e-27, " 0", "%5.f",
-__LINE__, 6.204387065736372e-18, "6.204387E-18", "%7E",
-__LINE__, 6.209270088144063e-24, "0.000000", "%f",
-__LINE__, 6.209871738353546e-20, "6.20987E-20", "%G",
-__LINE__, 6.222733191871026e+14, "+6.22273e+14", "%+g",
-__LINE__, 6.234670085354310e+04, "+62346.700854", "%+f",
-__LINE__, 6.258389346602224e-09, "6E-09", "%.0G",
-__LINE__, 6.263326582587503e+12, "6263326582588.", "%#5.f",
-__LINE__, 6.272768026763922e+03, "+6272.77", "%+g",
-__LINE__, 6.287747868625765e+00, "6E+00", "%.0E",
-__LINE__, 6.297724027388795e-17, "+6E-17", "%+3.G",
-__LINE__, 6.309940679156400e+27, "6.30994e+27", "%6.5e",
-__LINE__, 6.312960327030170e+06, "+6.312960E+06", "%+E",
-__LINE__, 6.317658179632976e+02, "+631.766", "%+g",
-__LINE__, 6.321255960699571e-27, "0.000000", "%f",
-__LINE__, 6.323069932833900e+03, "6323", "%.4G",
-__LINE__, 6.337027835933034e+21, "6.33703e+21", "%#g",
-__LINE__, 6.343583177899838e-03, "0.00634358", "%7G",
-__LINE__, 6.347464241733904e-03, "6.e-03", "%#0.e",
-__LINE__, 6.352038720353924e+07, "63520387.203539", "%f",
-__LINE__, 6.355292378565109e+23, "+635529237856510942350496.407016", "%+f",
-__LINE__, 6.377901944439164e-29, "0.000", "%2.3f",
-__LINE__, 6.378660255554053e-04, "6.37866E-04", "%.5E",
-__LINE__, 6.382838195255167e-18, "0.000000", "%f",
-__LINE__, 6.391046303581911e+22, "6E+22", "%.0G",
-__LINE__, 6.404812348309621e+22, "6.404812E+22", "%.7G",
-__LINE__, 6.406154091357119e+16, "6.40615E+16", "%G",
-__LINE__, 6.419414726557980e+21, "+6.41941e+21", "%+g",
-__LINE__, 6.432166563008504e+10, " +6e+10", "%+7.g",
-__LINE__, 6.438463704193190e+19, "6.438464e+19", "%e",
-__LINE__, 6.445270237908565e+15, "+6.445270E+15", "%+E",
-__LINE__, 6.445536770502964e+09, "6.446e+09", "%.3e",
-__LINE__, 6.446614224811444e+28, "64466142248114444157636171439.662576", "%f",
-__LINE__, 6.457046289718297e+18, "6457046289718297416.015957", "%4f",
-__LINE__, 6.457682856890173e+01, "6.457683E+01", "%2E",
-__LINE__, 6.471026352792729e-16, "+6.47103e-16", "%+g",
-__LINE__, 6.474527749567342e+19, "6E+19", "%.1G",
-__LINE__, 6.481178401781131e-24, "+6.48E-24", "%+6.3G",
-__LINE__, 6.490736647261461e-15, "+6.49074e-15", "%+g",
-__LINE__, 6.493196535069719e+23, "+6.4932E+23", "%+G",
-__LINE__, 6.500296992935538e-20, "+0.0", "%+.1f",
-__LINE__, 6.502867735895890e-19, "+0.000000", "%+6f",
-__LINE__, 6.506627529164683e+14, "650662752916468", "%5.f",
-__LINE__, 6.511909298966434e-15, "+6.51191E-15", "%+G",
-__LINE__, 6.514463062693312e+01, "65.1446", "%G",
-__LINE__, 6.520721469484543e+16, "6.52072E+16", "%G",
-__LINE__, 6.528064508731680e-05, "6.528065E-05", "%7E",
-__LINE__, 6.529007214194039e-24, "0.000000", "%f",
-__LINE__, 6.537822760557410e-23, "0.000000", "%f",
-__LINE__, 6.552222096390805e+29, "+6.55222E+29", "%+G",
-__LINE__, 6.554569862717104e+12, "6.55457E+12", "%G",
-__LINE__, 6.563440840359989e-30, "7E-30", "%4.G",
-__LINE__, 6.586246985535526e+17, "6.58625E+17", "%#4G",
-__LINE__, 6.593339522442827e+16, "6.6E+16", "%#4.1E",
-__LINE__, 6.611179030024350e+02, "7E+02", "%4.E",
-__LINE__, 6.617541638586767e-10, "6.617542E-10", "%E",
-__LINE__, 6.619147920886991e-28, "7e-28", "%.1g",
-__LINE__, 6.622304444772819e-21, "6.62230E-21", "%#4G",
-__LINE__, 6.634766655157910e+12, "6634766655158", "%2.f",
-__LINE__, 6.635639771921218e+25, "+6.63564E+25", "%+G",
-__LINE__, 6.644575305929087e+17, "+6.64458e+17", "%+g",
-__LINE__, 6.648697591328432e+04, "6.648698E+04", "%3E",
-__LINE__, 6.665426012448100e+09, "6.66543E+09", "%G",
-__LINE__, 6.675222780441723e-23, "6.67522e-23", "%1g",
-__LINE__, 6.689765053880623e+00, "6.6898", "%.5g",
-__LINE__, 6.693874943680238e+25, "7.e+25", "%#1.g",
-__LINE__, 6.695033453546435e+19, "6.695033E+19", "%E",
-__LINE__, 6.720131534244976e+03, "+6720.132", "%+.3f",
-__LINE__, 6.725287004784564e+19, "+6.72529e+19", "%+g",
-__LINE__, 6.743599626906313e-18, "0.0000000", "%7.7f",
-__LINE__, 6.755534260704152e+29, "7.e+29", "%#5.e",
-__LINE__, 6.761855244766418e-18, "6.8E-18", "%.2G",
-__LINE__, 6.764974143681080e-02, "6.765E-02", "%2.3E",
-__LINE__, 6.766924477711975e-17, "0.000000", "%4f",
-__LINE__, 6.772195434106330e-19, "6.7722E-19", "%G",
-__LINE__, 6.779433073319225e-23, "0.00", "%.2f",
-__LINE__, 6.790317710068964e+05, "6.8e+05", "%.1e",
-__LINE__, 6.791378160292960e+02, "679.137816", "%f",
-__LINE__, 6.798381262104190e-27, "0.000000", "%f",
-__LINE__, 6.804165939424860e-14, "7e-14", "%4.g",
-__LINE__, 6.810668670623699e+11, "681066867062.369852", "%f",
-__LINE__, 6.838942637635821e-17, "+6.84e-17", "%+.2e",
-__LINE__, 6.868523988329111e-09, "+6.868524e-09", "%+e",
-__LINE__, 6.873228061403223e-15, "6.873228E-15", "%3E",
-__LINE__, 6.879370500093334e-12, "+0.000000", "%+f",
-__LINE__, 6.891525498686674e-10, "7e-10", "%0.g",
-__LINE__, 6.923027319286220e+21, "7.e+21", "%#1.g",
-__LINE__, 6.923565533024560e-11, "+6.92357e-11", "%+g",
-__LINE__, 6.931415640770737e-24, "+6.93142e-24", "%+g",
-__LINE__, 6.936582619246057e+09, "6.936583e+09", "%7e",
-__LINE__, 6.938661496670582e+05, "693866.1496671", "%2.7f",
-__LINE__, 6.946115378286550e-25, "0.000000", "%f",
-__LINE__, 6.955823211921219e-09, "6.95582e-09", "%g",
-__LINE__, 6.962365243425770e+29, "696236524342577034474288666388.019919", "%7f",
-__LINE__, 6.970432274812882e+05, "+7e+05", "%+1.0e",
-__LINE__, 6.975784942897122e-13, "6.975785e-13", "%e",
-__LINE__, 6.976786489904214e-07, "6.97679E-07", "%3G",
-__LINE__, 6.985245976357042e-05, "0.00", "%.2f",
-__LINE__, 6.993402879410720e-21, "6.9934e-21", "%g",
-__LINE__, 7.012183985341519e+28, "+70121839853415188770213717362", "%+2.f",
-__LINE__, 7.028670648856025e-15, "7.028671e-15", "%.7g",
-__LINE__, 7.034042985683665e-03, " 0", "%2.f",
-__LINE__, 7.044054273278726e+18, "7.044e+18", "%7.4g",
-__LINE__, 7.049706744250734e-06, "7E-06", "%0.E",
-__LINE__, 7.061982657056197e+13, "+7.061983e+13", "%+e",
-__LINE__, 7.066873668945899e+21, "7.06687E+21", "%G",
-__LINE__, 7.087941418633258e+26, "7.08794E+26", "%G",
-__LINE__, 7.108268134631547e+22, "7.108268E+22", "%E",
-__LINE__, 7.112095848565475e-19, "7.1121e-19", "%g",
-__LINE__, 7.116326241291862e+16, "7.116326e+16", "%e",
-__LINE__, 7.118854843597607e-22, "0.000000", "%f",
-__LINE__, 7.121423043456375e-27, "0.000000", "%f",
-__LINE__, 7.131415427096460e-03, "0.007131", "%3f",
-__LINE__, 7.132023279679892e+22, "7.e+22", "%#3.e",
-__LINE__, 7.146250280189992e-18, "0.000000", "%f",
-__LINE__, 7.150059058390724e+03, "7150.06", "%g",
-__LINE__, 7.161081578177381e-02, "+0.0716108", "%+G",
-__LINE__, 7.164935125149336e-27, "7.2E-27", "%#6.2G",
-__LINE__, 7.173125717489549e-10, "7.173126e-10", "%e",
-__LINE__, 7.174199549624193e+00, "7.1741995", "%.7f",
-__LINE__, 7.192493588077649e+27, "7.19249e+27", "%g",
-__LINE__, 7.215209568601445e-06, "7.215210e-06", "%e",
-__LINE__, 7.238322284100497e+03, "7238.3", "%.1f",
-__LINE__, 7.239203871123613e+06, "7239204", "%4.f",
-__LINE__, 7.245809072577019e-09, "+7.245809E-09", "%+E",
-__LINE__, 7.256275686433336e+03, "7.256276e+03", "%e",
-__LINE__, 7.265774291605193e+27, "+7.26577E+27", "%+G",
-__LINE__, 7.287968172227119e-21, "+7.287968e-21", "%+e",
-__LINE__, 7.306020169678527e+12, "7E+12", "%2.E",
-__LINE__, 7.315587463572568e-04, "0.", "%#.0f",
-__LINE__, 7.324627764547963e+09, "7.324628E+09", "%#E",
-__LINE__, 7.331904966719081e-06, "+7.3319E-06", "%+G",
-__LINE__, 7.334448152798243e-02, "0.07", "%0.g",
-__LINE__, 7.334487195961240e-01, "+0.733449", "%+#g",
-__LINE__, 7.381283575515707e+13, "7.381284E+13", "%E",
-__LINE__, 7.394854567245476e-11, "0.000000", "%7f",
-__LINE__, 7.401950211415377e-08, " 7e-08", "%6.e",
-__LINE__, 7.409023867864680e+03, "7409.023868", "%#3f",
-__LINE__, 7.411912956257733e-20, "7e-20", "%0.g",
-__LINE__, 7.445275019272160e+11, "744527501927.2159511", "%.7f",
-__LINE__, 7.450279765616891e-16, "7.45028e-16", "%.6g",
-__LINE__, 7.467047411334495e+14, "7.46705E+14", "%G",
-__LINE__, 7.485628870972725e+28, "7E+28", "%.0G",
-__LINE__, 7.495391782588563e+11, "749539178258.856253", "%f",
-__LINE__, 7.495824101611911e+06, "7.49582e+06", "%.6g",
-__LINE__, 7.499759867592402e+20, "+749975986759240154100.3", "%+.1f",
-__LINE__, 7.508983397140368e+04, "75089.8", "%g",
-__LINE__, 7.512585199581016e-27, "7.512585E-27", "%.6E",
-__LINE__, 7.516831372212545e-29, "+7.516831e-29", "%+e",
-__LINE__, 7.525789465978582e+00, "7.52579", "%G",
-__LINE__, 7.528655653725963e+06, "7.5287e+06", "%3.4e",
-__LINE__, 7.533217421035612e+28, "75332174210356122046050586504.861712", "%f",
-__LINE__, 7.534147071756384e+03, "7534.15", "%g",
-__LINE__, 7.542648637430919e-25, "+0.000000", "%+#f",
-__LINE__, 7.554380140947798e-15, " 8e-15", "%7.g",
-__LINE__, 7.557366996007743e+25, " 8E+25", "%7.G",
-__LINE__, 7.579228950138068e+08, "8e+08", "%3.e",
-__LINE__, 7.579773904052487e-13, "0.000000", "%3f",
-__LINE__, 7.580377544554059e+27, "7.58038e+27", "%#g",
-__LINE__, 7.589615147875915e-15, "7.59E-15", "%.3G",
-__LINE__, 7.593317194045158e-12, "+0.", "%+#1.f",
-__LINE__, 7.605535657484387e-07, "7.60554E-07", "%G",
-__LINE__, 7.609171121278006e-08, " 0", "%5.f",
-__LINE__, 7.612033900317304e-14, "7.61203e-14", "%g",
-__LINE__, 7.628040858080326e+23, "+7.62804e+23", "%+g",
-__LINE__, 7.632109382948695e-01, "0.763211", "%#f",
-__LINE__, 7.633415922627254e+28, "76334159226272539910951309138.908982", "%#f",
-__LINE__, 7.636190400774419e+22, "+7.636190E+22", "%+E",
-__LINE__, 7.636228368661314e-23, "0.000000", "%f",
-__LINE__, 7.653292362739654e-17, "7.65329E-17", "%#G",
-__LINE__, 7.664044705231460e+03, "7.664045E+03", "%5E",
-__LINE__, 7.664257283149626e-05, "7.66426E-05", "%0G",
-__LINE__, 7.668996632821614e-19, " 0.0", "%4.1f",
-__LINE__, 7.674502669497263e-24, "7.6745e-24", "%g",
-__LINE__, 7.681870119755193e+12, "+7.68187e+12", "%+#g",
-__LINE__, 7.693453198401315e+02, "769.3453198", "%5.7f",
-__LINE__, 7.705080073293603e-29, "7.705080E-29", "%1E",
-__LINE__, 7.707244083934683e-07, "7.71E-07", "%2.3G",
-__LINE__, 7.749445584970652e-17, "7.75E-17", "%6.3G",
-__LINE__, 7.755369447889403e+09, "7.8e+09", "%#4.2g",
-__LINE__, 7.760378169707072e-06, "7.76038e-06", "%g",
-__LINE__, 7.763518882114968e-10, "0.000000", "%f",
-__LINE__, 7.764720069569677e-18, "0.000000", "%0f",
-__LINE__, 7.768821339438552e-03, "0.00776882", "%g",
-__LINE__, 7.774767835990679e-29, "7.774768E-29", "%7E",
-__LINE__, 7.805567188246987e-04, "0.000780557", "%2G",
-__LINE__, 7.825157442935941e-26, "0.000000", "%f",
-__LINE__, 7.833373563161910e+29, "+783337356316190991378789476584.643126", "%+f",
-__LINE__, 7.875872661746674e-16, "7.875873E-16", "%E",
-__LINE__, 7.880664458920439e-28, "7.881E-28", "%#0.3E",
-__LINE__, 7.893084198630288e+18, "7893084198630288206", "%1.f",
-__LINE__, 7.912222737877417e+04, "79122.2", "%G",
-__LINE__, 7.913004582748724e-26, "0.000000", "%f",
-__LINE__, 7.913749944463836e+17, "791374994446383617.230367", "%f",
-__LINE__, 7.923881665760883e-24, "0.000000", "%f",
-__LINE__, 7.926699779993694e-03, "0.007927", "%5.6f",
-__LINE__, 7.941991860623354e-20, "7.941992e-20", "%e",
-__LINE__, 7.942700358097138e+17, "794270035809713803.587329", "%2f",
-__LINE__, 7.945451569935757e-16, "7.94545E-16", "%#4.6G",
-__LINE__, 7.948277588625241e-04, "0", "%.0f",
-__LINE__, 7.952265062569124e+21, "+7.95227e+21", "%+#g",
-__LINE__, 7.959953534668040e+11, "8e+11", "%2.e",
-__LINE__, 7.962059154424500e-22, "7.96206E-22", "%G",
-__LINE__, 7.962856142535673e-26, "7.9629E-26", "%#.5G",
-__LINE__, 7.966528574505771e+12, "7.96653e+12", "%g",
-__LINE__, 8.006496880305429e-21, "8.0065E-21", "%G",
-__LINE__, 8.023374861440542e+06, "+8023375", "%+6.f",
-__LINE__, 8.041139717082990e-20, "8.04114e-20", "%g",
-__LINE__, 8.044201752824126e+15, "8.04420E+15", "%.5E",
-__LINE__, 8.044262927409321e-10, "+8E-10", "%+2.2G",
-__LINE__, 8.058285708061202e+02, "+8.058286e+02", "%+e",
-__LINE__, 8.104422320765144e+10, "8.10442e+10", "%#4g",
-__LINE__, 8.104572628022330e-11, "0.000000", "%f",
-__LINE__, 8.112156369917432e+15, "+8.11216E+15", "%+G",
-__LINE__, 8.114566569709531e-18, "8.11457E-18", "%G",
-__LINE__, 8.114795069552519e+13, "8.114795E+13", "%E",
-__LINE__, 8.121382719830660e+03, "8121.382720", "%f",
-__LINE__, 8.125179335533733e-12, "+8.125179e-12", "%+e",
-__LINE__, 8.126383949107055e+19, "81263839491070548604.056967", "%f",
-__LINE__, 8.129961701307842e-04, "+0.00081", "%+5.2g",
-__LINE__, 8.143780077390936e+15, "8.14378E+15", "%G",
-__LINE__, 8.149891507777399e+16, "+8E+16", "%+1.G",
-__LINE__, 8.167395708830107e+03, "8167", "%3.f",
-__LINE__, 8.167703619221975e+01, "81.677", "%G",
-__LINE__, 8.178463030771759e+06, "+8.17846E+06", "%+G",
-__LINE__, 8.188188531273697e+12, "8.18819E+12", "%G",
-__LINE__, 8.189094866416537e+11, "+8E+11", "%+.1G",
-__LINE__, 8.205086844365809e-18, "+8.205087E-18", "%+#E",
-__LINE__, 8.205762333408320e-26, "0.000000", "%f",
-__LINE__, 8.212370598174696e-10, "8.2124E-10", "%.5G",
-__LINE__, 8.228054316085489e-14, "0.000000", "%3f",
-__LINE__, 8.244313484402404e-16, "8.24431e-16", "%g",
-__LINE__, 8.244472235472472e+19, "8.24447E+19", "%G",
-__LINE__, 8.245421473302411e-09, "+8.2454e-09", "%+1.5g",
-__LINE__, 8.252286626634840e-22, "8E-22", "%3.G",
-__LINE__, 8.259969177912707e-19, "0.000000", "%f",
-__LINE__, 8.265769991725211e+18, "8.26577e+18", "%.5e",
-__LINE__, 8.293986939496488e+25, "8.3E+25", "%.1E",
-__LINE__, 8.310348813512608e-23, "+8.31035e-23", "%+g",
-__LINE__, 8.316951996533247e-20, "0.000000", "%f",
-__LINE__, 8.318818016883803e+05, " 8e+05", "%6.1g",
-__LINE__, 8.324896920131877e-13, "+8.324897e-13", "%+e",
-__LINE__, 8.325228630004624e-03, "0.0083252", "%5.7f",
-__LINE__, 8.332538660129034e+14, "8.3e+14", "%5.2g",
-__LINE__, 8.343325212751775e+07, "8.34333e+07", "%#4g",
-__LINE__, 8.363117398136236e+20, "+8.36e+20", "%+.3g",
-__LINE__, 8.364181324448165e+27, "8.36418e+27", "%#g",
-__LINE__, 8.372159259848738e+10, "8.37216e+10", "%4g",
-__LINE__, 8.379252006152759e-26, "8.37925e-26", "%g",
-__LINE__, 8.392670395720252e+09, "8392670395.720252", "%f",
-__LINE__, 8.423360059147756e+05, "+842336.", "%+#G",
-__LINE__, 8.425921213167943e+09, "8.425921e+09", "%1.7g",
-__LINE__, 8.431664412515776e-16, "8.43166E-16", "%#G",
-__LINE__, 8.448608859842500e+02, "844.861", "%1.3f",
-__LINE__, 8.456292247478771e-14, "8.45629E-14", "%G",
-__LINE__, 8.460077225296853e-04, "0.000846008", "%G",
-__LINE__, 8.478635925746218e-10, "0.000000", "%f",
-__LINE__, 8.492455774427448e+06, "8.49246e+06", "%g",
-__LINE__, 8.494450528380746e-07, "8.494451e-07", "%e",
-__LINE__, 8.516435842947605e-23, "+0.000000", "%+1f",
-__LINE__, 8.519057789029134e-18, "0.000000", "%0f",
-__LINE__, 8.522602111109066e+18, " 9.e+18", "%#7.g",
-__LINE__, 8.529176788022152e-24, "8.529E-24", "%0.4G",
-__LINE__, 8.534979605642793e-07, "0.000001", "%f",
-__LINE__, 8.546859563634342e-07, "8.546860E-07", "%E",
-__LINE__, 8.552370027054106e+12, "9e+12", "%.0g",
-__LINE__, 8.561781328234041e+10, "8.56178e+10", "%4g",
-__LINE__, 8.562688793145107e-20, "8.562689e-20", "%1.7g",
-__LINE__, 8.573130147270046e-07, " 9E-07", "%7.G",
-__LINE__, 8.584571984387802e-18, "8.5846e-18", "%.5g",
-__LINE__, 8.596407996491291e+11, "8.596408E+11", "%#E",
-__LINE__, 8.604843726850381e+10, " 9E+10", "%6.G",
-__LINE__, 8.626884271938994e-23, "8.62688e-23", "%g",
-__LINE__, 8.631140282429168e+24, "8631140282429168308908629.", "%#.0f",
-__LINE__, 8.635194331917948e-16, "8.63519E-16", "%G",
-__LINE__, 8.641417311588688e-24, "+0.000000", "%+f",
-__LINE__, 8.649120264278466e+26, "8.65E+26", "%1.3G",
-__LINE__, 8.649745523383894e+06, "8.649746e+06", "%e",
-__LINE__, 8.654720740091021e+16, "8.65472e+16", "%g",
-__LINE__, 8.655445556834509e-08, "9e-08", "%4.g",
-__LINE__, 8.658954696751902e+06, "8.65895E+06", "%G",
-__LINE__, 8.665712368800818e-10, "+8.66571E-10", "%+G",
-__LINE__, 8.666937057116442e-10, "8.666937e-10", "%e",
-__LINE__, 8.670981239765155e+05, "867098", "%G",
-__LINE__, 8.679631934294932e-25, "+9.E-25", "%+#0.G",
-__LINE__, 8.683595173050962e-21, "8.68360E-21", "%#G",
-__LINE__, 8.684938704958039e+25, "8.684939E+25", "%E",
-__LINE__, 8.686745463281227e-12, "8.686745E-12", "%5.7G",
-__LINE__, 8.700227628706534e-12, "8.700228e-12", "%#e",
-__LINE__, 8.705101179577200e+04, "87051.011796", "%#2f",
-__LINE__, 8.707824829984700e-24, "9e-24", "%.1g",
-__LINE__, 8.717654041009233e+21, "+9E+21", "%+6.0E",
-__LINE__, 8.741736299906572e-11, "8.74174E-11", "%#0G",
-__LINE__, 8.742228350419966e+18, "+8742228350419965821.060941", "%+f",
-__LINE__, 8.743045146087558e-17, "+8.74305E-17", "%+2G",
-__LINE__, 8.747820269457588e+18, "8.74782E+18", "%G",
-__LINE__, 8.756274717008537e-28, "8.756275E-28", "%E",
-__LINE__, 8.769782309254687e-24, "+8.769782E-24", "%+2.6E",
-__LINE__, 8.788151659193398e-16, " 9E-16", "%6.E",
-__LINE__, 8.789514812202340e-07, "9E-07", "%0.G",
-__LINE__, 8.792657843164822e-07, "8.79266e-07", "%0g",
-__LINE__, 8.810976223440985e+05, "881097.622344", "%f",
-__LINE__, 8.822553973113614e+10, "8.82255E+10", "%G",
-__LINE__, 8.839440421530611e-04, "0.000883944", "%G",
-__LINE__, 8.842539073558434e-12, "0", "%1.f",
-__LINE__, 8.882818021261782e-13, "+8.9e-13", "%+4.2g",
-__LINE__, 8.899833909201039e+05, "8.8998E+05", "%.5G",
-__LINE__, 8.903167498000181e-13, "9e-13", "%0.g",
-__LINE__, 8.933727737932164e+09, "+8933727738", "%+4.f",
-__LINE__, 8.946226267100711e+06, "8.946E+06", "%1.4G",
-__LINE__, 8.953203780849794e-21, "8.9532E-21", "%G",
-__LINE__, 8.959934262635649e+28, "+8.959934e+28", "%+e",
-__LINE__, 8.969485341781558e-25, "0.000000", "%#f",
-__LINE__, 8.970058187654221e+02, "897.005819", "%f",
-__LINE__, 8.979846508565979e+02, "8.979847E+02", "%E",
-__LINE__, 8.984561117901212e+01, "8.984561E+01", "%E",
-__LINE__, 8.992157765875611e-12, "8.99216e-12", "%g",
-__LINE__, 9.004487016708012e+01, "9.004487e+01", "%#e",
-__LINE__, 9.007306978283218e-24, "9.007307e-24", "%e",
-__LINE__, 9.014546375043562e+17, "901454637504356171.007203", "%#3f",
-__LINE__, 9.028177786002161e-12, "9.02818E-12", "%G",
-__LINE__, 9.029635986381795e-02, "0.09", "%.1g",
-__LINE__, 9.032389962233431e-07, "+0.000001", "%+f",
-__LINE__, 9.038466945070887e+10, "+9.038467E+10", "%+E",
-__LINE__, 9.040166964322772e-27, "9.04017e-27", "%g",
-__LINE__, 9.044627673694681e-11, "9.04463E-11", "%G",
-__LINE__, 9.045906217628948e+17, "904590621762894819.823941", "%1f",
-__LINE__, 9.051764975661710e+11, "9.05176e+11", "%#g",
-__LINE__, 9.053142913711405e+29, "9.053143e+29", "%#e",
-__LINE__, 9.073185209160657e-19, "+9.07319e-19", "%+g",
-__LINE__, 9.074372574441451e+02, "907.437", "%g",
-__LINE__, 9.084624602048136e+08, "9.084625E+08", "%E",
-__LINE__, 9.088839346363631e+18, "9.09e+18", "%.2e",
-__LINE__, 9.091945159170871e-15, "9.09195e-15", "%5g",
-__LINE__, 9.115304318083716e+10, "9.115304e+10", "%e",
-__LINE__, 9.115978352902710e+28, "9.11598E+28", "%G",
-__LINE__, 9.121415008221017e-17, "9.E-17", "%#6.G",
-__LINE__, 9.127270978060388e+18, "9.E+18", "%#5.G",
-__LINE__, 9.143941729069086e+08, "9.143942E+08", "%#E",
-__LINE__, 9.162740105978580e-19, " 9.E-19", "%#7.G",
-__LINE__, 9.221509957559626e-18, "9.22151e-18", "%g",
-__LINE__, 9.227419774250317e-28, " 0.", "%#3.f",
-__LINE__, 9.230846660807540e-21, "0.000000", "%f",
-__LINE__, 9.238091727277130e-06, "+0.00001", "%+.5f",
-__LINE__, 9.244337357684406e+10, "9E+10", "%5.G",
-__LINE__, 9.259179793993285e-19, " 9E-19", "%7.0G",
-__LINE__, 9.274068541525759e-17, "9.274069e-17", "%e",
-__LINE__, 9.283833535882367e+16, "9.28383e+16", "%#g",
-__LINE__, 9.295693096364605e+11, "+9.295693E+11", "%+E",
-__LINE__, 9.301820438602407e+05, "930182", "%G",
-__LINE__, 9.322805251555376e-29, "9e-29", "%1.e",
-__LINE__, 9.358443042421307e-27, "9.35844e-27", "%g",
-__LINE__, 9.372658444745124e-23, "9.372658e-23", "%e",
-__LINE__, 9.380302971355292e+05, "938030.3", "%.7g",
-__LINE__, 9.381976354968076e-26, "+9.382E-26", "%+5.4G",
-__LINE__, 9.391072061980585e-15, "9.391072E-15", "%E",
-__LINE__, 9.403554117166546e-06, "0.000009", "%f",
-__LINE__, 9.403712900426614e-28, "9.40371e-28", "%g",
-__LINE__, 9.419046629820578e+03, "9419.046630", "%f",
-__LINE__, 9.422344695378412e+22, "94223446953784115720509.362291", "%f",
-__LINE__, 9.433327680467576e+01, "9.433328e+01", "%e",
-__LINE__, 9.443975205260596e+20, "9.44398e+20", "%g",
-__LINE__, 9.445134851965593e-04, "+9.445135E-04", "%+E",
-__LINE__, 9.448403585149890e+24, "9e+24", "%0.g",
-__LINE__, 9.463149430113036e+18, "9.46315e+18", "%g",
-__LINE__, 9.465735160722534e+27, "+9465735160722534402566452627.070248", "%+f",
-__LINE__, 9.495210794344892e-04, "0.000950", "%f",
-__LINE__, 9.501916506373814e-25, "9.50192E-25", "%#G",
-__LINE__, 9.514641335897739e+29, "9.51464E+29", "%G",
-__LINE__, 9.524633436992819e-04, " 0.001", "%6.G",
-__LINE__, 9.530925101873022e-18, "9.530925e-18", "%2e",
-__LINE__, 9.557903833216979e-22, "9.557904E-22", "%E",
-__LINE__, 9.587709102390903e-01, " 1", "%2.f",
-__LINE__, 9.592723000828453e-02, "9.592723E-02", "%5E",
-__LINE__, 9.603430008794172e+27, "9.60343e+27", "%g",
-__LINE__, 9.622648414989433e-18, "9.622648e-18", "%1e",
-__LINE__, 9.633326171289319e-23, "9.633326e-23", "%e",
-__LINE__, 9.662064616152408e+19, "96620646161524081918.5146393", "%1.7f",
-__LINE__, 9.668544846563163e-23, "9.668545e-23", "%e",
-__LINE__, 9.691014191346685e+28, "9.69101E+28", "%G",
-__LINE__, 9.693075414840598e+02, "+969.308", "%+G",
-__LINE__, 9.695013453291907e-30, "9.695013e-30", "%5e",
-__LINE__, 9.705983477801926e-24, "9.70598e-24", "%g",
-__LINE__, 9.709022568030226e-17, "0.000000", "%f",
-__LINE__, 9.715194901854826e+20, "9.715195e+20", "%e",
-__LINE__, 9.721011821337717e+16, "1E+17", "%0.G",
-__LINE__, 9.734895542899672e+14, "9.734896e+14", "%e",
-__LINE__, 9.741486438769710e-29, " 1e-28", "%6.g",
-__LINE__, 9.766657482315475e-24, "9.76666E-24", "%7G",
-__LINE__, 9.767283293054552e-02, "0.09767", "%5.5f",
-__LINE__, 9.769553159146005e-20, "9.76955E-20", "%G",
-__LINE__, 9.777220880605434e-10, "0.00", "%4.2f",
-__LINE__, 9.790290569034575e+20, "979029056903457473027.", "%#6.f",
-__LINE__, 9.793128245822718e-01, "0.979313", "%G",
-__LINE__, 9.804758536498200e+08, "980475853.650", "%.3f",
-__LINE__, 9.816883664191066e-02, "0.1", "%.0g",
-__LINE__, 9.836109821010300e+25, "9.83611e+25", "%g",
-__LINE__, 9.846197559631225e+03, "1E+04", "%2.G",
-__LINE__, 9.863289416819924e+12, "9.86329e+12", "%g",
-__LINE__, 9.865893798657353e+12, "9.866e+12", "%0.4g",
-__LINE__, 9.868248446640862e-15, "0.000000", "%#f",
-__LINE__, 9.869973080775134e+04, "98699.7", "%G",
-__LINE__, 9.899444006312953e+20, "1E+21", "%.1G",
-__LINE__, 9.904083146074285e-08, "9.904083e-08", "%6e",
-__LINE__, 9.909790408255471e+15, "9909790408255471.305665", "%f",
-__LINE__, 9.930297455798394e-13, "+9.930297E-13", "%+5.6E",
-__LINE__, 9.933314448709083e-15, "9.93331E-15", "%#.6G",
-__LINE__, 9.938714530509870e+29, "9.938715e+29", "%e",
-__LINE__, 9.953892603540162e+07, "9.95389E+07", "%G",
-__LINE__, 9.962084643867200e+14, "+996208464386720.038419", "%+f",
-__LINE__, 9.977706708809947e-09, "9.9777E-09", "%#.4E",
-#endif
-__LINE__, 9.978034352999867e+15, "9.978034e+15", "%2.6e",
-__LINE__, 9.998315286730175e-30, "9.998315e-30", "%6e",
-
-0
-};
-
-/* matches(s1, s2) is true if s1 is "approximately" equal to s2.
- Any digits after the first required_precision digits do not have to match.
- */
-
-int required_precision = 13;
-
-#if defined(__STDC__) || defined(__cplusplus)
-int matches(register char *result, register char *desired)
-#else
-int matches(result, desired)
- register char *result; register char *desired;
-#endif
-{
- int digits_seen = 0;
- for (;; result++, desired++) {
- if (*result == *desired) {
- if (*result == 0)
- return 1;
- else if (*result >= '0' && *result <= '9')
- digits_seen++;
- }
- else if (digits_seen >= required_precision
- && *result >= '0' && *result <= '9'
- && *desired >= '0' && *desired <= '9')
- continue;
- else
- return 0;
- }
-}
-
-extern void dump_stats();
-
-int main()
-{
- int errcount = 0;
- int testcount = 0;
- double d;
-#define BSIZE 1024
- char buffer[BSIZE];
- sprint_double_type *dptr;
-
- /* This test demands more precision than a 32bit floating
- point format can provide. So only run it if doubles
- are last least 64bits wide. */
- if (sizeof (double) < 8)
- exit (0);
-
-#if defined(__cplusplus) && !defined(TEST_LIBIO)
-
- strstream sstr(buffer, BSIZE, ios::in|ios::out);
-
- for (dptr = sprint_doubles; dptr->line; dptr++)
- {
-
-#ifdef SLOW_SIMULATOR
- /* We only run half the tests if we have a slow simulator to
- avoid dejagnu timeouts. */
- if (testcount % 2)
- {
- testcount++;
- continue;
- }
-#endif
-
- sstr.seekp(0);
- sstr.form(dptr->format_string, dptr->value);
- sstr << ends;
- if (!matches(buffer, dptr->result))
- {
- errcount++;
- cerr << "Error in line " << dptr->line;
- cerr << " using \"" << dptr->format_string;
- cerr << "\". Result is \"" << buffer << "\"; should be: \"";
- cerr << dptr->result << "\".\n";
- }
-
-#ifdef TEST_EXACTNESS
- sstr.seekp(0);
- sstr.form("%.999g", dptr->value);
- sstr << ends;
-
- sstr.seekg(0);
- sstr.scan("%lg", &d);
-
- if (dptr->value != d)
- {
- errcount++;
- cerr << "Error in line " << dptr->line;
- cerr << ". String is \"" << buffer << "\", value is " << d << ".\n";
- }
-#endif
- testcount++;
- }
-
-#ifdef SLOW_SIMULATOR
- testcount /= 2;
-#endif
-
- if (errcount == 0)
- {
- cerr << "Encountered no errors in " << testcount << " tests.\n";
- return 0;
- }
- else
- {
- cerr << "Encountered " << errcount << " errors in "
- << testcount << " tests.\n";
- return 1;
- }
-#else
- for (dptr = sprint_doubles; dptr->line; dptr++)
- {
-#ifdef SLOW_SIMULATOR
- /* We only run half the tests if we have a slow simulator to
- avoid dejagnu timeouts. */
- if (testcount % 2)
- {
- testcount++;
- continue;
- }
-#endif
-
- sprintf (buffer, dptr->format_string, dptr->value);
- if (!matches(buffer, dptr->result))
- {
- errcount++;
- fprintf(stderr,
- "Error in line %d using \"%s\". Result is \"%s\"; should be: \"%s\".\n",
- dptr->line, dptr->format_string, buffer, dptr->result);
- }
-
-#ifdef TEST_EXACTNESS
- sprintf (buffer, "%.999g", dptr->value);
- sscanf (buffer, "%lg", &d);
- if (dptr->value != d)
- {
- errcount++;
- fprintf (stderr,
- "Error in line %d. String is \"%s\", value is %g.\n",
- dptr->line, buffer, d);
- }
-#endif
- testcount++;
- }
-
-#ifdef SLOW_SIMULATOR
- testcount /= 2;
-#endif
-
- if (errcount == 0)
- {
- fprintf(stderr, "Encountered no errors in %d tests.\n", testcount);
- return 0;
- }
- else
- {
- fprintf(stderr, "Encountered %d errors in %d tests.\n",
- errcount, testcount);
- return 1;
- }
-#endif
-}
diff --git a/contrib/libio/tests/tiformat.c b/contrib/libio/tests/tiformat.c
deleted file mode 100644
index 78d09ce..0000000
--- a/contrib/libio/tests/tiformat.c
+++ /dev/null
@@ -1,5112 +0,0 @@
-#ifdef TEST_LIBIO
-#include <iostdio.h>
-#else
-#ifdef __cplusplus
-#include <strstream.h>
-#else
-#include <stdio.h>
-#endif
-#endif /* !TEST_LIBIO */
-#include <string.h>
-
-/* Tests taken from Cygnus C library. */
-typedef struct {
- int line;
- long value;
- char *result;
- char *format_string;
-} sprint_int_type;
-
-sprint_int_type sprint_ints[] =
-{
-__LINE__, 0x000838d2L, "838d2", "%.4x",
-__LINE__, 0x0063be46L, "63BE46", "%-6X",
-__LINE__, -0x1b236c0L, "-28456640", "%#0.d",
-__LINE__, -0x0000003L, "-3", "% 0d",
-__LINE__, 0x0000ed51L, "ed51", "%2.x",
-__LINE__, -0x00001f2L, "-498", "%1ld",
-__LINE__, 0x0ea3e927L, "EA3E927", "%+X",
-__LINE__, 0xffbef8daL, "FFBEF8DA", "%5X",
-__LINE__, 0x62ff9f56L, "62ff9f56", "%0x",
-__LINE__, 0x00000ad2L, "AD2", "%.0X",
-__LINE__, 0x00000000L, " ", "% 6.ld",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%1.4X",
-__LINE__, 0x0000208cL, " 208C", "%5X",
-__LINE__, 0x0000003cL, "3c", "%x",
-__LINE__, 0xffff6177L, "0xffff6177", "%+#x",
-__LINE__, 0xffffdc8dL, "ffffdc8d", "%+x",
-__LINE__, 0x00000000L, "0", "%X",
-__LINE__, 0x00002434L, "9268", "%0d",
-__LINE__, 0xd2c72cdbL, "d2c72cdb", "%-x",
-__LINE__, 0xfe38012bL, "0xfe38012b", "%+#7x",
-__LINE__, 0x00000001L, "0001", "%#.4d",
-__LINE__, -0x008525aL, "-0545370", "%06.7ld",
-__LINE__, 0xffffffacL, "ffffffac", "%3.7x",
-__LINE__, 0x007424d2L, "+7611602", "%+ld",
-__LINE__, 0x00001a85L, "1A85", "%.4X",
-__LINE__, -0x0000019L, "-25", "%3.d",
-__LINE__, 0xfffffffeL, "fffffffe", "%-x",
-__LINE__, -0x34473b2L, "-54817714", "% d",
-__LINE__, 0x000000eaL, "234", "%1.ld",
-__LINE__, -0x0000004L, "-4 ", "%-7.ld",
-__LINE__, 0x00006c94L, "27796", "%0d",
-__LINE__, 0x00000001L, "1", "%ld",
-__LINE__, 0x00000619L, "619", "%1x",
-__LINE__, 0x0000209cL, "8348", "%ld",
-__LINE__, -0x327f8ffL, "-52951295", "%-0ld",
-__LINE__, 0xffffff0bL, "FFFFFF0B", "%2.X",
-__LINE__, 0xf199d6aeL, "F199D6AE", "%X",
-__LINE__, 0x3ca5602eL, "1017471022", "%-1.ld",
-__LINE__, -0xfb2080bL, "-263325707", "%3.5d",
-__LINE__, 0x00001cb8L, "7352", "%d",
-__LINE__, 0x00000000L, "0000000", "%3.7d",
-__LINE__, 0xffffff40L, "FFFFFF40", "%+X",
-__LINE__, 0x14664450L, "0x14664450", "%#x",
-__LINE__, 0x0000002eL, "2e", "%1x",
-__LINE__, 0xffffffffL, "ffffffff", "%x",
-__LINE__, 0xffff606aL, "0XFFFF606A", "%#X",
-__LINE__, 0xffffff33L, "0XFFFFFF33", "%#X",
-__LINE__, 0x00000000L, "0", "%d",
-__LINE__, -0x0000012L, "-00018", "%-2.5d",
-__LINE__, 0x0001fbe6L, "130022", "%1.d",
-__LINE__, 0xfff59dd9L, "fff59dd9", "%+x",
-__LINE__, 0x00000002L, "2", "%0.0d",
-__LINE__, 0x00000fe1L, "fe1 ", "%-7.x",
-__LINE__, 0x001f8f6aL, "1F8F6A", "%1.X",
-__LINE__, 0x0000001bL, "000001B", "%04.7X",
-__LINE__, 0x126a2609L, " 308946441", "% 4d",
-__LINE__, 0xffffffe3L, "0XFFFFFFE3", "%+#.1X",
-__LINE__, 0x1858f1c9L, "1858f1c9", "%.3x",
-__LINE__, 0x003fc672L, "3fc672", "%1x",
-__LINE__, 0x00c0bddcL, "12631516", "%#d",
-__LINE__, 0x000006d6L, "1750", "%#d",
-__LINE__, 0x000006a0L, "6A0", "%X",
-__LINE__, 0x000007beL, "7BE", "%X",
-__LINE__, -0x1c7cd1aL, "-29871386", "%ld",
-__LINE__, 0x000000ccL, "204", "%ld",
-__LINE__, 0x000002dbL, "731 ", "%-#5d",
-__LINE__, 0xffff67adL, "FFFF67AD", "% X",
-__LINE__, 0x00000008L, "8", "%d",
-__LINE__, 0xffe07007L, "FFE07007", "%5X",
-__LINE__, -0x0000001L, " -1", "% 7d",
-__LINE__, 0xfffffffeL, "fffffffe", "%x",
-__LINE__, 0x00027b68L, "+162664", "%+ld",
-__LINE__, 0x0a7c1997L, "+175905175", "%+2ld",
-__LINE__, 0xfe300896L, "fe300896", "%.4x",
-__LINE__, 0x00000537L, "537", "%-0.x",
-__LINE__, 0x3e981779L, "3e981779", "%.6x",
-__LINE__, 0xfffff05eL, "FFFFF05E", "%1.0X",
-__LINE__, -0x07bc0cfL, "-8110287", "%-7d",
-__LINE__, -0x01371bcL, "-1274300", "%.7ld",
-__LINE__, -0x0000013L, "-19", "%.2ld",
-__LINE__, 0x000000d1L, "0xd1", "%#x",
-__LINE__, -0x0000003L, "-3", "%-ld",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%4.1X",
-__LINE__, 0x00000000L, "0", "%ld",
-__LINE__, 0x0001c8afL, "116911", "%d",
-__LINE__, 0x000048c3L, "48C3", "%X",
-__LINE__, 0x00000079L, "0x0000079", "%-#0.7x",
-__LINE__, 0x0000615aL, " 24922", "% d",
-__LINE__, 0xfffffff5L, "fffffff5", "%x",
-__LINE__, 0x00000308L, "0000308", "%+07.7x",
-__LINE__, 0xfcadc983L, "fcadc983", "%x",
-__LINE__, 0x00000097L, "151", "%#d",
-__LINE__, 0x000001c5L, "453", "%0.2ld",
-__LINE__, 0x00000000L, "00", "%-1.2x",
-__LINE__, 0x00000001L, "+1", "%+02.d",
-__LINE__, 0x01eb4354L, "1EB4354", "% X",
-__LINE__, 0xffffa7d1L, "ffffa7d1", "%5.x",
-__LINE__, 0x0003170eL, "0x3170e", "%#x",
-__LINE__, 0x000001ceL, "1CE", "% .2X",
-__LINE__, 0x3a2991fbL, "975802875", "%d",
-__LINE__, -0xcdad8e2L, "-215668962", "%-d",
-__LINE__, 0xfe0261c3L, "fe0261c3", "%x",
-__LINE__, -0x0006ea7L, "-28327", "% ld",
-__LINE__, 0x032854a3L, "0X32854A3", "% #6X",
-__LINE__, 0x0000004bL, "4b", "%x",
-__LINE__, 0xffff6ca3L, "FFFF6CA3", "%4.X",
-__LINE__, 0x00000000L, "0", "%X",
-__LINE__, 0x00611f04L, "611F04", "%.1X",
-__LINE__, 0x00000000L, " 0", "%#6d",
-__LINE__, 0x0002c711L, "2c711", "%-02.x",
-__LINE__, -0x07a2fe4L, "-8007652", "%d",
-__LINE__, -0x0000547L, "-1351", "%ld",
-__LINE__, 0x00013954L, "0x13954", "%#x",
-__LINE__, -0x00523b7L, "-336823", "%ld",
-__LINE__, -0x00f6c6eL, "-1010798", "%6.ld",
-__LINE__, 0xffea6427L, "FFEA6427", "%3X",
-__LINE__, -0x0000005L, "-5", "%d",
-__LINE__, -0x04fe618L, "-5236248", "% .7d",
-__LINE__, 0xffa80a28L, "ffa80a28", "%-0x",
-__LINE__, 0x00000047L, "71", "%ld",
-__LINE__, 0x001dc6bbL, "1951419", "%#4ld",
-__LINE__, 0x00000868L, " 2152", "%#6d",
-__LINE__, 0x000002fbL, "2fb", "%x",
-__LINE__, 0x00607fa0L, "6324128", "%4d",
-__LINE__, 0xfffed161L, "fffed161", "%x",
-__LINE__, 0x0001c6e4L, " 116452", "% 2.5d",
-__LINE__, 0x0003dda8L, "3DDA8", "%4X",
-__LINE__, 0xfffffff8L, "fffffff8", "%x",
-__LINE__, 0xfacf664aL, "facf664a", "%x",
-__LINE__, 0x000000c1L, "C1", "% 1X",
-__LINE__, 0x0000839cL, " 839C", "%6X",
-__LINE__, 0xfffff69aL, "FFFFF69A", "%X",
-__LINE__, 0x000e5c2eL, "+941102", "%+d",
-__LINE__, -0x0000004L, "-4", "%#d",
-__LINE__, 0x00000000L, "00000", "%#.5ld",
-__LINE__, 0xfffffffeL, "fffffffe", "%3.1x",
-__LINE__, 0x0010ed68L, "1109352", "%-ld",
-__LINE__, 0xffffffe9L, "ffffffe9", "%.6x",
-__LINE__, 0x00000007L, " 7", "% 4.ld",
-__LINE__, 0x0000cabaL, "51898", "%ld",
-__LINE__, -0x0000119L, "-281", "% d",
-__LINE__, 0x0c3012a9L, "204477097", "%03.6ld",
-__LINE__, -0x001c98fL, "-117135", "%ld",
-__LINE__, 0x000017b1L, "+6065", "%+d",
-__LINE__, 0x00000001L, "1", "%ld",
-__LINE__, -0x0000019L, "-25", "% .2d",
-__LINE__, 0x0009ae28L, "9AE28", "%X",
-__LINE__, 0xe861c4feL, "e861c4fe", "%7.x",
-__LINE__, 0xffac88d3L, "FFAC88D3", "%X",
-__LINE__, -0x00005dfL, "-01503", "%-5.5ld",
-__LINE__, 0x0000013eL, "318", "%-0d",
-__LINE__, 0x04b6f58fL, "4b6f58f", "%x",
-__LINE__, 0xfffe3978L, "fffe3978", "%+0.6x",
-__LINE__, 0x57ee5244L, "57ee5244", "%+7.4x",
-__LINE__, 0xfffb5610L, "fffb5610", "% 6x",
-__LINE__, 0x00000006L, " 6", "%#7d",
-__LINE__, 0x0000000cL, "0x0000c", "%#.5x",
-__LINE__, -0xec59362L, "-247829346", "%1.7d",
-__LINE__, -0x0000001L, "-1", "%ld",
-__LINE__, -0x0007e4bL, "-32331", "% d",
-__LINE__, 0x0ececa6fL, "248433263", "%0d",
-__LINE__, 0x00000578L, " 578", "%+6.x",
-__LINE__, -0x0000003L, "-3", "%ld",
-__LINE__, 0x000002bbL, "2bb", "% 0x",
-__LINE__, -0x0000006L, "-6", "%-ld",
-__LINE__, 0x000002f9L, "761", "%d",
-__LINE__, 0xffffd736L, "ffffd736", "%3.4x",
-__LINE__, 0x0010ba79L, "1096313", "%7.4d",
-__LINE__, -0x0001244L, "-4676", "%#.1d",
-__LINE__, 0x00000dbeL, "DBE", "%1X",
-__LINE__, -0x0000015L, "-21", "%-0.d",
-__LINE__, 0xffffffffL, "0xffffffff", "%#x",
-__LINE__, -0x6cdf4a3L, "-114160803", "%ld",
-__LINE__, 0x00008ac9L, "8AC9", "%1X",
-__LINE__, 0x00000000L, "00", "%.2X",
-__LINE__, -0x2263dbaL, "-36060602", "%5.5d",
-__LINE__, 0x00007da9L, "32169", "%0d",
-__LINE__, 0xfffffff7L, "FFFFFFF7", "% 4.X",
-__LINE__, 0xfbf36ccaL, "FBF36CCA", "%.1X",
-__LINE__, 0x00000040L, "64", "%.0ld",
-__LINE__, 0x0000001cL, " 28", "% d",
-__LINE__, 0xfffffadbL, "0xfffffadb", "%#.5x",
-__LINE__, 0x0eb95847L, "247027783", "%d",
-__LINE__, 0xfffd7030L, "FFFD7030", "%+02X",
-__LINE__, 0x00000005L, "00005", "%.5x",
-__LINE__, 0xfffffffdL, "FFFFFFFD", "%X",
-__LINE__, 0x98975b15L, "98975B15", "%02X",
-__LINE__, -0x0000034L, " -52", "%6ld",
-__LINE__, 0xffd7d0ccL, "ffd7d0cc", "% 5.6x",
-__LINE__, 0xffffffa6L, "FFFFFFA6", "%X",
-__LINE__, 0xfff27132L, "fff27132", "%x",
-__LINE__, -0x065b74dL, "-6666061", "%+6ld",
-__LINE__, 0xf6ac99d6L, "0XF6AC99D6", "%#X",
-__LINE__, 0xfffff4bdL, "FFFFF4BD", "%X",
-__LINE__, 0xfffffb62L, "FFFFFB62", "%6X",
-__LINE__, 0xf8434543L, "f8434543", "%-0x",
-__LINE__, 0x0002b374L, "0x2b374", "%-#6x",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, 0xffb5751dL, "ffb5751d", "%-3.x",
-__LINE__, 0x34ea7347L, "887780167", "%d",
-__LINE__, -0x008f457L, "-586839", "%0ld",
-__LINE__, 0x00000001L, " 1", "%#4d",
-__LINE__, 0xc32d7ad4L, "c32d7ad4", "%0x",
-__LINE__, 0xfffffb80L, "FFFFFB80", "%-.2X",
-__LINE__, 0x00000756L, "756 ", "%-6x",
-__LINE__, 0xfffb020fL, "FFFB020F", "%+.2X",
-__LINE__, -0xe68619fL, "-241721759", "%#1.6ld",
-__LINE__, 0x180166cdL, "402745037", "%3.7ld",
-__LINE__, -0x0000001L, "-1", "%+00d",
-__LINE__, 0xfdbc3611L, "fdbc3611", "%x",
-__LINE__, -0x000005bL, "-91", "%d",
-__LINE__, 0xffffe77fL, "ffffe77f", "%x",
-__LINE__, -0x0000019L, "-25", "%ld",
-__LINE__, 0x00000016L, "22", "%#d",
-__LINE__, -0x0000025L, "-37", "%ld",
-__LINE__, 0xffffe43fL, "ffffe43f", "%x",
-__LINE__, 0x000050a5L, "00050a5", "%.7x",
-__LINE__, 0x0000000cL, " 12", "% 5.ld",
-__LINE__, -0x001faffL, "-129791", "%4d",
-__LINE__, 0x239d7cf2L, "597523698", "%0.7ld",
-__LINE__, 0x04092183L, "4092183", "% 7X",
-__LINE__, -0x0043498L, "-275608", "%-ld",
-__LINE__, -0x0018dbeL, "-101822", "%d",
-__LINE__, 0xff3e09c3L, "FF3E09C3", "%X",
-__LINE__, 0x00000000L, "0", "%d",
-__LINE__, -0x15d57558L, "-366310744", "%+0.7ld",
-__LINE__, 0x0004fb06L, "326406", "%0.0d",
-__LINE__, 0x00000119L, "0X119", "%#X",
-__LINE__, -0x14c53e19L, "-348470809", "%d",
-__LINE__, 0x00000019L, "0000019", "% .7X",
-__LINE__, -0x0000654L, "-1620", "%0.4ld",
-__LINE__, -0xde5899bL, "-233146779", "%#.1d",
-__LINE__, 0x0013c1f0L, "1294832", "%4.ld",
-__LINE__, 0x0a9fe761L, "A9FE761", "%X",
-__LINE__, -0x00000e5L, "-229", "%1ld",
-__LINE__, 0x00000161L, "000353", "%.6ld",
-__LINE__, 0x6b04e4bdL, "0x6b04e4bd", "%#7.0x",
-__LINE__, -0x0000ef0L, "-3824 ", "%-6.ld",
-__LINE__, -0x026306eL, "-2502766", "%ld",
-__LINE__, 0x00000000L, "0", "%-X",
-__LINE__, 0xfffffe1fL, "fffffe1f", "%-x",
-__LINE__, 0x0003aecfL, " 241359", "% 2.1ld",
-__LINE__, -0x0000014L, "-20", "%d",
-__LINE__, 0x00000002L, "0002", "%-.4ld",
-__LINE__, 0xfffff662L, "0XFFFFF662", "% #.6X",
-__LINE__, 0x00000006L, "6", "%0x",
-__LINE__, 0x0001f4c4L, " 128196", "% 0d",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%5X",
-__LINE__, 0x05605e38L, "90201656", "%ld",
-__LINE__, 0xffffffdeL, "0XFFFFFFDE", "% #X",
-__LINE__, 0x000001e0L, " 1e0", "%7.x",
-__LINE__, 0x00000007L, "7", "%X",
-__LINE__, 0x00000001L, "+1", "%+d",
-__LINE__, 0xffffffe0L, "FFFFFFE0", "% X",
-__LINE__, 0xffd7f77aL, "FFD7F77A", "%+00.1X",
-__LINE__, 0xfffffffeL, "0xfffffffe", "%-#x",
-__LINE__, 0x01b0a63bL, "1b0a63b", "%x",
-__LINE__, -0x06554b7L, "-6640823", "%d",
-__LINE__, 0xfffffff8L, "fffffff8", "%x",
-__LINE__, 0x00000b2dL, "b2d", "%x",
-__LINE__, -0x2664ba2L, "-40258466", "%-d",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%X",
-__LINE__, -0x0000552L, " -1362", "%6.2ld",
-__LINE__, 0x00000009L, " 00009", "%6.5x",
-__LINE__, 0x00035c72L, "220274", "%05.ld",
-__LINE__, -0x014d09dL, "-1364125", "%d",
-__LINE__, -0x0000002L, " -2", "% 4d",
-__LINE__, 0x00000001L, "1", "%+X",
-__LINE__, 0x00000028L, "28", "%X",
-__LINE__, 0xf25c9eb2L, "F25C9EB2", "%7.X",
-__LINE__, -0x7ae4b62L, "-128863074", "%d",
-__LINE__, 0x00630d87L, "630D87", "%2X",
-__LINE__, 0x000000f8L, "F8", "%-X",
-__LINE__, 0xfffffff9L, "FFFFFFF9", "%X",
-__LINE__, -0x0000007L, "-7", "%0d",
-__LINE__, -0x2518fcdL, "-38899661", "% 3ld",
-__LINE__, 0xfffff4b4L, "FFFFF4B4", "%-5X",
-__LINE__, 0x01cc36c8L, "30160584", "%ld",
-__LINE__, 0xffffffffL, "ffffffff", "%-x",
-__LINE__, 0x0000000bL, " 11", "%6.ld",
-__LINE__, 0x00010d55L, " 68949", "% d",
-__LINE__, -0x0c01306L, "-12587782", "% 6.1ld",
-__LINE__, 0x001719d7L, "1513943", "%.1ld",
-__LINE__, -0x0000002L, " -2", "%+3.ld",
-__LINE__, 0x0000018eL, "398", "%d",
-__LINE__, 0x000000a6L, "0xa6", "%-#3x",
-__LINE__, 0x00006f66L, " 28518", "% #d",
-__LINE__, 0x0000032aL, "32A", "%X",
-__LINE__, -0x0000145L, "-325", "%0d",
-__LINE__, 0xffffffffL, "ffffffff", "%2.x",
-__LINE__, 0x00287171L, "2650481", "%ld",
-__LINE__, 0x0000004bL, "+75", "%+02.ld",
-__LINE__, 0xfffffff8L, "fffffff8", "%-0x",
-__LINE__, 0x00000064L, "64", "% X",
-__LINE__, 0xfffffca2L, "fffffca2", "%0x",
-__LINE__, 0x000010b6L, "10b6", "% .0x",
-__LINE__, -0x003806fL, "-229487", "%7d",
-__LINE__, -0x00000b7L, "-183", "%3ld",
-__LINE__, 0xffffe5baL, "FFFFE5BA", "%0X",
-__LINE__, 0x001f0da8L, "1f0da8", "%+x",
-__LINE__, 0x000ce185L, "844165", "%0ld",
-__LINE__, 0x00000c96L, "3222", "%0d",
-__LINE__, -0x0013099L, "-77977", "%1.ld",
-__LINE__, -0x5f3c47aL, "-99861626", "%.6ld",
-__LINE__, 0x00000cbfL, " CBF", "%+5.X",
-__LINE__, -0x0000001L, "-1", "%+ld",
-__LINE__, 0x0d793bc3L, "d793bc3", "%6.x",
-__LINE__, 0xfffffffdL, "0xfffffffd", "%+#x",
-__LINE__, -0x0000070L, " -112", "%6.d",
-__LINE__, 0xfffffb3fL, "FFFFFB3F", "%.7X",
-__LINE__, 0x037dfc78L, "0X37DFC78", "%#X",
-__LINE__, 0x00009ba5L, "39845", "%3ld",
-__LINE__, 0x0000004aL, "4a", "%0x",
-__LINE__, 0xffffff81L, "ffffff81", "%5.5x",
-__LINE__, -0x86ef222L, "-141488674", "%ld",
-__LINE__, -0xac5531eL, "-180704030", "% 4ld",
-__LINE__, 0x00002493L, "2493", "%+X",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%1.3X",
-__LINE__, 0x0005c875L, "378997", "%.0ld",
-__LINE__, 0x0301d345L, "50451269", "%d",
-__LINE__, 0xfff6b589L, "fff6b589", "%2.4x",
-__LINE__, -0x00001dbL, "-475 ", "%-7.0d",
-__LINE__, 0x0000d1e7L, "0x000d1e7", "%#2.7x",
-__LINE__, 0xf4c4d2bbL, "f4c4d2bb", "%.6x",
-__LINE__, 0x00c89f54L, "13147988", "%ld",
-__LINE__, -0x6599253cL, "-1704535356", "%+ld",
-__LINE__, 0xab7d61eaL, "ab7d61ea", "% x",
-__LINE__, 0x00000006L, "6", "%1ld",
-__LINE__, 0xffff5ab7L, "ffff5ab7", "%0x",
-__LINE__, -0x1cfeca5bL, "-486459995", "%#ld",
-__LINE__, 0x000000f3L, " f3", "% 6.x",
-__LINE__, -0x0000021L, "-33", "%d",
-__LINE__, 0xfe7246acL, "fe7246ac", "%-5.x",
-__LINE__, 0x00000017L, "00017", "%-.5X",
-__LINE__, -0x0cc250aL, "-13378826", "%0.0d",
-__LINE__, -0x00010aeL, "-04270", "%#.5ld",
-__LINE__, -0x7952c8bL, "-127216779", "% ld",
-__LINE__, 0x0002a53eL, "173374", "%4.0d",
-__LINE__, 0x03801bbfL, "3801BBF", "%0X",
-__LINE__, 0x0368645fL, "+57173087", "%+#0.6ld",
-__LINE__, 0x0000002fL, "47", "%d",
-__LINE__, 0x00000003L, "3", "%x",
-__LINE__, 0x000005f7L, "5F7", "%0X",
-__LINE__, -0x06e5e76L, "-7233142", "% 0.1ld",
-__LINE__, 0x053da936L, "53da936", "%1.4x",
-__LINE__, -0x0df0c2fL, "-14617647", "%.5ld",
-__LINE__, 0xfffffffdL, "FFFFFFFD", "%-0X",
-__LINE__, 0x000104bfL, "104BF", "%X",
-__LINE__, 0x000353fcL, "353FC", "%X",
-__LINE__, 0x182a18dcL, "+405412060", "%+ld",
-__LINE__, 0x0000000eL, " 14", "% 2d",
-__LINE__, -0x0000091L, "-145", "%+ld",
-__LINE__, 0x0029a9d6L, "2730454", "%d",
-__LINE__, 0x00009d57L, "009d57", "% .6x",
-__LINE__, 0x4c4d4f79L, "1280135033", "%5.ld",
-__LINE__, -0x000075bL, "-1883", "% 03d",
-__LINE__, -0x001b718L, "-112408", "%+d",
-__LINE__, 0xfffaaf57L, "FFFAAF57", "%+1X",
-__LINE__, 0x00f44e52L, "F44E52", "% 4X",
-__LINE__, 0x00000002L, "0X2", "%#X",
-__LINE__, 0x000a85e9L, "A85E9", "%+0X",
-__LINE__, 0xffff70bbL, "ffff70bb", "%6x",
-__LINE__, 0x00004e15L, "4e15", "%x",
-__LINE__, 0x000eeb60L, " 977760", "% ld",
-__LINE__, 0xfffffff1L, "fffffff1", "%0x",
-__LINE__, -0x294d7e2L, "-43309026", "% 02.d",
-__LINE__, 0x0001aaebL, "0109291", "%02.7ld",
-__LINE__, 0x000a01fcL, "0xa01fc", "%-#.5x",
-__LINE__, 0x002c3c30L, "+2898992", "%+#d",
-__LINE__, 0x015667aeL, "+22439854", "%+5ld",
-__LINE__, -0x05af42bL, "-5960747", "%+d",
-__LINE__, 0x0000be36L, "be36", "%+2x",
-__LINE__, 0x005e3f67L, "5e3f67", "% x",
-__LINE__, -0x0000020L, "-32", "% ld",
-__LINE__, -0x0003617L, "-13847", "% d",
-__LINE__, 0x00000014L, "14 ", "%-4.X",
-__LINE__, 0x00000001L, "001", "%0.3d",
-__LINE__, 0xfffffea9L, "fffffea9", "%3.x",
-__LINE__, 0xe447099eL, "E447099E", "%0X",
-__LINE__, 0x00049c71L, "302193", "%d",
-__LINE__, 0x76356ed3L, "0x76356ed3", "%#4.1x",
-__LINE__, 0x00000005L, " 0X5", "%#5X",
-__LINE__, 0x00004da2L, "0x004da2", "%#1.6x",
-__LINE__, 0xffdfb36cL, "FFDFB36C", "%4X",
-__LINE__, 0xffffe3c5L, "FFFFE3C5", "%+4.X",
-__LINE__, 0x00000006L, "6", "%0x",
-__LINE__, -0x914ff17L, "-152370967", "% .5ld",
-__LINE__, -0x0000002L, "-2", "%0ld",
-__LINE__, 0xffffff36L, "FFFFFF36", "% 2X",
-__LINE__, -0x0bb1598L, "-12260760", "%-ld",
-__LINE__, 0x00006db5L, "28085", "%0.5ld",
-__LINE__, 0xffffffffL, "ffffffff", "%x",
-__LINE__, -0x0000001L, "-1", "%0ld",
-__LINE__, 0x0fa37e79L, "FA37E79", "%1.X",
-__LINE__, -0x00000acL, "-172", "%.2d",
-__LINE__, 0xffffffd8L, "ffffffd8", "%.7x",
-__LINE__, -0x000a513L, "-42259", "%ld",
-__LINE__, 0x00001294L, "4756", "%2ld",
-__LINE__, -0x56bae0b4L, "-1455087796", "%.1ld",
-__LINE__, 0x3b26d5faL, "3b26d5fa", "%x",
-__LINE__, 0xff657013L, "ff657013", "%x",
-__LINE__, -0x00005f5L, "-1525", "%0.0ld",
-__LINE__, -0x0000001L, " -1", "% 7d",
-__LINE__, -0x02396b2L, "-2332338", "%d",
-__LINE__, -0x0000003L, "-000003", "%+7.6d",
-__LINE__, 0xfd3ec7c1L, "fd3ec7c1", "% 3.4x",
-__LINE__, -0x076e338L, "-7791416", "%0.d",
-__LINE__, -0x000015eL, "-350", "%3ld",
-__LINE__, 0x0a0f0b71L, "a0f0b71", "%x",
-__LINE__, 0xfffe00baL, "FFFE00BA", "%X",
-__LINE__, 0x00036bd8L, " 36bd8", "% 06.x",
-__LINE__, 0xfffff2dfL, "0XFFFFF2DF", "%#2.6X",
-__LINE__, 0x004687fbL, "4622331", "%ld",
-__LINE__, -0x0000331L, " -817", "%+6.d",
-__LINE__, 0xfcd5b090L, "fcd5b090", "%+0x",
-__LINE__, 0x0334f94cL, "334F94C", "%.6X",
-__LINE__, 0x00000bceL, "3022", "%.3ld",
-__LINE__, 0xf28d9dddL, "f28d9ddd", "%x",
-__LINE__, 0x00003a79L, " 14969", "% ld",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%.7X",
-__LINE__, 0x0043d7feL, "43D7FE", "%X",
-__LINE__, -0x0000b82L, "-2946", "%-ld",
-__LINE__, -0x00e29d8L, "-928216", "%d",
-__LINE__, 0xffffffecL, "ffffffec", "%-x",
-__LINE__, 0x0aeaf557L, "0xaeaf557", "%-#x",
-__LINE__, 0x00c07fe6L, "C07FE6", "%X",
-__LINE__, 0x307414d8L, "307414d8", "% 0x",
-__LINE__, -0x045ef67L, "-4583271", "%d",
-__LINE__, 0x0000024aL, " 0000586", "% .7d",
-__LINE__, 0xfffffc42L, "fffffc42", "%x",
-__LINE__, 0xfc38c249L, "fc38c249", "%5.x",
-__LINE__, -0x000d096L, "-53398", "%-d",
-__LINE__, -0x213a345L, "-34841413", "%ld",
-__LINE__, -0x0000130L, "-304", "%ld",
-__LINE__, -0x000efd1L, "-61393", "%ld",
-__LINE__, 0xfffff867L, "FFFFF867", "%2X",
-__LINE__, 0x00113ed0L, "0x113ed0", "%-#7x",
-__LINE__, 0x00000677L, " 1655", "% 3.ld",
-__LINE__, 0x0000002fL, "2f", "%x",
-__LINE__, 0xfffffd38L, "fffffd38", "%-4x",
-__LINE__, -0x000b3ccL, "-46028", "%1.2d",
-__LINE__, 0x45da719bL, "45DA719B", "%+0X",
-__LINE__, -0x000a454L, " -42068", "%7.3ld",
-__LINE__, 0x01cc7c30L, " 30178352", "% d",
-__LINE__, -0x05ae80eL, "-5957646", "%#.4ld",
-__LINE__, 0x000000b9L, "185", "%d",
-__LINE__, 0x003fcaf4L, "4180724", "%1.ld",
-__LINE__, 0x02da1b74L, "2DA1B74", "%X",
-__LINE__, 0xffffffd9L, "FFFFFFD9", "%X",
-__LINE__, 0x00064359L, "64359 ", "%-6X",
-__LINE__, 0x000000f0L, "240", "%ld",
-__LINE__, -0x01715e5L, "-1512933", "%ld",
-__LINE__, 0xc8f6e118L, "0XC8F6E118", "%#X",
-__LINE__, 0xfffffd8fL, "FFFFFD8F", "%X",
-__LINE__, 0x0000176dL, "5997 ", "%-6d",
-__LINE__, 0x00003cabL, "0x3cab", "%#0.3x",
-__LINE__, 0x00000001L, " 1", "% d",
-__LINE__, 0xfffff610L, "0XFFFFF610", "%#X",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%5.7X",
-__LINE__, 0x00000001L, "1", "%0x",
-__LINE__, 0x00000001L, "00001", "%.5ld",
-__LINE__, -0x0000d51L, "-3409", "%d",
-__LINE__, -0x08639eeL, "-8796654", "%ld",
-__LINE__, 0x00003121L, "12577", "%#1.2ld",
-__LINE__, 0x0000004eL, "78", "%d",
-__LINE__, 0xfffff64fL, "fffff64f", "%-x",
-__LINE__, 0x0000002aL, "2a", "%0x",
-__LINE__, 0x00000020L, "20", "%x",
-__LINE__, -0x00000b8L, "-184", "%#ld",
-__LINE__, 0x0000000aL, "10", "%-#d",
-__LINE__, 0x00000364L, "868", "%.1ld",
-__LINE__, 0x00d1f9b6L, "D1F9B6", "%0.X",
-__LINE__, 0x008cfda1L, "8CFDA1", "% 6.X",
-__LINE__, 0xffd58cceL, "FFD58CCE", "%X",
-__LINE__, 0x00000008L, "0000008", "%6.7ld",
-__LINE__, 0x00000318L, " 318", "%4X",
-__LINE__, 0x000172d8L, "94936", "%2ld",
-__LINE__, -0x056ccbfL, "-5688511", "%ld",
-__LINE__, 0x000000c7L, "+000199", "%+0.6d",
-__LINE__, 0x00000002L, "0X2", "%-#X",
-__LINE__, 0xfffff634L, "FFFFF634", "%.1X",
-__LINE__, -0x00001f3L, "-499", "%-ld",
-__LINE__, -0x000081bL, "-2075", "%-d",
-__LINE__, 0x000000b5L, "181", "%0d",
-__LINE__, 0xfe961ee8L, "fe961ee8", "%0x",
-__LINE__, 0x000028a2L, "10402", "%d",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%.4X",
-__LINE__, -0x000058aL, "-1418", "%.3ld",
-__LINE__, 0x00001cebL, "1CEB", "%X",
-__LINE__, 0x00000021L, "21", "% X",
-__LINE__, 0x00000002L, "2", "%0d",
-__LINE__, -0x2f9bbf5L, "-49921013", "%.4ld",
-__LINE__, 0x00000e91L, "03729", "%#.5ld",
-__LINE__, 0xf1116740L, "f1116740", "%2x",
-__LINE__, 0x00014f72L, "14F72", "%X",
-__LINE__, 0xfffffcedL, "FFFFFCED", "%X",
-__LINE__, 0xffffffffL, "ffffffff", "%.5x",
-__LINE__, 0x0017cf0cL, " 1560332", "% 0ld",
-__LINE__, 0x0000000aL, "A", "% X",
-__LINE__, 0xff3a39d4L, "ff3a39d4", "%x",
-__LINE__, 0xfffef05fL, "FFFEF05F", "%X",
-__LINE__, 0xfedfe708L, "fedfe708", "%03.0x",
-__LINE__, 0x000345a0L, "345A0", "% X",
-__LINE__, -0x1ed5b6f7L, "-517322487", "%d",
-__LINE__, 0xd2d56c22L, "D2D56C22", "%0.X",
-__LINE__, 0x00002cbfL, "2CBF", "%.2X",
-__LINE__, 0x00000db4L, "db4", "%3x",
-__LINE__, -0x000b154L, "-45396", "%d",
-__LINE__, 0x002bf4c7L, "2BF4C7", "%X",
-__LINE__, 0x6954abf4L, "+1767156724", "%+d",
-__LINE__, 0xfffffffbL, "fffffffb", "%x",
-__LINE__, -0x29e0050eL, "-702547214", "%-0ld",
-__LINE__, -0x0014989L, "-84361", "%-#0.3ld",
-__LINE__, 0x001a557cL, "+1725820", "%+6.5d",
-__LINE__, -0x56689a81L, "-1449695873", "%.2d",
-__LINE__, 0x00000016L, " 16", "%05.X",
-__LINE__, 0x0001da1eL, " 121374", "% d",
-__LINE__, -0x04deac7L, "-5106375", "%03.4d",
-__LINE__, 0x000012b1L, "4785", "%d",
-__LINE__, 0x0009a116L, "9a116", "%-x",
-__LINE__, -0x0000003L, "-000003", "%4.6ld",
-__LINE__, 0x00000000L, "", "%.0x",
-__LINE__, 0x0000000aL, " A", "% 3X",
-__LINE__, 0xfffffff0L, "0xfffffff0", "%-#0.1x",
-__LINE__, 0x00000086L, "86", "%0X",
-__LINE__, 0x0000001fL, "31", "%-d",
-__LINE__, 0x0386f706L, "59176710", "%3.6ld",
-__LINE__, 0xffe437aeL, "0XFFE437AE", "%#X",
-__LINE__, 0x0e5405c6L, "e5405c6", "%-x",
-__LINE__, 0xfffdee46L, "FFFDEE46", "%+X",
-__LINE__, 0xff861e9dL, "FF861E9D", "%5.X",
-__LINE__, 0xfffff570L, "FFFFF570", "%-X",
-__LINE__, 0x045c90bdL, "45c90bd", "%0x",
-__LINE__, 0x000000aaL, "AA", "%+X",
-__LINE__, -0x747262eL, "-122103342", "%0ld",
-__LINE__, 0xffffad89L, "FFFFAD89", "%X",
-__LINE__, 0x00000018L, "18", "%0.2X",
-__LINE__, 0x00057a2dL, " 358957", "% #7.d",
-__LINE__, 0x73a0e21dL, "1939923485", "%ld",
-__LINE__, -0x00021e1L, "-8673", "%0d",
-__LINE__, 0x000000e9L, " 233", "% 06.3ld",
-__LINE__, 0xffffcc0dL, "ffffcc0d", "%x",
-__LINE__, 0x00000052L, "52", "%x",
-__LINE__, 0x01c155afL, "1C155AF", "%.5X",
-__LINE__, 0xffffffffL, "ffffffff", "%0.x",
-__LINE__, -0x00400a4L, "-262308", "%-d",
-__LINE__, -0x0000001L, "-0000001", "%#.7ld",
-__LINE__, 0x01fb9c99L, "1fb9c99", "% 03.5x",
-__LINE__, 0xffffffffL, "ffffffff", "%6.x",
-__LINE__, 0xff5e5eeaL, "FF5E5EEA", "%X",
-__LINE__, 0x0000000fL, "F", "%+0X",
-__LINE__, 0xfffffe3aL, "fffffe3a", "% x",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%-X",
-__LINE__, -0x0000007L, "-7", "%0ld",
-__LINE__, -0x002f635L, "-194101", "%d",
-__LINE__, -0x0000005L, "-5", "%ld",
-__LINE__, -0x0000059L, "-89", "%0ld",
-__LINE__, -0x1ccda96L, "-30202518", "%d",
-__LINE__, -0x0000002L, "-2", "%-d",
-__LINE__, 0xffffffdaL, "0XFFFFFFDA", "%#X",
-__LINE__, 0x00036cc5L, "224453", "%#d",
-__LINE__, 0x00000010L, "+16", "%+ld",
-__LINE__, 0x0b6039c7L, "190855623", "%d",
-__LINE__, -0x0000002L, "-002", "%#.3d",
-__LINE__, 0xfff3e746L, "FFF3E746", "%-4X",
-__LINE__, 0x0361b3deL, "361B3DE", "% 04X",
-__LINE__, 0xffffe6a2L, "ffffe6a2", "%-x",
-__LINE__, 0x00032790L, "0x0032790", "%#7.7x",
-__LINE__, 0xffe33b4eL, "ffe33b4e", "%-0x",
-__LINE__, -0x0094663L, "-607843", "%.3ld",
-__LINE__, -0x00a3efaL, "-671482", "%4d",
-__LINE__, 0x000000e6L, " 00E6", "%7.4X",
-__LINE__, 0x000125cbL, "125CB", "%+X",
-__LINE__, 0x0000b97eL, "b97e", "%x",
-__LINE__, -0x0000039L, "-57", "%+ld",
-__LINE__, 0xffffe39aL, "ffffe39a", "%5.4x",
-__LINE__, 0xffffffffL, "ffffffff", "%6.1x",
-__LINE__, -0xdee910cL, "-233738508", "%-#2d",
-__LINE__, -0x14044930L, "-335825200", "%6.ld",
-__LINE__, 0x00a81259L, "a81259", "%x",
-__LINE__, 0x020e74c6L, "20E74C6", "%X",
-__LINE__, -0x00000fbL, "-251", "%01.d",
-__LINE__, 0x034ceb45L, "34CEB45", "%5.X",
-__LINE__, 0xfeacb66aL, "feacb66a", "% x",
-__LINE__, 0x00003eb6L, "3EB6", "% X",
-__LINE__, 0x000009efL, "9ef", "% x",
-__LINE__, 0xf9d9dd07L, "F9D9DD07", "%0X",
-#ifndef __PCCNECV70__
-
-__LINE__, 0x000154d7L, "087255", "%.6ld",
-__LINE__, -0x000036eL, "-878", "%-ld",
-__LINE__, -0x0007dccL, "-32204", "% d",
-__LINE__, 0x000019dcL, "6620", "%d",
-__LINE__, 0xffffff6eL, "FFFFFF6E", "%2X",
-__LINE__, 0x00000016L, "0x16", "%-#x",
-__LINE__, 0xffdb3e96L, "ffdb3e96", "%+.5x",
-__LINE__, 0xffffffefL, "FFFFFFEF", "% 04.X",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%5X",
-__LINE__, 0x000c08cdL, "C08CD", "%-X",
-__LINE__, 0x18de71eeL, "18de71ee", "%x",
-__LINE__, 0xffffffffL, "ffffffff", "% x",
-__LINE__, -0x00025bdL, "-009661", "%#.6d",
-__LINE__, 0x2f05de14L, " 788913684", "% 6.4ld",
-__LINE__, 0x0c99cf86L, "211406726", "%.5d",
-__LINE__, 0x09e6a21dL, " 166109725", "% 0d",
-__LINE__, -0x013da65L, "-1301093", "%+ld",
-__LINE__, 0x000003d0L, " 976", "% 4.2d",
-__LINE__, -0xef9e3ccL, "-251257804", "%-7.0d",
-__LINE__, 0x0000000cL, "+12", "%+00ld",
-__LINE__, 0xffffffe2L, "ffffffe2", "%x",
-__LINE__, 0x000000feL, "fe", "%-x",
-__LINE__, 0xfffffc5fL, "fffffc5f", "%x",
-__LINE__, -0x0005c55L, "-23637", "%d",
-__LINE__, -0x0111ff2L, "-1122290", "% 7.d",
-__LINE__, -0x1a1746e5L, "-437733093", "%.4ld",
-__LINE__, 0x00001007L, "004103", "%00.6d",
-__LINE__, 0xffffffe1L, "ffffffe1", "%x",
-__LINE__, 0x0000d80fL, "55311", "%d",
-__LINE__, 0x00000004L, "4", "%+X",
-__LINE__, 0xfffffffdL, "fffffffd", "%6x",
-__LINE__, -0x2afbcc3cL, "-721144892", "%4.6ld",
-__LINE__, 0x00377f96L, "377F96", "%6.X",
-__LINE__, 0xffffffc8L, "FFFFFFC8", "%0X",
-__LINE__, 0x007ed9d1L, "8313297", "%-3d",
-__LINE__, 0x00000000L, "0", "%-X",
-__LINE__, 0x001e122dL, "1970733", "%01.d",
-__LINE__, -0x000029bL, "-667", "%ld",
-__LINE__, -0x002f563L, "-193891", "% 2.5d",
-__LINE__, 0xfffffffeL, "fffffffe", "%+3.7x",
-__LINE__, 0xfff7658cL, "fff7658c", "%x",
-__LINE__, -0x0006d08L, "-0027912", "%7.7ld",
-__LINE__, 0x00000080L, "80", "%X",
-__LINE__, 0x0000078fL, " 1935", "% 6ld",
-__LINE__, 0xfffffffbL, "FFFFFFFB", "% X",
-__LINE__, 0x000000aeL, " AE", "%7.X",
-__LINE__, -0x000d6aaL, "-54954", "%-ld",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%6.X",
-__LINE__, 0x000003bfL, "+959", "%+d",
-__LINE__, -0x7242d04bL, "-1916981323", "% ld",
-__LINE__, 0xf0e6546fL, "F0E6546F", "% .7X",
-__LINE__, 0x047e196aL, "75372906", "%ld",
-__LINE__, 0x0240174eL, "240174E", "%+0X",
-__LINE__, -0x0000006L, "-006", "%.3ld",
-__LINE__, 0x00068aacL, "428716", "%#ld",
-__LINE__, 0xffffffa1L, "ffffffa1", "%0x",
-__LINE__, 0x000adab3L, "adab3", "%x",
-__LINE__, -0x00000aeL, "-0000174", "%7.7ld",
-__LINE__, 0x0f0a8f4bL, "f0a8f4b", "% x",
-__LINE__, 0xfee229bcL, "fee229bc", "%x",
-__LINE__, -0x275b8455L, "-660309077", "%.2ld",
-__LINE__, -0xca4b2a5L, "-212120229", "%d",
-__LINE__, 0x000000b5L, " 181", "%04.d",
-__LINE__, 0xfff213f2L, "FFF213F2", "%X",
-__LINE__, 0x00000003L, "3", "%-X",
-__LINE__, 0x0ebb978bL, "247175051", "%.6ld",
-__LINE__, 0xffffffcaL, "FFFFFFCA", "%X",
-__LINE__, -0x0000003L, "-03", "%+0.2d",
-__LINE__, -0x178ff86L, "-24706950", "%+d",
-__LINE__, 0x0000003cL, " 60", "%7.ld",
-__LINE__, -0x001012dL, "-65837", "%.5d",
-__LINE__, 0x03673fd2L, "3673fd2", "%.5x",
-__LINE__, -0x001fe74L, "-130676", "%#0.6ld",
-__LINE__, 0x004f6226L, "4f6226", "%-0x",
-__LINE__, 0xfffffa0fL, "fffffa0f", "%7x",
-__LINE__, 0xfffffff8L, "fffffff8", "%-.6x",
-__LINE__, -0x0000001L, "-1", "%#d",
-__LINE__, 0xffffe43dL, "ffffe43d", "%7x",
-__LINE__, 0x00009d47L, "0040263", "%7.7ld",
-__LINE__, 0xff0fc79fL, "FF0FC79F", "%-4.X",
-__LINE__, 0x2d610907L, "2d610907", "%x",
-__LINE__, -0x00002deL, "-734", "%04d",
-__LINE__, 0x0000036bL, " 36B", "%7.1X",
-__LINE__, 0x00000002L, "2", "%.0x",
-__LINE__, -0x1f577b3eL, "-525826878", "%d",
-__LINE__, 0x0000002dL, "45", "%#ld",
-__LINE__, 0xfffffffbL, "fffffffb", "%x",
-__LINE__, -0x0000004L, "-4", "%-.0d",
-__LINE__, 0x00016ba4L, "16ba4", "%x",
-__LINE__, -0x1ad853d5L, "-450384853", "% 0ld",
-__LINE__, 0x00366899L, "366899", "%2.x",
-__LINE__, 0x1659158bL, "1659158B", "%X",
-__LINE__, 0x000076c7L, "76c7", "%x",
-__LINE__, 0x00000674L, "674", "%0x",
-__LINE__, 0x016c9d8aL, "+23895434", "%+ld",
-__LINE__, 0xfffffc43L, "FFFFFC43", "%0X",
-__LINE__, 0xfff249d2L, "fff249d2", "%-2.x",
-__LINE__, 0xffffffddL, "ffffffdd", "%5x",
-__LINE__, 0xffffa7efL, "FFFFA7EF", "%0.3X",
-__LINE__, 0x030d4d06L, "30d4d06", "%x",
-__LINE__, -0x0e4694bL, "-14969163", "%d",
-__LINE__, 0x00000078L, "120", "%.3ld",
-__LINE__, -0x16c1273eL, "-381757246", "%0d",
-__LINE__, 0xffffd183L, "FFFFD183", "% 0X",
-__LINE__, -0x2dfdaddL, "-48224989", "%ld",
-__LINE__, -0x5767fe5cL, "-1466433116", "%ld",
-__LINE__, 0x01bea036L, "29270070", "%#4.3d",
-__LINE__, 0x00000027L, "27", "%-x",
-__LINE__, 0x0004d183L, "4D183", "%X",
-__LINE__, 0xffdaf9c8L, "FFDAF9C8", "%.7X",
-__LINE__, 0xfffffd95L, "fffffd95", "%x",
-__LINE__, -0x0059acbL, "-367307", "%00.d",
-__LINE__, 0x017d8db4L, "17d8db4", "% 05.x",
-__LINE__, 0x0001f084L, "001F084", "%5.7X",
-__LINE__, 0x00000006L, " 6", "% ld",
-__LINE__, 0x011b0802L, "18548738", "%.3ld",
-__LINE__, 0x00000006L, " 6", "%#3.d",
-__LINE__, 0xffffffffL, "ffffffff", "%6x",
-__LINE__, 0x00000001L, "1", "% x",
-__LINE__, 0x00000750L, " 01872", "% .5d",
-__LINE__, 0xfffffff9L, "fffffff9", "%x",
-__LINE__, -0x00f842cL, "-1016876", "%+d",
-__LINE__, -0x001dcf0L, "-122096", "%-0d",
-__LINE__, 0x000000c9L, "0XC9", "% #3X",
-__LINE__, 0x1e368e86L, "1e368e86", "%7x",
-__LINE__, -0x0001157L, "-4439", "% 03.4d",
-__LINE__, 0xfff91e87L, "FFF91E87", "%3.5X",
-__LINE__, 0x00000006L, "6", "%x",
-__LINE__, 0x00000bcaL, "3018", "%ld",
-__LINE__, 0x00495ff6L, "495ff6", "%01.0x",
-__LINE__, -0x0267f7aL, "-2523002", "% #5d",
-__LINE__, 0x00000060L, "96", "%-d",
-__LINE__, 0x000850c6L, "544966", "%#.1d",
-__LINE__, 0x00231457L, "231457", "%-6.4X",
-__LINE__, 0x0000000bL, "11", "%-d",
-__LINE__, 0x000003bdL, "957", "%#d",
-__LINE__, 0xfd51d970L, "FD51D970", "%+.7X",
-__LINE__, 0x000007bfL, "1983", "%-ld",
-__LINE__, 0x000034b2L, "34B2", "%0.X",
-__LINE__, 0x0000c18dL, "C18D", "%0.X",
-__LINE__, 0xffffbb83L, "ffffbb83", "% 3x",
-__LINE__, 0x000001d0L, "0x1d0", "%#x",
-__LINE__, -0x003c784L, "-247684", "%#ld",
-__LINE__, 0x0210cffaL, "210CFFA", "%X",
-__LINE__, -0x33093a1L, "-53515169", "% 0d",
-__LINE__, 0x00000001L, " 1", "% #ld",
-__LINE__, 0xffffaa53L, "ffffaa53", "%-4.5x",
-__LINE__, 0x2935c056L, "691388502", "%1.d",
-__LINE__, -0x0000001L, "-1", "%ld",
-__LINE__, 0x000013d1L, "0X013D1", "%+#2.5X",
-__LINE__, -0x000035cL, "-860", "%-.2d",
-__LINE__, 0x00000000L, " ", "%-4.X",
-__LINE__, -0x0000147L, "-327", "%d",
-__LINE__, 0x0a317eb0L, "171015856", "%.7d",
-__LINE__, 0x00000003L, "3", "%ld",
-__LINE__, 0x000001d6L, "1d6", "%-x",
-__LINE__, 0x18185214L, "404247060", "%-.2ld",
-__LINE__, 0x00574140L, "0574140", "%.7X",
-__LINE__, 0x00002ea5L, "02ea5", "%.5x",
-__LINE__, 0x00000005L, "5", "% x",
-__LINE__, 0xffc47ed6L, "ffc47ed6", "%-x",
-__LINE__, 0x0001f5daL, "0X1F5DA", "%#X",
-__LINE__, 0xfffffcc9L, "fffffcc9", "% x",
-__LINE__, 0x02586c98L, "2586C98", "%X",
-__LINE__, -0x0000036L, "-54", "% ld",
-__LINE__, 0x00064b57L, "412503", "%1.5d",
-__LINE__, -0x0000007L, "-7", "%#0.0ld",
-__LINE__, 0x00023a03L, "145923", "%ld",
-__LINE__, -0x0000065L, "-101", "%+#d",
-__LINE__, 0x00000208L, "208", "%X",
-__LINE__, 0x00e97728L, "15300392", "%-ld",
-__LINE__, 0x0000030aL, "+778", "%+d",
-__LINE__, 0xf4d7deeeL, "F4D7DEEE", "%+X",
-__LINE__, -0x000009aL, "-154", "%+.3ld",
-__LINE__, 0x000002c0L, "+704", "%+ld",
-__LINE__, 0x0067ec23L, "67ec23", "%x",
-__LINE__, 0x005ca7fcL, "+6072316", "%+d",
-__LINE__, 0xfffff5f1L, "fffff5f1", "%x",
-__LINE__, 0x00000601L, " 0X601", "%#7.2X",
-__LINE__, -0x0000057L, "-87", "% ld",
-__LINE__, -0x0000078L, " -120", "%7.d",
-__LINE__, -0x000001fL, "-31 ", "%-6d",
-__LINE__, 0x0160c000L, "23117824", "%ld",
-__LINE__, -0x0000007L, "-7", "%0ld",
-__LINE__, 0xfffffffeL, "fffffffe", "%+x",
-__LINE__, 0x5b6ef898L, "5b6ef898", "%+0x",
-__LINE__, 0x0009bfb6L, "638902", "%d",
-__LINE__, -0x0000145L, " -325", "%#6.0d",
-__LINE__, -0x508c048L, "-84459592", "%-5.ld",
-__LINE__, 0x00000002L, " 0x2", "% #4x",
-__LINE__, 0x0001486eL, "84078", "%#d",
-__LINE__, 0x006ac76aL, "6997866", "%.6d",
-__LINE__, 0xffffff98L, "FFFFFF98", "%X",
-__LINE__, 0xfffffe08L, "fffffe08", "%6.x",
-__LINE__, -0x24ef47eL, "-38728830", "%1.6ld",
-__LINE__, 0x39d1b2dbL, "39D1B2DB", "% X",
-__LINE__, 0xfffc9ce2L, "0xfffc9ce2", "%#x",
-__LINE__, 0x59485e14L, "1497914900", "%#4ld",
-__LINE__, 0x000022ebL, "22EB", "%3.X",
-__LINE__, 0xfa410352L, "FA410352", "%-X",
-__LINE__, -0x4a342f0L, "-77808368", "% ld",
-__LINE__, 0xef5825a4L, "EF5825A4", "%.6X",
-__LINE__, 0x01b0185aL, "0x1b0185a", "% #x",
-__LINE__, -0x0004290L, "-17040", "%.3d",
-__LINE__, -0x10f88659L, "-284722777", "%+6.2ld",
-__LINE__, 0x00003216L, "12822", "%-d",
-__LINE__, 0x4a31a219L, "1244766745", "%d",
-__LINE__, 0xffffffb5L, "FFFFFFB5", "%-X",
-__LINE__, 0x0000d586L, "D586", "%-2.X",
-__LINE__, 0x00008496L, "33942", "%1.d",
-__LINE__, -0x0000011L, "-17", "%1ld",
-__LINE__, 0x0000003cL, "3C", "%2.X",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%.3X",
-__LINE__, 0x0000152aL, "152A", "%X",
-__LINE__, 0xfffe876eL, "FFFE876E", "%X",
-__LINE__, -0x0003874L, "-14452", "%-ld",
-__LINE__, -0x004918aL, "-299402", "%#.6d",
-__LINE__, -0x000000cL, "-12", "%-d",
-__LINE__, 0xffffd812L, "FFFFD812", "%+X",
-__LINE__, -0x000000cL, "-12", "%0d",
-__LINE__, -0x0000229L, "-553", "%0d",
-__LINE__, 0x00002ab8L, "2AB8", "%4.X",
-__LINE__, 0x0000004bL, "+75", "%+ld",
-__LINE__, 0x001c3178L, " 1847672", "% ld",
-__LINE__, -0x0000006L, "-6", "%.0ld",
-__LINE__, 0x0003be65L, "245349", "%ld",
-__LINE__, -0x0000001L, "-1", "%#1ld",
-__LINE__, 0x0000007fL, "+127", "%+ld",
-__LINE__, 0x0000020eL, "526 ", "%-5ld",
-__LINE__, 0x00000002L, "2", "%d",
-__LINE__, 0x03bd0873L, "0X3BD0873", "%#X",
-__LINE__, 0x00093a52L, "604754", "%-2d",
-__LINE__, -0x00823fcL, "-0533500", "%+.7ld",
-__LINE__, 0x00000000L, " ", "%4.X",
-__LINE__, -0x0000001L, "-1", "%ld",
-__LINE__, 0xfff09edeL, "fff09ede", "%-x",
-__LINE__, 0x01e28c24L, "31624228", "%ld",
-__LINE__, 0x00001dccL, "1DCC", "%X",
-__LINE__, -0x0f0ea0dL, "-15788557", "%-00.ld",
-__LINE__, 0xffff73a1L, "FFFF73A1", "%X",
-__LINE__, -0x0004040L, "-16448", "%+#d",
-__LINE__, 0x0073b158L, "0x73b158", "%#7x",
-__LINE__, 0xfffff8ffL, "FFFFF8FF", "% 5X",
-__LINE__, -0x0000004L, "-4", "%0d",
-__LINE__, 0xffff56a3L, "ffff56a3", "%1.6x",
-__LINE__, -0x0000041L, "-65", "%0d",
-__LINE__, 0x00000009L, "+0000009", "%+2.7d",
-__LINE__, 0xffffe13dL, "0XFFFFE13D", "%+#2.X",
-__LINE__, -0x00002ceL, "-00718", "%.5ld",
-__LINE__, 0xffc53e28L, "ffc53e28", "%03.4x",
-__LINE__, 0x00000005L, "0X5", "%#X",
-__LINE__, 0x00000004L, "4", "%x",
-__LINE__, 0xe21b35ebL, "e21b35eb", "%-x",
-__LINE__, -0x0000098L, "-152", "%-ld",
-__LINE__, 0xffffff81L, "FFFFFF81", "%2X",
-__LINE__, 0x00000003L, "00003", "%.5ld",
-__LINE__, 0xfffffffcL, "fffffffc", "%+x",
-__LINE__, 0x000491f5L, "299509", "%1.ld",
-__LINE__, 0xf06bfd7dL, "F06BFD7D", "%X",
-__LINE__, -0x0000006L, "-6", "%0d",
-__LINE__, -0x0a4af7dL, "-10792829", "%-0d",
-__LINE__, -0x11a74efL, "-18511087", "%ld",
-__LINE__, 0x2dc95e17L, "768171543", "%-1.d",
-__LINE__, -0x0000001L, "-1", "%#ld",
-__LINE__, 0x00000033L, "51", "%-#d",
-__LINE__, 0x002d0219L, "2949657", "%ld",
-__LINE__, 0xfffffffdL, "FFFFFFFD", "%2.4X",
-__LINE__, 0x00000f20L, "+3872", "%+ld",
-__LINE__, -0x0000047L, "-071", "%4.3ld",
-__LINE__, 0x00000010L, " 16", "%6d",
-__LINE__, 0x00000000L, "0", "%0d",
-__LINE__, 0xffffff57L, "FFFFFF57", "%X",
-__LINE__, -0x0000700L, "-1792", "%-#d",
-__LINE__, -0x0000064L, "-100", "%-ld",
-__LINE__, 0xff26d49aL, "FF26D49A", "%-0X",
-__LINE__, -0x0000006L, "-6", "%.1ld",
-__LINE__, 0x1391edc5L, "1391edc5", "%.1x",
-__LINE__, 0x0000014aL, "330", "%-#ld",
-__LINE__, 0x07ecd1e1L, "7ecd1e1", "%6x",
-__LINE__, -0xa2b8898L, "-170625176", "%3.d",
-__LINE__, 0x00035287L, "0x35287", "%#.0x",
-__LINE__, 0x00000000L, "00000", "%0.5X",
-__LINE__, -0x0000153L, "-339", "%d",
-__LINE__, 0x0000ad6eL, " 44398", "% 0.d",
-__LINE__, 0x00000001L, "1", "%-X",
-__LINE__, -0x000000dL, "-13 ", "%-6.2d",
-__LINE__, -0x01bff8aL, "-1834890", "%d",
-__LINE__, 0x000a0fa8L, "+659368", "%+ld",
-__LINE__, 0xac044dc0L, "ac044dc0", "%.0x",
-__LINE__, 0x0003a729L, "239401", "%ld",
-__LINE__, -0x00004f0L, "-1264", "%+ld",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, 0x00000012L, "12", "% x",
-__LINE__, 0xffff770bL, "ffff770b", "%7.1x",
-__LINE__, 0xd7458572L, "d7458572", "%x",
-__LINE__, 0x01f1b4f9L, "1f1b4f9", "% 0x",
-__LINE__, 0xfffb2198L, "0XFFFB2198", "% #1.X",
-__LINE__, 0x00ef6189L, " 15688073", "% ld",
-__LINE__, -0x3f0ae63L, "-66104931", "% #d",
-__LINE__, -0x0006075L, "-24693", "%ld",
-__LINE__, 0x000000a1L, "161", "%d",
-__LINE__, 0xfffffffcL, "fffffffc", "%3.2x",
-__LINE__, 0xff6b4125L, "FF6B4125", "%+5.X",
-__LINE__, 0x00000001L, " 1", "%6.d",
-__LINE__, -0x0000001L, "-1", "%+0d",
-__LINE__, -0x000096cL, "-2412", "%0.4d",
-__LINE__, 0x00039c6fL, "236655", "%.0d",
-__LINE__, 0x3625286cL, "908404844", "%.1d",
-__LINE__, 0xfffffffaL, "fffffffa", "%x",
-__LINE__, 0x00000000L, "0", "%X",
-__LINE__, 0x00c34353L, "12796755", "%#.4d",
-__LINE__, 0x000002dfL, "735", "%ld",
-__LINE__, 0xffff38faL, "FFFF38FA", "%5.1X",
-__LINE__, -0x000002aL, "-42", "%0.d",
-__LINE__, 0x0000077eL, "1918", "%ld",
-__LINE__, 0x000001f7L, "503", "%ld",
-__LINE__, 0x00000004L, "4", "%ld",
-__LINE__, 0x0021fb02L, "2226946", "%d",
-__LINE__, 0x007c858dL, "8160653", "%-0d",
-__LINE__, -0x0000109L, "-265", "%.0d",
-__LINE__, 0xfffffffaL, "fffffffa", "% x",
-__LINE__, 0x0097932dL, "97932d", "%+x",
-__LINE__, 0xfffbbd03L, "fffbbd03", "%-.5x",
-__LINE__, -0x0000005L, "-5", "%0d",
-__LINE__, 0x03ee3a95L, "65944213", "%ld",
-__LINE__, -0x0000002L, " -00002", "%7.5d",
-__LINE__, 0xea1a4e54L, "EA1A4E54", "%X",
-__LINE__, -0x000a9d6L, "-43478", "%+d",
-__LINE__, -0x0fd8d65L, "-16616805", "%5ld",
-__LINE__, 0x00000001L, "1", "%-d",
-__LINE__, 0x00000072L, "72", "%2.X",
-__LINE__, 0xffffff94L, "FFFFFF94", "%X",
-__LINE__, 0x00000d2aL, "D2A", "%+X",
-__LINE__, 0xffff614fL, "ffff614f", "%x",
-__LINE__, -0x0000018L, "-24", "%ld",
-__LINE__, 0x0000003bL, "059", "%2.3d",
-__LINE__, 0x0000001aL, "1A", "%0X",
-__LINE__, -0x0000109L, "-265", "%02ld",
-__LINE__, 0x00000f9dL, "3997", "%#1d",
-__LINE__, 0x0000001bL, "1b", "%x",
-__LINE__, 0xffffff07L, "ffffff07", "%x",
-__LINE__, 0xfff1a425L, "0xfff1a425", "%#x",
-__LINE__, 0x00000005L, "5", "%-1d",
-__LINE__, -0x53a6efdL, "-87715581", "%ld",
-__LINE__, 0x042f37dbL, "42F37DB", "%6.X",
-__LINE__, 0x00053bd5L, "+342997", "%+5ld",
-__LINE__, 0xffffffffL, "ffffffff", "% x",
-__LINE__, 0xffffffefL, "FFFFFFEF", "%6.X",
-__LINE__, -0x10ec29aL, "-17744538", "%+2.d",
-__LINE__, 0x01dcc901L, "1dcc901", "%x",
-__LINE__, 0x0007dc68L, "515176", "%-3.d",
-__LINE__, -0x0000062L, "-0098", "%#2.4d",
-__LINE__, 0x00000000L, " ", "%3.0X",
-__LINE__, -0x00000deL, "-222", "%ld",
-__LINE__, 0x000c1fb8L, "C1FB8", "%0X",
-__LINE__, 0x0005bf58L, "5BF58", "%X",
-__LINE__, -0x000dd1bL, "-56603", "%-03.1d",
-__LINE__, 0x00000b14L, "B14", "%+3.X",
-__LINE__, 0x00000799L, "799", "%-x",
-__LINE__, 0xfffffffaL, "fffffffa", "%x",
-__LINE__, 0x00000003L, "0x00003", "% #7.5x",
-__LINE__, -0x002b9f1L, "-178673", "%+d",
-__LINE__, -0x001b817L, "-112663", "%0d",
-__LINE__, 0xf6f98533L, "f6f98533", "%.1x",
-__LINE__, 0x00338ffcL, "3379196", "%d",
-__LINE__, 0x0409e9b5L, "0X409E9B5", "%#X",
-__LINE__, 0x00b8e98eL, " 12118414", "% 0d",
-__LINE__, -0x002a8f6L, "-174326", "%ld",
-__LINE__, 0x13bb9722L, "331061026", "%0d",
-__LINE__, 0x00063c71L, "63c71", "%x",
-__LINE__, 0xfffffe37L, "FFFFFE37", "%.1X",
-__LINE__, 0xffff7b3eL, "ffff7b3e", "%+.1x",
-__LINE__, 0x005eeab1L, "5eeab1", "%+x",
-__LINE__, 0xffc69e99L, "ffc69e99", "%x",
-__LINE__, -0x000005cL, " -92", "%5ld",
-__LINE__, 0x07d8fa8aL, "7d8fa8a", "%x",
-__LINE__, 0x00030e0aL, "200202", "%-4.1d",
-__LINE__, 0x00001dc1L, "1DC1", "%.0X",
-__LINE__, 0x00000008L, "8", "%0ld",
-__LINE__, -0x01b5397L, "-1790871", "%3.d",
-__LINE__, 0x27fbb4b5L, "27fbb4b5", "%x",
-__LINE__, -0xe3fdcfcL, "-239066364", "%4ld",
-__LINE__, 0x0008bcb1L, "8bcb1", "%0x",
-__LINE__, 0xffff039eL, "ffff039e", "%.6x",
-__LINE__, 0x000d0bd4L, "d0bd4", "%-x",
-__LINE__, 0x00000000L, "+0", "%+d",
-__LINE__, -0x2a49ea4L, "-44342948", "%1d",
-__LINE__, -0x0000055L, "-85", "%0d",
-__LINE__, -0x0000a05L, "-2565", "%3.3ld",
-__LINE__, -0x000000bL, "-11 ", "%-4d",
-__LINE__, 0xfff30444L, "FFF30444", "%7.X",
-__LINE__, 0x0000003fL, "63", "%-0d",
-__LINE__, 0x00046779L, "46779", "%X",
-__LINE__, 0x000028d7L, " 0X28D7", "%#7.X",
-__LINE__, 0x00000019L, " 19", "%5x",
-__LINE__, 0x0032291dL, "3287325", "%2.ld",
-__LINE__, 0x00057afaL, "57AFA", "%X",
-__LINE__, 0xfffe8c64L, "fffe8c64", "%3.4x",
-__LINE__, -0x624110d6L, "-1648431318", "%+6d",
-__LINE__, 0x0000001aL, " 26", "% 5.d",
-__LINE__, 0xfffffffdL, "FFFFFFFD", "%6.X",
-__LINE__, 0x00199490L, "1676432", "%-1d",
-__LINE__, -0xfff8265L, "-268403301", "%-0ld",
-__LINE__, 0x0000000eL, "e", "%-x",
-__LINE__, 0x00c38aecL, "c38aec", "%x",
-__LINE__, -0x00658f4L, "-415988", "%#ld",
-__LINE__, 0x0066ac4eL, "6728782", "%0d",
-__LINE__, 0xc4a808d5L, "c4a808d5", "%x",
-__LINE__, 0x00000000L, " 0", "%6.1x",
-__LINE__, 0x00066d24L, "66d24", "%x",
-__LINE__, 0x00002117L, "2117", "%X",
-__LINE__, 0xfe06fdf4L, "FE06FDF4", "%0X",
-__LINE__, 0xfffffff9L, "fffffff9", "%x",
-__LINE__, 0x1c6bb795L, "+476821397", "%+d",
-__LINE__, 0xfffffba4L, "FFFFFBA4", "%X",
-__LINE__, 0xfffd7d44L, "fffd7d44", "%0x",
-__LINE__, 0x0019dd17L, "1694999", "%d",
-__LINE__, 0x6475851eL, "0x6475851e", "% #7.x",
-__LINE__, -0x00330d5L, "-209109", "%0ld",
-__LINE__, 0x009f53f7L, "09F53F7", "%+6.7X",
-__LINE__, -0x00172f9L, " -94969", "%7.5ld",
-__LINE__, 0xffffffdcL, "FFFFFFDC", "%X",
-__LINE__, -0x013bdecL, "-1293804", "%+#2ld",
-__LINE__, 0xfff845c0L, "fff845c0", "%+7.x",
-__LINE__, -0x0fbe712L, "-16508690", "%.7d",
-__LINE__, 0xffffe13fL, "ffffe13f", "%x",
-__LINE__, 0xbbc19951L, "BBC19951", "%-4X",
-__LINE__, -0x28d6d1bL, "-42822939", "%#d",
-__LINE__, -0x93cda6bL, "-154983019", "%-d",
-__LINE__, 0xffc93342L, "FFC93342", "%7.X",
-__LINE__, 0x072ac8b3L, " 120244403", "% ld",
-__LINE__, 0xfff8d17bL, "FFF8D17B", "% X",
-__LINE__, 0x00000da5L, "DA5", "%0.X",
-__LINE__, 0x055ad3acL, "0x55ad3ac", "%#1x",
-__LINE__, 0x00000e5aL, " 3674", "% .4ld",
-__LINE__, 0xffffff79L, "FFFFFF79", "%+X",
-__LINE__, 0xffffe167L, "ffffe167", "%+5x",
-__LINE__, 0x0000fa50L, "0064080", "%.7ld",
-__LINE__, 0x00000001L, "1", "%-d",
-__LINE__, 0xfffffffeL, "fffffffe", "%x",
-__LINE__, 0x000009acL, " 2476", "% #2.ld",
-__LINE__, 0x00000e78L, "0003704", "%.7ld",
-__LINE__, -0x000dfc3L, "-57283", "%6.d",
-__LINE__, 0x00000ee0L, "EE0", "%0X",
-__LINE__, -0x293703b3L, "-691471283", "%ld",
-__LINE__, 0x000073e8L, " 73e8", "%6x",
-__LINE__, 0xffffdffdL, "ffffdffd", "%5.5x",
-__LINE__, 0x00000004L, "4", "%+00.x",
-__LINE__, 0x00000008L, "0X8", "%#X",
-__LINE__, 0x0003044cL, "3044c", "%0x",
-__LINE__, 0xffc2095eL, "FFC2095E", "%0X",
-__LINE__, 0x00000aacL, "0002732", "%-.7ld",
-__LINE__, 0xffffff79L, "FFFFFF79", "%+1.X",
-__LINE__, 0x53a0f94aL, " 1403058506", "% 2.4ld",
-__LINE__, 0x000e928dL, "e928d", "%x",
-__LINE__, 0x0024127aL, "2364026", "%5.d",
-__LINE__, 0x000f7c1cL, " 1014812", "% 2.d",
-__LINE__, -0x000003dL, "-61 ", "%-#4ld",
-__LINE__, -0x0000122L, "-290", "%+ld",
-__LINE__, 0x00000006L, "+6", "%+0d",
-__LINE__, 0x00000129L, " 000129", "%7.6X",
-__LINE__, 0x15d873e5L, " 366506981", "% 5.7d",
-__LINE__, 0x00000001L, "1", "%d",
-__LINE__, 0x038d6110L, "+59597072", "%+d",
-__LINE__, 0x0f46ccc3L, "256298179", "%-1.4d",
-__LINE__, 0xfe434d21L, "fe434d21", "%x",
-__LINE__, -0x179797d7L, "-395810775", "%d",
-__LINE__, 0xe35807bfL, "e35807bf", "%x",
-__LINE__, 0x00000003L, " +3", "%+7d",
-__LINE__, 0x017e699eL, "25061790", "%#ld",
-__LINE__, -0x0000029L, "-41", "%d",
-__LINE__, 0xffffff11L, "ffffff11", "%1.x",
-__LINE__, -0x0001bf6L, "-7158", "%+0ld",
-__LINE__, 0xffffff4bL, "FFFFFF4B", "%4X",
-__LINE__, -0x0000040L, "-64", "%ld",
-__LINE__, 0x000034d6L, "+13526", "%+ld",
-__LINE__, 0xffffffa7L, "ffffffa7", "%x",
-__LINE__, 0xfffffe8eL, "fffffe8e", "%+.3x",
-__LINE__, 0x00000000L, "0", "%0.1d",
-__LINE__, -0x007cdf1L, "-511473", "%ld",
-__LINE__, 0xfffffeefL, "FFFFFEEF", "%-X",
-__LINE__, 0x00002d91L, "2d91", "%x",
-__LINE__, -0x000025bL, "-603", "%#ld",
-__LINE__, -0x000001bL, "-27", "%-ld",
-__LINE__, 0x042b6752L, "42B6752", "%+X",
-__LINE__, -0x75afb0a6L, "-1974448294", "% ld",
-__LINE__, -0x0000001L, "-1", "%ld",
-__LINE__, 0x00000542L, " 1346", "%6d",
-__LINE__, -0x0000010L, "-16", "%+0d",
-__LINE__, 0xfffed8f7L, "FFFED8F7", "%5.X",
-__LINE__, 0x0541852eL, "541852e", "% 2.x",
-__LINE__, 0xff22aec3L, "ff22aec3", "% .1x",
-__LINE__, 0x5e34b745L, "1580513093", "%ld",
-__LINE__, 0xfffffff3L, "fffffff3", "%x",
-__LINE__, 0x0eda7b86L, "+249199494", "%+.3d",
-__LINE__, 0xffffe40fL, "ffffe40f", "%+x",
-__LINE__, -0x0003484L, "-13444", "%-1.5ld",
-__LINE__, 0x0000334bL, " 13131", "%6.ld",
-__LINE__, -0x0000149L, "-329", "%ld",
-__LINE__, 0x00000001L, " 001", "% 5.3x",
-__LINE__, 0xffeaa035L, "ffeaa035", "%+3.5x",
-__LINE__, 0x00211dffL, "2170367", "%ld",
-__LINE__, 0x007e91f4L, "7e91f4", "%x",
-__LINE__, 0xfffffffcL, "0xfffffffc", "%+#5x",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%6.X",
-__LINE__, 0x0156a9b5L, "156a9b5", "%x",
-__LINE__, 0xfffffe58L, "fffffe58", "%+x",
-__LINE__, 0xffff8c66L, "FFFF8C66", "%.0X",
-__LINE__, 0x00000000L, "0", "%d",
-__LINE__, 0x00000005L, " 5", "%7.d",
-__LINE__, -0x0000002L, "-2", "%ld",
-__LINE__, 0x000076b9L, " 30393", "% ld",
-__LINE__, 0x00003824L, "3824", "%4X",
-__LINE__, 0x00000cdfL, " CDF", "% 7X",
-__LINE__, 0x017c9e8fL, "17C9E8F", "%-X",
-__LINE__, -0x20f582dL, "-34560045", "%-.5d",
-__LINE__, 0x0000732eL, " 29486", "% 7.ld",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%+0X",
-__LINE__, 0xf379a4a2L, "F379A4A2", "% .7X",
-__LINE__, -0x0000028L, "-40", "%-d",
-__LINE__, 0xe73cf79eL, "e73cf79e", "%x",
-__LINE__, 0x00000002L, " 2", "%7ld",
-__LINE__, -0x00029b1L, "-10673", "%-#1.ld",
-__LINE__, -0x0002a58L, "-10840", "%3.d",
-__LINE__, 0x00000002L, "2", "%-X",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%X",
-__LINE__, -0x000003aL, " -58", "%5ld",
-__LINE__, 0x0245ef3bL, "245ef3b", "%.3x",
-__LINE__, 0x00026ccaL, "158922", "%-06.3ld",
-__LINE__, 0x01016fd3L, "16871379", "%-d",
-__LINE__, 0x000016fcL, "5884", "%0ld",
-__LINE__, -0x00007fbL, " -2043", "%7.3d",
-__LINE__, 0xfff73d3cL, "fff73d3c", "%0x",
-__LINE__, -0x0000110L, "-272", "% 04.3d",
-__LINE__, 0x0000000eL, " 014", "% 04ld",
-__LINE__, -0x0000039L, "-57", "%.0ld",
-__LINE__, 0x00000c95L, "c95", "%0x",
-__LINE__, 0xffff3b2eL, "ffff3b2e", "%x",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%X",
-__LINE__, 0x00000015L, "21", "%.1d",
-__LINE__, 0x0000000cL, "+12", "%+ld",
-__LINE__, 0x00000000L, "0", "%+X",
-__LINE__, 0xfffc9a14L, "fffc9a14", "%-.5x",
-__LINE__, 0x0000003cL, "60", "%.2ld",
-__LINE__, -0x0000023L, " -35", "%6.d",
-__LINE__, 0x00000740L, "1856", "%ld",
-__LINE__, 0x00000160L, "160", "% 3.X",
-__LINE__, 0x00000006L, " 6", "%5.X",
-__LINE__, -0x0000677L, "-1655", "%.3ld",
-__LINE__, 0x12709c7eL, "12709C7E", "%.7X",
-__LINE__, 0x0000090fL, "+2319", "%+#d",
-__LINE__, 0xffffffe0L, "0xffffffe0", "%#4.1x",
-__LINE__, 0x00132ce0L, "1256672", "%ld",
-__LINE__, 0x00000059L, "59", "%+X",
-__LINE__, -0x0000017L, "-23", "%0d",
-__LINE__, -0x01fade6L, "-2076134", "%-4.3ld",
-__LINE__, 0x000df3faL, "914426", "%.5ld",
-__LINE__, 0xfffffd0fL, "fffffd0f", "%7x",
-__LINE__, -0x000c212L, "-49682", "%0.1ld",
-__LINE__, 0xffff8bcbL, "FFFF8BCB", "%.3X",
-__LINE__, 0x0000000aL, "a", "% x",
-__LINE__, 0x00000021L, "21", "%x",
-__LINE__, -0x0000040L, "-64", "% 1ld",
-__LINE__, 0x00000009L, " 9", "%6.ld",
-__LINE__, -0x0000d67L, "-3431", "% 5.3d",
-__LINE__, 0x03a85f1bL, "61366043", "%ld",
-__LINE__, 0x00000035L, "000053", "%0.6d",
-__LINE__, 0xfffda5cbL, "fffda5cb", "%+x",
-__LINE__, 0xffffff78L, "FFFFFF78", "%-7.0X",
-__LINE__, 0xfffffd6dL, "fffffd6d", "%7.x",
-__LINE__, 0xfffffc08L, "fffffc08", "%7.3x",
-__LINE__, 0x00003335L, " 13109", "% #d",
-__LINE__, -0x0000002L, " -2", "%5.d",
-__LINE__, -0x13767a48L, "-326531656", "%+ld",
-__LINE__, 0x00000be5L, "3045", "%4.0ld",
-__LINE__, 0xfffdb28cL, "FFFDB28C", "%X",
-__LINE__, 0x00127118L, "1208600", "%ld",
-__LINE__, 0x00000086L, " 134", "% ld",
-__LINE__, 0x0002214cL, "2214c", "%+x",
-__LINE__, 0x0000a0c2L, " a0c2", "%5.0x",
-__LINE__, -0x000007cL, "-124", "%ld",
-__LINE__, 0x0000012aL, "00298", "%3.5d",
-__LINE__, 0xfd4f1257L, "FD4F1257", "%+2.X",
-__LINE__, 0xffffd8aaL, "ffffd8aa", "%5x",
-__LINE__, -0x00000a7L, "-167", "%+ld",
-__LINE__, -0x0009c69L, "-40041", "%0.0ld",
-__LINE__, 0x02230418L, "35849240", "%-0.6ld",
-__LINE__, 0x00000000L, " 0", "%6x",
-__LINE__, 0xfffff184L, "fffff184", "%02.5x",
-__LINE__, -0x0ae967bL, "-11441787", "%d",
-__LINE__, 0x0015de3aL, "1433146", "%-5.3d",
-__LINE__, -0x0071e93L, "-466579", "%1.ld",
-__LINE__, 0xfffff8bdL, "fffff8bd", "%+x",
-__LINE__, -0x00000e4L, "-228", "%+ld",
-__LINE__, 0x000001d8L, " 472", "% .3ld",
-__LINE__, 0x00315faaL, "315faa", "%-0x",
-__LINE__, 0x00000e59L, "e59", "%0x",
-__LINE__, -0x0000005L, "-5", "%ld",
-__LINE__, 0x000018ecL, "6380", "%ld",
-__LINE__, 0xfffffff9L, "fffffff9", "%5.2x",
-__LINE__, -0xe7cfd39L, "-243072313", "%-d",
-__LINE__, 0x0002c30bL, "2C30B", "%1.2X",
-__LINE__, 0x0000007aL, "7A", "%X",
-__LINE__, 0xf604ecb2L, "F604ECB2", "%2X",
-__LINE__, -0x05f602cL, "-6250540", "%d",
-__LINE__, 0xffff9c86L, "ffff9c86", "%2.x",
-__LINE__, -0x00d7f55L, "-884565", "%#d",
-__LINE__, 0xd2a37824L, "D2A37824", "%4X",
-__LINE__, 0x00000000L, "", "%-.0x",
-__LINE__, 0x000d4b51L, "0d4b51", "%3.6x",
-__LINE__, 0x000ecd97L, "ecd97", "% x",
-__LINE__, -0x0000018L, "-024", "%+04ld",
-__LINE__, -0x009f292L, "-651922", "%ld",
-__LINE__, -0x0002da9L, "-11689", "%-0ld",
-__LINE__, -0x000a218L, "-41496", "%4.5d",
-__LINE__, 0xffff85acL, "FFFF85AC", "% 04.X",
-__LINE__, -0x0d9ffbeL, "-14286782", "%0d",
-__LINE__, 0xfb18cc8eL, "fb18cc8e", "%x",
-__LINE__, 0xffffe5d3L, "FFFFE5D3", "%-X",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, -0x0000006L, "-6", "% d",
-__LINE__, 0x0002fc62L, "2fc62", "% 03.x",
-__LINE__, 0x00000000L, "00", "%.2d",
-__LINE__, -0x00000fdL, " -253", "%6ld",
-__LINE__, -0x000000bL, "-11", "%d",
-__LINE__, -0x00042a3L, "-17059", "% 6d",
-__LINE__, 0x00000002L, "2", "% X",
-__LINE__, -0x61ead93eL, "-1642780990", "%-0d",
-__LINE__, 0xf2e61f6dL, "f2e61f6d", "%-.4x",
-__LINE__, 0xffd31b93L, "ffd31b93", "%x",
-__LINE__, -0x0000008L, "-8", "%ld",
-__LINE__, 0xffffffffL, "ffffffff", "%00x",
-__LINE__, 0x000000fbL, "+000251", "%+2.6d",
-__LINE__, 0x00000015L, " 15", "%4.X",
-__LINE__, 0x06ec6d96L, "6EC6D96", "%+2.X",
-__LINE__, 0xffff1df7L, "0xffff1df7", "% #1x",
-__LINE__, -0x000004bL, "-75", "%-ld",
-__LINE__, 0x00000008L, "8", "%#.0d",
-__LINE__, 0x00001355L, "4949", "%3.4ld",
-__LINE__, -0x00000f7L, "-247", "%d",
-__LINE__, 0x0000001fL, "31", "%.2ld",
-__LINE__, 0x0000d556L, "D556", "%-X",
-__LINE__, 0xffffd5a5L, "ffffd5a5", "% x",
-__LINE__, -0x0000e34L, "-3636", "%#d",
-__LINE__, -0x0000007L, "-7", "%d",
-__LINE__, 0x01ba10a4L, "1ba10a4", "%x",
-__LINE__, 0xfffff759L, "FFFFF759", "% X",
-__LINE__, -0x80d0adbL, "-135072475", "%d",
-__LINE__, 0x0002bf61L, "2bf61", "%x",
-__LINE__, 0xffff008bL, "FFFF008B", "%-7X",
-__LINE__, 0x00000e72L, "E72", "%X",
-__LINE__, -0x00000eaL, "-234", "%0ld",
-__LINE__, -0x0007b9dL, "-0031645", "%0.7ld",
-__LINE__, 0x0001baaaL, "0X1BAAA", "%#4X",
-__LINE__, 0x0000a57fL, " a57f", "%6.x",
-__LINE__, -0x21a73726L, "-564606758", "%ld",
-__LINE__, 0x06f45c9fL, "0x6f45c9f", "%#.3x",
-__LINE__, 0x00018e5dL, "101981", "%-d",
-__LINE__, 0x0001e69aL, "124570", "%-d",
-__LINE__, -0x0000d26L, " -3366", "% 07.d",
-__LINE__, 0x00000000L, "+", "%+0.ld",
-__LINE__, 0x00003916L, "14614", "%ld",
-__LINE__, 0xfffffd8fL, "fffffd8f", "%-3.x",
-__LINE__, 0x00000011L, "11", "%x",
-__LINE__, 0x000000e7L, "E7", "%X",
-__LINE__, 0xfdf9d89bL, "FDF9D89B", "%X",
-__LINE__, 0x00000a7cL, "a7c", "%x",
-__LINE__, 0x0000003fL, "00003F", "%.6X",
-__LINE__, 0xffffe729L, "FFFFE729", "%X",
-__LINE__, 0xfffffffeL, "fffffffe", "% .6x",
-__LINE__, -0x0000a4bL, "-2635", "%+d",
-__LINE__, 0xffffff50L, "ffffff50", "%0.7x",
-__LINE__, 0xfaf57e8bL, "faf57e8b", "% 4.x",
-__LINE__, -0x0000056L, "-86", "%ld",
-__LINE__, 0x08ed2a4dL, "8ed2a4d", "%4x",
-__LINE__, 0xff8d9081L, "FF8D9081", "%+0.X",
-__LINE__, 0x002730a1L, "2568353", "%4d",
-__LINE__, 0xffff9564L, "ffff9564", "%x",
-__LINE__, -0x0000006L, " -6", "%4ld",
-__LINE__, -0x19890310L, "-428409616", "%0ld",
-__LINE__, 0xd2ce636cL, "d2ce636c", "%+x",
-__LINE__, -0x00001feL, "-510", "%d",
-__LINE__, 0x00000006L, "0000006", "%+0.7x",
-__LINE__, 0xffffffc2L, "0XFFFFFFC2", "%-#.5X",
-__LINE__, -0x00000fdL, "-253", "%+d",
-__LINE__, 0x000216aaL, "0x216aa", "%#x",
-__LINE__, 0xffe36c66L, "ffe36c66", "%x",
-__LINE__, 0x00000002L, "2", "%x",
-__LINE__, -0x0000025L, "-37", "% d",
-__LINE__, 0x0000007eL, "126", "%d",
-__LINE__, 0x0003c1f9L, "+246265", "%+ld",
-__LINE__, 0x00000001L, "1", "%ld",
-__LINE__, -0x0000001L, "-1", "%ld",
-__LINE__, -0x00539e7L, "-342503", "%06.ld",
-__LINE__, 0x00000d42L, " 3394", "%#6.ld",
-__LINE__, 0xf73b7c4eL, "F73B7C4E", "%X",
-__LINE__, 0x00000022L, "22", "%.1x",
-__LINE__, 0xffffa883L, "FFFFA883", "%X",
-__LINE__, 0x016ec247L, "16ec247", "%x",
-__LINE__, 0x00000019L, "19", "%+X",
-__LINE__, 0x0000665aL, "665A", "% 2.X",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%-5.X",
-__LINE__, 0x008e3fbcL, "8E3FBC", "%X",
-__LINE__, 0xfffffffaL, "FFFFFFFA", "%X",
-__LINE__, 0x1b806597L, "461399447", "%.2d",
-__LINE__, 0x00000366L, "0000870", "%#1.7ld",
-__LINE__, 0x0001d92eL, "1d92e", "%x",
-__LINE__, 0x000104ceL, "104CE", "%-X",
-__LINE__, 0xfffffe4cL, "fffffe4c", "%x",
-__LINE__, 0x000000e9L, "E9", "%X",
-__LINE__, 0x000a855cL, " 689500", "% d",
-__LINE__, 0x00000075L, "75", "% X",
-__LINE__, -0x0000026L, "-38", "%ld",
-__LINE__, 0xfffff169L, "fffff169", "%-04.2x",
-__LINE__, 0xffffff6fL, "ffffff6f", "%x",
-__LINE__, 0x00000003L, "0x3", "%#x",
-__LINE__, 0x00623babL, "6437803", "%.0d",
-__LINE__, -0x2260224cL, "-576725580", "%ld",
-__LINE__, 0xe7e7a998L, "E7E7A998", "%.1X",
-__LINE__, 0x00000005L, "5", "%X",
-__LINE__, 0x0000b560L, "0xb560", "%#x",
-__LINE__, 0xfe11854dL, "fe11854d", "%-.5x",
-__LINE__, 0x00190014L, "1638420", "%ld",
-__LINE__, 0x0001d22aL, "0X1D22A", "%-#X",
-__LINE__, 0x00000c16L, "c16", "%2x",
-__LINE__, 0x00000d1aL, "3354", "%#d",
-__LINE__, 0x000165f6L, "91638", "%d",
-__LINE__, 0xfffff557L, "0XFFFFF557", "%#X",
-__LINE__, 0x00000588L, " 588", "%07.X",
-__LINE__, 0xf4a72708L, "f4a72708", "%x",
-__LINE__, 0xfff1cba9L, "0xfff1cba9", "% #2.5x",
-__LINE__, 0x000333a4L, "209828", "%d",
-__LINE__, 0x0000179bL, "179B", "% 2.X",
-__LINE__, 0x00000460L, "1120", "%0ld",
-__LINE__, 0xffffff89L, "FFFFFF89", "%X",
-__LINE__, -0x0000012L, "-18", "%ld",
-__LINE__, 0x00004fe0L, "20448", "%0.d",
-__LINE__, 0x00532e77L, "532e77", "%00.x",
-__LINE__, 0xf7b92efeL, "f7b92efe", "%0x",
-__LINE__, -0x0000243L, "-579", "%+1.d",
-__LINE__, 0x34894bb7L, "+881413047", "%+d",
-__LINE__, 0xfffaa189L, "FFFAA189", "% 6X",
-__LINE__, -0x0000579L, "-1401", "%+ld",
-__LINE__, 0x005acb12L, "5acb12", "%5.0x",
-__LINE__, 0xffff890aL, "FFFF890A", "%X",
-__LINE__, 0x010dff2fL, "10DFF2F", "%.7X",
-__LINE__, 0x00005a7fL, "23167", "%#ld",
-__LINE__, 0x000005e3L, "1507", "%#3d",
-__LINE__, -0xa815bcbL, "-176249803", "%d",
-__LINE__, 0xffffffffL, "ffffffff", "%+x",
-__LINE__, 0xfffe0ff7L, "fffe0ff7", "%3x",
-__LINE__, 0xffffffffL, "0XFFFFFFFF", "%#2.1X",
-__LINE__, -0x1cc5ea52L, "-482732626", "%6.d",
-__LINE__, 0x000425edL, "+0271853", "%+.7d",
-__LINE__, 0x00000001L, "1", "%+x",
-__LINE__, -0x48f2a72L, "-76491378", "%7.0d",
-__LINE__, 0xfffffff7L, "FFFFFFF7", "% 0X",
-__LINE__, 0xfd8ffc0aL, "fd8ffc0a", "%.1x",
-__LINE__, 0x0001f56dL, " 1F56D", "%+7.2X",
-__LINE__, 0x000000dbL, " DB", "%6.X",
-__LINE__, 0xffffffc2L, "ffffffc2", "%x",
-__LINE__, 0x00000001L, "001", "%03ld",
-__LINE__, 0xffd89f58L, "ffd89f58", "% 0.x",
-__LINE__, 0xfe1a72fcL, "fe1a72fc", "%x",
-__LINE__, 0xfffff9b6L, "FFFFF9B6", "%X",
-__LINE__, 0x00243633L, "243633", "%X",
-__LINE__, 0x00821bc7L, "+8526791", "%+#0ld",
-__LINE__, 0xfe63f348L, "0XFE63F348", "%#3X",
-__LINE__, 0xff729f19L, "ff729f19", "%4x",
-__LINE__, 0xffff570fL, "FFFF570F", "%+X",
-__LINE__, 0x00a57a42L, "10844738", "%6.3d",
-__LINE__, 0xfe4a3ed0L, "FE4A3ED0", "%6.X",
-__LINE__, 0x00000000L, "0", "%d",
-__LINE__, 0x000001bbL, "01bb", "% .4x",
-__LINE__, 0x02b4a1e9L, "2b4a1e9", "%-7.x",
-__LINE__, 0x31750683L, "31750683", "%x",
-__LINE__, 0x00001cd7L, "7383", "%#ld",
-__LINE__, 0x0000079dL, "1949", "%d",
-__LINE__, 0xffb8ff3bL, "FFB8FF3B", "%X",
-__LINE__, 0x00a768b6L, "0A768B6", "%-6.7X",
-__LINE__, 0x1c665b48L, "0X1C665B48", "% #X",
-__LINE__, -0x000037dL, "-000893", "%3.6d",
-__LINE__, 0x29890443L, "29890443", "%+0x",
-__LINE__, 0x000000e5L, "e5 ", "%-4x",
-__LINE__, 0xfff2b5faL, "FFF2B5FA", "%X",
-__LINE__, -0x5d32c2bL, "-97725483", "%05ld",
-__LINE__, -0x00016c5L, " -05829", "%+#7.5ld",
-__LINE__, 0x00000644L, "644", "%X",
-__LINE__, -0x018c027L, "-1622055", "%+.1d",
-__LINE__, 0x0000013cL, "0x13c", "%#x",
-__LINE__, 0x00000009L, "+9", "%+#ld",
-__LINE__, 0x00000000L, "0", "%ld",
-__LINE__, -0x018eb19L, "-1633049", "%4.3ld",
-__LINE__, 0xfffff429L, "FFFFF429", "% X",
-__LINE__, 0x0032de67L, "32DE67", "%X",
-__LINE__, 0x0016bdfaL, " 1490426", "% .2ld",
-__LINE__, 0x00000065L, "65", "%+.0X",
-__LINE__, 0x00000072L, " 72", "%+4.2X",
-__LINE__, 0x00075119L, "75119", "%2x",
-__LINE__, 0x000000b8L, "b8", "%x",
-__LINE__, 0x000000d0L, "d0", "%x",
-__LINE__, 0x000000b9L, "b9", "%x",
-__LINE__, 0x003fda9dL, " 4184733", "% #3.d",
-__LINE__, 0x00029a24L, "170532", "%4.d",
-__LINE__, -0x132a337dL, "-321532797", "% ld",
-__LINE__, 0x0000047aL, "0X47A", "%-#X",
-__LINE__, 0x00000000L, "0", "%-ld",
-__LINE__, -0x0d9750bL, "-14251275", "% ld",
-__LINE__, 0x00029d6cL, "29d6c", "%x",
-__LINE__, 0xfb060cc0L, "fb060cc0", "%x",
-__LINE__, 0xffffd524L, "0XFFFFD524", "%#X",
-__LINE__, 0xffffff30L, "ffffff30", "%-5x",
-__LINE__, 0x00001650L, "0005712", "%#0.7d",
-__LINE__, 0x0000b702L, "0B702", "%03.5X",
-__LINE__, 0x000003c1L, "3c1", "% .1x",
-__LINE__, -0x0290412L, "-2688018", "%d",
-__LINE__, -0x00008bfL, "-2239", "%#d",
-__LINE__, -0x0000001L, "-1", "%d",
-__LINE__, 0x0001d750L, "1D750", "%-X",
-__LINE__, 0x006eee92L, "6EEE92", "%-X",
-__LINE__, 0xff812b02L, "ff812b02", "%0x",
-__LINE__, 0xfffffeacL, "FFFFFEAC", "%+0X",
-__LINE__, 0x000003a5L, "3a5", "%x",
-__LINE__, -0x15270ceeL, "-354880750", "%2.ld",
-__LINE__, 0x06b686d2L, "6b686d2", "%0x",
-__LINE__, 0xffe9cdccL, "ffe9cdcc", "%x",
-__LINE__, 0x0ecb168eL, "ecb168e", "%x",
-__LINE__, 0x00000051L, "51", "%-X",
-__LINE__, -0x0018860L, "-100448", "%-0d",
-__LINE__, 0x8f08b82bL, "0x8f08b82b", "%-#.5x",
-__LINE__, 0xffffffffL, "ffffffff", "%x",
-__LINE__, 0x0000000eL, "e", "%+01x",
-__LINE__, 0x04cf15bcL, " 80680380", "% #ld",
-__LINE__, 0x50006e8aL, "50006e8a", "%x",
-__LINE__, 0x0002f669L, "194153", "%0d",
-__LINE__, 0x000000a6L, " 166", "% 5.ld",
-__LINE__, -0x04036bbL, "-4208315", "%7.5d",
-__LINE__, 0x00070deaL, "70DEA", "%+X",
-__LINE__, 0x00000964L, "0x964", "%#x",
-__LINE__, 0x0000004dL, "0x4d", "% #3.x",
-__LINE__, -0x0000001L, "-1", "%-0d",
-__LINE__, 0x0000043eL, "1086", "%ld",
-__LINE__, -0x0000001L, "-1", "%-d",
-__LINE__, 0x00000000L, "+0", "%+d",
-__LINE__, 0xfffe68d9L, "FFFE68D9", "%7.X",
-__LINE__, -0x0169199L, "-1479065", "%#.5ld",
-__LINE__, -0x000003dL, "-61", "%ld",
-__LINE__, 0x00000001L, "+1", "%+.1d",
-__LINE__, 0x0001a65dL, "1a65d", "%.5x",
-__LINE__, 0x00000141L, "+000321", "%+#5.6ld",
-__LINE__, 0x00000000L, " 0", "%4x",
-__LINE__, 0x00000408L, "1032", "%-2.3ld",
-__LINE__, 0xffffffedL, "FFFFFFED", "%-X",
-__LINE__, 0xfe832351L, "FE832351", "% .4X",
-__LINE__, 0x003a421bL, "3A421B", "%-X",
-__LINE__, -0x53ed7f25L, "-1408073509", "%ld",
-__LINE__, -0x0000003L, "-0003", "%-5.4ld",
-__LINE__, 0x00000ad0L, " 2768", "%7d",
-__LINE__, 0xfffaf30bL, "FFFAF30B", "%X",
-__LINE__, 0x006349d3L, " 6506963", "% 6.2ld",
-__LINE__, 0x07f0146aL, "7f0146a", "%+3.4x",
-__LINE__, -0x0000002L, " -2", "% 3.ld",
-__LINE__, -0x26e94f3L, "-40801523", "%-#ld",
-__LINE__, -0x0000004L, " -004", "%7.3d",
-__LINE__, 0xfffe8cc9L, "FFFE8CC9", "%0X",
-__LINE__, 0x00000018L, " 18", "%5.x",
-__LINE__, -0x4941de83L, "-1229053571", "% 0.5ld",
-__LINE__, 0x00000000L, " 0", "%6ld",
-__LINE__, 0xfffffffeL, "0XFFFFFFFE", "%-#X",
-__LINE__, -0x0142ae1L, "-1321697", "%4.ld",
-__LINE__, -0x0319e7fL, "-3251839", "%0ld",
-__LINE__, 0x000004ffL, " 4FF", "%7.2X",
-__LINE__, -0x0001c3eL, "-7230", "%#.2ld",
-__LINE__, 0xffffe522L, "ffffe522", "%x",
-__LINE__, 0x0001d1cbL, "+119243", "%+.3ld",
-__LINE__, 0xfad19d52L, "FAD19D52", "%+X",
-__LINE__, 0x00002a7cL, " 10876", "% 0.ld",
-__LINE__, 0x00001449L, "1449", "%X",
-__LINE__, 0x000732b8L, "471736", "%d",
-__LINE__, -0x211a496eL, "-555370862", "%ld",
-__LINE__, -0x0000004L, "-4", "%1.d",
-__LINE__, 0x0295c03dL, "43368509", "%5.ld",
-__LINE__, 0x01fa5722L, "33183522", "%0ld",
-__LINE__, 0xfffbff62L, "0xfffbff62", "%#x",
-__LINE__, 0x000000f5L, " 245", "% 2.d",
-__LINE__, 0x000000a0L, "160", "%-d",
-__LINE__, 0x0000000fL, "15", "%.2ld",
-__LINE__, 0x0bf5f077L, "+200667255", "%+ld",
-__LINE__, -0x14d3e5aL, "-21839450", "%#2.3d",
-__LINE__, -0x21cbe656L, "-567010902", "%ld",
-__LINE__, 0x000002b9L, "697", "%ld",
-__LINE__, 0xfffff9b0L, "FFFFF9B0", "%X",
-__LINE__, 0x007fd9c7L, "8378823", "%3.4d",
-__LINE__, 0x00036d06L, "36d06", "%x",
-__LINE__, 0xffde8052L, "FFDE8052", "%4.6X",
-__LINE__, 0x0000000dL, "13", "%#d",
-__LINE__, 0x68157d93L, "68157d93", "%x",
-__LINE__, 0x00000005L, "5", "%1x",
-__LINE__, 0xfffffff4L, "FFFFFFF4", "%X",
-__LINE__, 0xf5bbf7e9L, "f5bbf7e9", "%+.1x",
-__LINE__, 0x0be98f98L, "BE98F98", "%X",
-__LINE__, 0x00000122L, "00122", "%.5X",
-__LINE__, -0x0000936L, "-2358", "%+#3.0ld",
-__LINE__, 0xfd230f09L, "FD230F09", "%-7X",
-__LINE__, 0x00000089L, "137", "%ld",
-__LINE__, 0x00000078L, " 120", "%7d",
-__LINE__, -0x68ef2b6bL, "-1760504683", "%-ld",
-__LINE__, 0xc24480bbL, "C24480BB", "%+4X",
-__LINE__, 0xfefe36a2L, "FEFE36A2", "%0X",
-__LINE__, -0x35344baL, "-55788730", "%7.d",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%+.6X",
-__LINE__, -0x0000f40L, "-3904", "% ld",
-__LINE__, 0xfffffffbL, "FFFFFFFB", "%X",
-__LINE__, 0x58b37c4bL, "58b37c4b", "%2.2x",
-__LINE__, 0x000000e2L, "226", "%#ld",
-__LINE__, 0xfff5ebdeL, "fff5ebde", "%-7.1x",
-__LINE__, 0x0c6ea9beL, "208579006", "%-ld",
-__LINE__, 0xff708c74L, "FF708C74", "% 4.X",
-__LINE__, 0x00000000L, " 0", "% 3X",
-__LINE__, 0x00000004L, " 4", "%03.d",
-__LINE__, 0x0919be7cL, "+152682108", "%+6.d",
-__LINE__, 0x00d4fd1eL, "13958430", "%0d",
-__LINE__, 0xfe77a69eL, "fe77a69e", "%-7.x",
-__LINE__, 0x284ded44L, "676195652", "%-#2ld",
-__LINE__, -0x00006e6L, "-1766", "% ld",
-__LINE__, -0x7dac7eaL, "-131778538", "%.0ld",
-__LINE__, 0x0003c50fL, "247055", "%#d",
-__LINE__, 0xfffffffcL, "fffffffc", "%-x",
-__LINE__, 0xfe0f0d1fL, "fe0f0d1f", "% 5.1x",
-__LINE__, 0x00000009L, "9", "%0ld",
-__LINE__, -0x0175cc1L, "-1531073", "%-04.d",
-__LINE__, 0x000e4da2L, " 937378", "% 4.ld",
-__LINE__, 0x00000762L, "762", "%-0.X",
-__LINE__, 0x005211bfL, "5211bf", "%-x",
-__LINE__, 0xfffffffbL, "fffffffb", "%+2.6x",
-__LINE__, 0x00008862L, "34914", "%ld",
-__LINE__, 0xfffc9754L, "fffc9754", "%+x",
-__LINE__, 0x0000716eL, "716E", "%X",
-__LINE__, 0x000000a8L, "a8", "%x",
-__LINE__, 0xffff84f5L, "ffff84f5", "%0x",
-__LINE__, 0x00005032L, "5032", "%x",
-__LINE__, 0xffe242b4L, "ffe242b4", "%6x",
-__LINE__, 0x002df9bdL, "3013053", "%ld",
-__LINE__, 0xffffe267L, "FFFFE267", "%.5X",
-__LINE__, 0xffffffc7L, "0xffffffc7", "%#x",
-__LINE__, -0x1727c38L, "-24280120", "%d",
-__LINE__, 0x01308072L, "1308072", "%x",
-__LINE__, -0x5883c7cL, "-92814460", "%+ld",
-__LINE__, 0x000030adL, "30ad", "%x",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%X",
-__LINE__, -0x2090a708L, "-546350856", "% d",
-__LINE__, 0x0024e6b4L, "2418356", "%#ld",
-__LINE__, 0x02db71acL, "2DB71AC", "% 6.3X",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%2.7X",
-__LINE__, -0x000074eL, " -1870", "%7.ld",
-__LINE__, -0x0011d84L, "-73092", "%d",
-__LINE__, 0x00160723L, "160723", "%1.3x",
-__LINE__, 0x00412929L, "4270377", "%-d",
-__LINE__, -0x0008fc6L, "-36806", "% d",
-__LINE__, 0x00000002L, "2", "%d",
-__LINE__, 0x0eb67ffaL, "eb67ffa", "%.4x",
-__LINE__, 0x05b86c3cL, "95972412", "%4.4d",
-__LINE__, 0xffffca9cL, "FFFFCA9C", "% 4.X",
-__LINE__, 0x0007d571L, "7d571", "%-0x",
-__LINE__, -0x000239bL, "-09115", "%5.5d",
-__LINE__, -0x0000155L, " -341", "%5.3ld",
-__LINE__, 0x00000034L, "34", "%x",
-__LINE__, -0x0000051L, "-81", "%.1ld",
-__LINE__, 0x309bbbe0L, "309bbbe0", "%x",
-__LINE__, 0x0075be1eL, " 7716382", "% #ld",
-__LINE__, 0x000002d5L, "2d5", "%x",
-__LINE__, 0x006b466dL, "6B466D", "%-0X",
-__LINE__, 0x01d6c30fL, "1D6C30F", "%4.X",
-__LINE__, 0x00000003L, " 3", "%07.x",
-__LINE__, 0xfffcc102L, "FFFCC102", "%6.X",
-__LINE__, 0xffffffffL, "0XFFFFFFFF", "%#X",
-__LINE__, 0xfffffffeL, "fffffffe", "%+x",
-__LINE__, 0x00000005L, "5", "%ld",
-__LINE__, 0xff060284L, "ff060284", "%x",
-__LINE__, 0x007a3325L, "7A3325", "%-X",
-__LINE__, 0xf5f595bdL, "F5F595BD", "%0X",
-__LINE__, 0xfffa3a10L, "FFFA3A10", "%0X",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, -0x15078f9L, "-22051065", "%7d",
-__LINE__, -0x0000002L, "-000002", "%.6d",
-__LINE__, 0x00000036L, "54", "%1.1ld",
-__LINE__, -0xbbecf6aL, "-197054314", "%ld",
-__LINE__, 0x0000043dL, "43D", "%X",
-__LINE__, 0xfffffffaL, "0xfffffffa", "% #6.x",
-__LINE__, 0x016759f8L, "23550456", "%0.ld",
-__LINE__, 0x000052d2L, "+21202", "%+6.2d",
-__LINE__, -0x007d232L, "-512562", "%ld",
-__LINE__, 0x00240be0L, "2362336", "%.1d",
-__LINE__, -0x0000001L, "-1", "%0d",
-__LINE__, 0xfffffffaL, "FFFFFFFA", "%X",
-__LINE__, -0x0000e88L, "-3720", "%ld",
-__LINE__, 0xfffffa9bL, "FFFFFA9B", "%.5X",
-__LINE__, 0x09296eebL, "153710315", "%-1.0d",
-__LINE__, 0x001f46fcL, "0X1F46FC", "%#X",
-__LINE__, 0x00000006L, "6", "%X",
-__LINE__, 0xffffff87L, "0XFFFFFF87", "%+#X",
-__LINE__, 0x00000469L, "0469", "%04X",
-__LINE__, -0x0000001L, "-1", "%ld",
-__LINE__, 0x00000000L, "", "%.0ld",
-__LINE__, -0x52bc137L, "-86753591", "%-#3ld",
-__LINE__, -0x2bddb08L, "-45996808", "%-3.d",
-__LINE__, 0x041367f7L, "41367F7", "%+X",
-__LINE__, -0x0018eb5L, "-102069", "%+ld",
-__LINE__, -0x0000537L, "-1335", "%#ld",
-__LINE__, -0x6f159ff4L, "-1863688180", "%+1.d",
-__LINE__, 0x00112ac8L, "0X112AC8", "%#6.3X",
-__LINE__, 0x00000000L, " ", "%3.d",
-__LINE__, 0x0008afe8L, "08afe8", "%+3.6x",
-__LINE__, 0x00000015L, "21", "%ld",
-__LINE__, -0x02b7130L, "-2847024", "% #2.4d",
-__LINE__, 0xffffffd0L, "FFFFFFD0", "%X",
-__LINE__, -0x6970fa1L, "-110563233", "%+#.4ld",
-__LINE__, 0x06387dccL, "0X6387DCC", "%-#X",
-__LINE__, 0xffffd506L, "ffffd506", "%+6x",
-__LINE__, -0x00fe5cdL, "-1041869", "%-#7d",
-__LINE__, -0x0c35bf6L, "-12803062", "%-03d",
-__LINE__, -0x0020d89L, "-134537", "%#d",
-__LINE__, -0x0c7aed3L, "-13086419", "%-ld",
-__LINE__, -0x000362aL, "-13866", "%#.4ld",
-__LINE__, -0x02d05f0L, "-2950640", "%#ld",
-__LINE__, 0x02de1321L, "0x2de1321", "%#7.x",
-__LINE__, 0xffb56428L, "0xffb56428", "%#x",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%X",
-__LINE__, 0xf072292dL, "F072292D", "%.5X",
-__LINE__, -0x0f4b0f2L, "-16036082", "%.5ld",
-__LINE__, 0x01b81885L, "28842117", "%5d",
-__LINE__, -0x009cfa6L, "-642982", "%d",
-__LINE__, 0xfffffffdL, "0XFFFFFFFD", "%-#.5X",
-__LINE__, 0x0dc97a66L, "DC97A66", "%2.X",
-__LINE__, 0x000000beL, "190", "%.0d",
-__LINE__, 0xffffe1c7L, "FFFFE1C7", "% X",
-__LINE__, 0x01883b9aL, "1883b9a", "%3x",
-__LINE__, 0xffffdde1L, "ffffdde1", "%+x",
-__LINE__, 0x2f1b4e32L, "+790318642", "%+ld",
-__LINE__, 0x000129aaL, "129aa", "%x",
-__LINE__, -0x00092c2L, "-37570", "%d",
-__LINE__, 0x00070fbdL, "70fbd", "%x",
-__LINE__, -0x00000eaL, "-234", "%+4ld",
-__LINE__, 0xfffffffeL, "fffffffe", "%x",
-__LINE__, 0x0091c7f7L, "91C7F7", "% .3X",
-__LINE__, -0x0c14fe2L, "-12668898", "%d",
-__LINE__, -0x0017c15L, "-97301", "%d",
-__LINE__, -0x00005d0L, "-0001488", "%5.7d",
-__LINE__, 0x0114c36eL, "18137966", "%0d",
-__LINE__, 0xffffffffL, "ffffffff", "%+x",
-__LINE__, 0x0ac76e78L, "180842104", "%d",
-__LINE__, 0x001976cdL, " 1668813", "% 4.ld",
-__LINE__, -0x0642319L, "-6562585", "% d",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%X",
-__LINE__, -0x035019dL, "-3473821", "%.7d",
-__LINE__, -0x0000061L, "-97", "%#3.d",
-__LINE__, 0x0000001fL, " 31", "% 6.1ld",
-__LINE__, -0x0000024L, "-36", "%d",
-__LINE__, 0x000b3785L, "735109", "%ld",
-__LINE__, 0xfffffda9L, "fffffda9", "%-x",
-__LINE__, 0x00254832L, "2443314", "%-ld",
-__LINE__, 0xfffffd40L, "FFFFFD40", "%0X",
-__LINE__, -0x0006105L, "-24837", "%+#d",
-__LINE__, 0x00000006L, "+6", "%+d",
-__LINE__, 0xffd40fd8L, "ffd40fd8", "%3.x",
-__LINE__, -0x000988eL, "-39054", "%03d",
-__LINE__, 0x0005ad8bL, "5AD8B", "%0.0X",
-__LINE__, 0x00000001L, "1", "%d",
-__LINE__, 0xfe1f59b7L, "fe1f59b7", "%4.x",
-__LINE__, -0x0000022L, "-34", "%#d",
-__LINE__, 0x0018e3e9L, "18E3E9", "% X",
-__LINE__, 0xffffff25L, "FFFFFF25", "%2.X",
-__LINE__, -0x00002c6L, "-710", "%1.ld",
-__LINE__, 0x00009765L, "38757", "%5ld",
-__LINE__, 0xfe197646L, "FE197646", "%-X",
-__LINE__, 0x00000001L, " 1", "%+5.x",
-__LINE__, -0x0000002L, "-2", "%#ld",
-__LINE__, 0x0072f6beL, "72F6BE", "%1X",
-__LINE__, -0x000f06dL, "-61549", "%-d",
-__LINE__, 0x00000001L, " 1", "%5X",
-__LINE__, 0x328cba28L, " 848083496", "% 2.ld",
-__LINE__, 0x0000cddcL, "cddc", "%.1x",
-__LINE__, 0xfffffff9L, "fffffff9", "%7x",
-__LINE__, 0x00baf511L, "BAF511", "%-5.6X",
-__LINE__, 0x00000001L, " 1", "%4.ld",
-__LINE__, 0x0001e4b0L, "+124080", "%+ld",
-__LINE__, -0x07548f3L, "-7686387", "% 6.d",
-__LINE__, -0x01b14eaL, "-1774826", "% #0d",
-__LINE__, -0x000005cL, "-92 ", "%-04ld",
-__LINE__, -0x00000aeL, "-174", "%+.3ld",
-__LINE__, 0x0000008cL, "0X8C", "%+#X",
-__LINE__, 0x14c02360L, "14C02360", "%.6X",
-__LINE__, 0xfffffff6L, "FFFFFFF6", "%X",
-__LINE__, 0x009f4ee5L, "9f4ee5", "%x",
-__LINE__, 0x00000035L, "35", "%X",
-__LINE__, -0x00000ebL, "-235", "%ld",
-__LINE__, 0x1552ced8L, "1552CED8", "%04X",
-__LINE__, 0x0000002aL, " 2A", "%5X",
-__LINE__, 0xffffffffL, "ffffffff", "% x",
-__LINE__, -0xdec0db2L, "-233573810", "%d",
-__LINE__, 0x001e2ef0L, "1978096", "%2.d",
-__LINE__, 0xffffef24L, "ffffef24", "%.5x",
-__LINE__, 0xfffe6a6cL, "fffe6a6c", "%+x",
-__LINE__, -0x0000004L, "-4", "% ld",
-__LINE__, 0xfe3c6743L, "fe3c6743", "%.1x",
-__LINE__, 0x0000033dL, "829", "%0ld",
-__LINE__, -0x00006a0L, " -1696", "% 7.ld",
-__LINE__, 0xffffffdbL, "ffffffdb", "%0.0x",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%3.3X",
-__LINE__, -0x0000004L, "-4", "%#ld",
-__LINE__, 0x00b32b56L, "B32B56", "%X",
-__LINE__, 0xffffffffL, "0xffffffff", "%+#x",
-__LINE__, 0x01cd1a48L, "1cd1a48", "%+7x",
-__LINE__, 0xffffffdaL, "ffffffda", "%x",
-__LINE__, 0x1886509eL, "1886509E", "% X",
-__LINE__, 0x000000ebL, "235", "%0d",
-__LINE__, 0xfffffff4L, "fffffff4", "%0x",
-__LINE__, 0x00000547L, "547", "% X",
-__LINE__, 0x000017e6L, "17e6", "%-2.x",
-__LINE__, 0x00001dc4L, "7620", "%d",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%3.0X",
-__LINE__, 0xffff93faL, "0XFFFF93FA", "%#X",
-__LINE__, 0xfffffe1cL, "FFFFFE1C", "%-X",
-__LINE__, 0x00000000L, "", "% .0x",
-__LINE__, 0x000000a1L, "A1", "%X",
-__LINE__, 0xffffffffL, "0xffffffff", "%#x",
-__LINE__, -0x0001460L, "-05216", "%+#.5d",
-__LINE__, 0x00000001L, "1 ", "%-6.x",
-__LINE__, 0xfffd5324L, "FFFD5324", "%+2.6X",
-__LINE__, 0x00000007L, " 07", "%06.2d",
-__LINE__, 0x00000003L, "3", "%-X",
-__LINE__, 0xfffffdb7L, "0XFFFFFDB7", "%+#X",
-__LINE__, 0xfffff4ccL, "fffff4cc", "%0x",
-__LINE__, 0x00000000L, "0 ", "%-5X",
-__LINE__, 0x00758c96L, "758C96", "%X",
-__LINE__, -0x0000001L, "-1", "%-ld",
-__LINE__, 0x00000001L, "1", "%ld",
-__LINE__, 0x03f03cafL, "66075823", "%.2ld",
-__LINE__, 0x0000a87cL, "a87c", "%1.x",
-__LINE__, 0x00000034L, "34", "%X",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, 0x00010167L, "10167", "%x",
-__LINE__, -0x00007ceL, "-1998 ", "%-6ld",
-__LINE__, 0x00000001L, "1", "%.0d",
-__LINE__, 0x00d94ceeL, "14241006", "%ld",
-__LINE__, -0x0000008L, "-8", "% d",
-__LINE__, -0x71520839L, "-1901201465", "%+0d",
-__LINE__, 0x0000035aL, "35a", "%-x",
-__LINE__, 0xfffd2f68L, "FFFD2F68", "%-X",
-__LINE__, 0x0006ea53L, "453203", "%1d",
-__LINE__, 0x000000dfL, "DF", "% 1X",
-__LINE__, 0xfffffffeL, "fffffffe", "% 7x",
-__LINE__, 0x00000156L, "156", "% X",
-__LINE__, 0x00037ac9L, " 228041", "% ld",
-__LINE__, 0xffffffdeL, "FFFFFFDE", "%0.5X",
-__LINE__, 0x00000025L, "37", "%-0.ld",
-__LINE__, -0x4133686L, "-68368006", "%2ld",
-__LINE__, -0x000003bL, "-59", "%.2ld",
-__LINE__, 0xfffff910L, "fffff910", "% 00.0x",
-__LINE__, 0xff9ec802L, "FF9EC802", "%2.6X",
-__LINE__, 0x00000008L, "0X8", "%#1X",
-__LINE__, 0xfffffff7L, "FFFFFFF7", "%-X",
-__LINE__, 0x0029a4daL, "2729178", "%04.ld",
-__LINE__, 0x007d1588L, "8197512", "%#d",
-__LINE__, 0x0007e86dL, "518253", "%0d",
-__LINE__, 0xfffffff9L, "fffffff9", "%x",
-__LINE__, 0x00000002L, "002", "%.3d",
-__LINE__, 0x00006ec1L, "6EC1", "%2X",
-__LINE__, 0x0000300cL, "12300", "%-d",
-__LINE__, -0x0000002L, "-2", "%+ld",
-__LINE__, -0x0000002L, "-2", "%ld",
-__LINE__, -0x00015d5L, "-005589", "%#.6ld",
-__LINE__, 0x00000041L, "65", "%d",
-__LINE__, 0x00000229L, "0000229", "% 0.7x",
-__LINE__, 0xfffffffbL, "fffffffb", "%03.x",
-__LINE__, 0x00093262L, "0602722", "%.7d",
-__LINE__, -0x00037b4L, "-14260", "%-0ld",
-__LINE__, 0xfffffffcL, "fffffffc", "%-x",
-__LINE__, 0xf24cb3e6L, "f24cb3e6", "%1x",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, 0xfffffffbL, "FFFFFFFB", "%0X",
-__LINE__, 0x00000031L, "0000049", "%00.7ld",
-__LINE__, 0x00000bb3L, "BB3", "%.1X",
-__LINE__, -0x0000001L, "-0001", "%+#4.4ld",
-__LINE__, -0x0000001L, "-1", "% d",
-__LINE__, 0x00022c0cL, "22c0c", "%-x",
-__LINE__, 0xffffffd4L, "ffffffd4", "%x",
-__LINE__, 0x000729c6L, "469446", "%3.d",
-__LINE__, 0xb180feaeL, "b180feae", "%3.x",
-__LINE__, 0x124fac15L, "307211285", "%-0ld",
-__LINE__, -0x0000004L, "-4", "%ld",
-__LINE__, 0x0000006aL, "106", "%#d",
-__LINE__, 0x0000297fL, "297F", "%+3X",
-__LINE__, 0x0000000eL, "14", "%0ld",
-__LINE__, 0x00000027L, "27", "%0.1X",
-__LINE__, 0xffeb98ebL, "ffeb98eb", "% 05.2x",
-__LINE__, 0xfffff19bL, "FFFFF19B", "%+X",
-__LINE__, 0x00025992L, "154002", "%6.6d",
-__LINE__, 0x00000040L, " 040", "%6.3X",
-__LINE__, 0x00000a9eL, " 0a9e", "%5.4x",
-__LINE__, 0x00c7f2ccL, "c7f2cc", "%x",
-__LINE__, 0x000325e6L, " 325E6", "%6.X",
-__LINE__, -0x69faad3L, "-111127251", "%d",
-__LINE__, -0x059a307L, "-5874439", "% ld",
-__LINE__, 0xfffffff6L, "0xfffffff6", "%#0.0x",
-__LINE__, 0x0030fdf3L, "30fdf3", "%x",
-__LINE__, 0x00007343L, "+29507", "%+#2d",
-__LINE__, 0x0003cf4bL, "0X3CF4B", "% #.2X",
-__LINE__, 0x00000433L, "+1075", "%+0ld",
-__LINE__, 0xfffffffdL, "fffffffd", "%+.3x",
-__LINE__, 0x0ae30c4eL, "ae30c4e", "%+00x",
-__LINE__, 0x0002540fL, "02540f", "%-.6x",
-__LINE__, -0x0000001L, " -01", "% #5.2ld",
-__LINE__, 0xffffffe7L, "0xffffffe7", "% #5.x",
-__LINE__, 0x0000005bL, "91", "%d",
-__LINE__, 0x00001f9bL, "8091", "%.4ld",
-__LINE__, 0xfffff315L, "fffff315", "%4.x",
-__LINE__, -0x130eec41L, "-319745089", "% ld",
-__LINE__, 0xfff8fe13L, "FFF8FE13", "%X",
-__LINE__, -0x0000004L, "-00004", "%5.5d",
-__LINE__, 0x00000669L, "669", "%0X",
-__LINE__, -0x0000004L, "-4", "%d",
-__LINE__, 0xf5e81496L, "F5E81496", "% 6X",
-__LINE__, -0x0000001L, "-1", "% 0d",
-__LINE__, 0xfffffff7L, "fffffff7", "%x",
-__LINE__, 0x000001deL, "478", "%d",
-__LINE__, 0x0000623eL, "25150", "%5.0d",
-__LINE__, 0xffffffa8L, "FFFFFFA8", "%+X",
-__LINE__, -0x0000117L, "-279", "% ld",
-__LINE__, -0x0000517L, "-1303", "%d",
-__LINE__, 0xfffff9d5L, "fffff9d5", "% x",
-__LINE__, 0x000001ccL, "1CC", "%-X",
-__LINE__, 0x0000019aL, "0000410", "%.7d",
-__LINE__, 0x00000003L, "3 ", "%-06X",
-__LINE__, 0x00000009L, "0x9", "%#0x",
-__LINE__, 0xfd544610L, "0XFD544610", "% #X",
-__LINE__, 0xfffffffcL, "fffffffc", "%+x",
-__LINE__, 0x00009437L, "37943", "%ld",
-__LINE__, -0x00b5ea6L, "-745126", "%d",
-__LINE__, 0xffffffd8L, "ffffffd8", "%6x",
-__LINE__, 0x00002a2dL, "10797", "%.3ld",
-__LINE__, 0x00275238L, "2576952", "%0ld",
-__LINE__, 0xfff90a34L, "FFF90A34", "%-7X",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "% .7X",
-__LINE__, -0xb3b673eL, "-188442430", "% ld",
-__LINE__, 0xfffff67aL, "0xfffff67a", "%#0.x",
-__LINE__, 0x0000dff6L, " dff6", "%+7.x",
-__LINE__, 0xffee46e3L, "ffee46e3", "%x",
-__LINE__, 0x00001a66L, " 0006758", "% 7.7d",
-__LINE__, 0x0002b475L, "2B475", "%.4X",
-__LINE__, 0x0002090dL, "002090d", "%.7x",
-__LINE__, -0x0057838L, "-358456", "%#ld",
-__LINE__, 0x00000004L, "0x4", "%#x",
-__LINE__, 0x0574cb62L, "91540322", "%#7d",
-__LINE__, -0x0054388L, "-344968", "% #d",
-__LINE__, 0x000421c2L, "421C2", "% X",
-__LINE__, 0x00000003L, "3", "%0d",
-__LINE__, 0xffffe2e2L, "ffffe2e2", "% 5.x",
-__LINE__, 0x00000021L, "+33", "%+d",
-__LINE__, -0x0020033L, "-131123", "%ld",
-__LINE__, -0x0000001L, " -1", "%4.ld",
-__LINE__, 0x000000fdL, "000fd", "%3.5x",
-__LINE__, 0x023e4337L, "37634871", "%1d",
-__LINE__, 0x6e823d96L, "6E823D96", "% X",
-__LINE__, 0xfff0e133L, "fff0e133", "%x",
-__LINE__, -0x000deccL, "-57036", "%3d",
-__LINE__, 0x004397b8L, "4429752", "%0d",
-__LINE__, -0x0000023L, " -35", "%6d",
-__LINE__, 0xffe701caL, "FFE701CA", "%3X",
-__LINE__, 0x000c0319L, "+787225", "%+.6d",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, 0xfffffe1dL, "FFFFFE1D", "%X",
-__LINE__, 0xfffffb33L, "fffffb33", "%x",
-__LINE__, 0x02b5e30aL, "45474570", "%d",
-__LINE__, 0x000074ebL, "29931", "%03.ld",
-__LINE__, -0x4e42e310L, "-1313006352", "%-0.d",
-__LINE__, -0x000007bL, "-123", "%d",
-__LINE__, 0x00000160L, " 352", "% d",
-__LINE__, -0x16af31ecL, "-380580332", "%#ld",
-__LINE__, -0x000006eL, "-000110", "%07ld",
-__LINE__, 0x232699a0L, "232699a0", "%7.x",
-__LINE__, 0x00f9b8e5L, "+16365797", "%+0d",
-__LINE__, 0x0000000cL, "C", "%X",
-__LINE__, 0xfffffd4fL, "FFFFFD4F", "%X",
-__LINE__, 0xffffe7bbL, "FFFFE7BB", "%.7X",
-__LINE__, -0x0000163L, "-355", "%d",
-__LINE__, 0x00070315L, " 459541", "% #2.d",
-__LINE__, -0x7d5c12aL, "-131449130", "% 6.ld",
-__LINE__, 0xffffffb2L, "FFFFFFB2", "%X",
-__LINE__, -0x0004aadL, "-19117", "%+6.4ld",
-__LINE__, 0x00115586L, "1136006", "%0d",
-__LINE__, -0x0000021L, "-33", "%d",
-__LINE__, 0x093ce01eL, "93ce01e", "% 5x",
-__LINE__, 0x00672135L, "672135", "% x",
-__LINE__, 0x05f4abd5L, "0x5f4abd5", "%+#6.x",
-__LINE__, -0x0448b03L, "-4492035", "%-0.2ld",
-__LINE__, 0x00000000L, "0", "%#x",
-__LINE__, 0x1987217eL, "428286334", "%d",
-__LINE__, 0x000010f6L, "10f6", "%-x",
-__LINE__, 0x0000177aL, "177a", "%1x",
-__LINE__, 0xfffffefdL, "FFFFFEFD", "%7X",
-__LINE__, -0x095cbf8L, "-9817080", "%-5ld",
-__LINE__, 0x0000008aL, "138", "%2.0ld",
-__LINE__, 0xfffe80adL, "fffe80ad", "%0x",
-__LINE__, -0x1a4c8f7L, "-27576567", "%d",
-__LINE__, 0x00000000L, "0", "%-x",
-__LINE__, 0x0000a82bL, "43051", "%-ld",
-__LINE__, 0x000000ebL, "235", "%2.3ld",
-__LINE__, -0x0002747L, "-10055", "%d",
-__LINE__, 0x00000319L, "0X319", "%#X",
-__LINE__, 0xfffffcfeL, "FFFFFCFE", "% X",
-__LINE__, 0x00050f0eL, "50f0e", "%-1x",
-__LINE__, -0x398e09eL, "-60350622", "%0.7ld",
-__LINE__, 0x00000000L, " ", "%2.ld",
-__LINE__, 0x00000049L, "00049", "% .5X",
-__LINE__, -0x00000ddL, " -221", "%+#5ld",
-__LINE__, 0xf6db2facL, "f6db2fac", "%-07x",
-__LINE__, 0x0000004fL, "4F", "% .0X",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, 0xfd07f692L, "fd07f692", "%x",
-__LINE__, 0xdb98bde0L, "db98bde0", "%x",
-__LINE__, 0x00000271L, "0271", "% 3.4x",
-__LINE__, -0x000115aL, "-4442", "%#1.ld",
-__LINE__, 0x0002f5f2L, "194034", "%ld",
-__LINE__, -0x0000152L, " -338", "%+7ld",
-__LINE__, 0x00059336L, "365366", "%d",
-__LINE__, 0xfffffff6L, "fffffff6", "%-7x",
-__LINE__, 0xfb916c51L, "fb916c51", "%-x",
-__LINE__, 0xffff413dL, "FFFF413D", "%-X",
-__LINE__, 0xf2576910L, "F2576910", "%-4.X",
-__LINE__, 0xfffc7730L, "fffc7730", "%5.x",
-__LINE__, 0x000002e6L, "+742", "%+1d",
-__LINE__, -0x00001bfL, "-447", "%3d",
-__LINE__, 0x000002e1L, "2E1", "%-X",
-__LINE__, 0x00000096L, "150", "%#0ld",
-__LINE__, 0x000002bdL, "701", "%d",
-__LINE__, -0x0053386L, "-340870", "%#d",
-__LINE__, 0xfffdb076L, "FFFDB076", "%X",
-__LINE__, 0x00004dc5L, " +19909", "%+07.ld",
-__LINE__, 0x00000f7aL, " F7A", "%4X",
-__LINE__, 0x02405000L, " 37769216", "% ld",
-__LINE__, 0xfffce68dL, "fffce68d", "%0x",
-__LINE__, -0x35b3af2L, "-56310514", "%-ld",
-__LINE__, -0x0238631L, "-2328113", "%.4d",
-__LINE__, -0x000001eL, "-030", "%.3ld",
-__LINE__, 0xffffffddL, "FFFFFFDD", "%.4X",
-__LINE__, 0x0013f6acL, "13f6ac", "%02.x",
-__LINE__, 0xfffffffaL, "fffffffa", "%+07.x",
-__LINE__, -0x000192bL, " -6443", "%6.d",
-__LINE__, 0x0000058bL, "+1419", "%+d",
-__LINE__, 0x00001391L, "5009", "%ld",
-__LINE__, -0x0041a57L, "-268887", "%1ld",
-__LINE__, 0xfffff266L, "0xfffff266", "%+#6.6x",
-__LINE__, 0x0000018bL, " 395", "%6.ld",
-__LINE__, 0x009ae24dL, "+10150477", "%+ld",
-__LINE__, 0x0000007eL, "7E", "%X",
-__LINE__, 0xfffffd53L, "FFFFFD53", "% 0X",
-__LINE__, 0x000002faL, "2FA", "%-1.3X",
-__LINE__, 0x000000a4L, "164", "%0d",
-__LINE__, 0x00001833L, "6195", "%ld",
-__LINE__, -0x0000001L, "-1", "%d",
-__LINE__, 0xf2fcbd9bL, "F2FCBD9B", "%+0.2X",
-__LINE__, 0x00004a8aL, "4A8A", "%X",
-__LINE__, -0x10695cdaL, "-275340506", "%d",
-__LINE__, 0x00000037L, "37", "%X",
-__LINE__, 0x00082d5cL, "82D5C", "%+0.5X",
-__LINE__, 0xfffffe01L, "fffffe01", "% 5.3x",
-__LINE__, 0x000005eaL, "05EA", "% 1.4X",
-__LINE__, 0x0e0b8826L, "e0b8826", "%2x",
-__LINE__, -0x0000161L, "-353", "%+d",
-__LINE__, 0x19e3014aL, "19E3014A", "%+5X",
-__LINE__, 0x00000140L, "140", "%x",
-__LINE__, 0xffff84b9L, "FFFF84B9", "%X",
-__LINE__, -0x0005776L, "-22390", "%+5ld",
-__LINE__, 0x0162ad61L, "162AD61", "% X",
-__LINE__, 0x00002395L, "2395", "%X",
-__LINE__, 0x003702ecL, "3605228", "%5.2d",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%7X",
-__LINE__, 0x00001778L, "0x1778", "%#5.x",
-__LINE__, 0xc52bef7fL, "C52BEF7F", "%X",
-__LINE__, 0xfffffec4L, "FFFFFEC4", "%X",
-__LINE__, 0x00000006L, "6", "%X",
-__LINE__, 0x00000000L, "000", "%03.3x",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, 0xffff6c46L, "FFFF6C46", "% 2.2X",
-__LINE__, -0x1506098L, "-22044824", "%01.d",
-__LINE__, 0x03415cafL, "3415caf", "%x",
-__LINE__, -0x00007b4L, "-1972", "%#4.4d",
-__LINE__, -0x00158c9L, "-88265", "%03.4d",
-__LINE__, 0x6947c336L, "1766310710", "%.6d",
-__LINE__, 0x0000017cL, "17C", "% 0X",
-__LINE__, -0x00001b7L, "-439", "% 0ld",
-__LINE__, 0x06a7575aL, "6A7575A", "%-.0X",
-__LINE__, 0x000b3459L, "734297", "%ld",
-__LINE__, -0x395d8ddL, "-60152029", "%ld",
-__LINE__, 0x00036bb3L, "224179", "%-6.d",
-__LINE__, 0xffff14ffL, "FFFF14FF", "%X",
-__LINE__, -0x15910e4fL, "-361827919", "%-0d",
-__LINE__, -0x0000004L, "-4", "%#d",
-__LINE__, 0xf7f7adacL, "F7F7ADAC", "% 3.X",
-__LINE__, 0xffffff74L, "FFFFFF74", "%0X",
-__LINE__, 0x00000000L, "0", "%d",
-__LINE__, -0x000007bL, "-123 ", "%-7.d",
-__LINE__, -0x000002cL, "-44", "%d",
-__LINE__, -0x000002bL, " -43", "%5d",
-__LINE__, 0x0000ae5fL, "44639", "%d",
-__LINE__, 0x003cbc63L, "3CBC63", "%X",
-__LINE__, 0xfffffffcL, "0XFFFFFFFC", "%#5.7X",
-__LINE__, 0x0003e044L, "3E044", "%X",
-__LINE__, -0x0000c46L, "-3142", "%.1d",
-__LINE__, 0xff18f4bbL, "FF18F4BB", "%0X",
-__LINE__, 0xfffffffdL, "FFFFFFFD", "%.1X",
-__LINE__, -0x01c0f27L, "-1838887", "%0d",
-__LINE__, -0x1242901fL, "-306352159", "%.4ld",
-__LINE__, 0x1775c10aL, "393593098", "%6.ld",
-__LINE__, 0x00000001L, " 1", "%03.d",
-__LINE__, 0xfff1fd30L, "0xfff1fd30", "%#x",
-__LINE__, 0x00000191L, "191", "%0.X",
-__LINE__, 0x2e597178L, "777613688", "%2.ld",
-__LINE__, -0x4ef0cf3L, "-82775283", "%+.6ld",
-__LINE__, -0x0000085L, " -133", "%6.d",
-__LINE__, 0x0000014dL, "333 ", "%-5ld",
-__LINE__, -0xc03bd74L, "-201571700", "%07.6ld",
-__LINE__, -0x000000aL, "-10", "%d",
-__LINE__, 0x01f5e86eL, "32893038", "%#2.ld",
-__LINE__, 0x00000033L, "0X33", "% #X",
-__LINE__, 0x0087c797L, " 8898455", "% 7.d",
-__LINE__, -0x0001205L, "-4613", "%5d",
-__LINE__, 0x00000192L, " 192", "%7.X",
-__LINE__, 0x000e6c00L, "945152", "%6.1ld",
-__LINE__, 0x00018629L, " 99881", "% d",
-__LINE__, -0x04739c6L, "-4667846", "%-01.3ld",
-__LINE__, 0x00001f42L, "8002", "%d",
-__LINE__, 0x00000cafL, "3247", "%d",
-__LINE__, -0x4992e24L, "-77147684", "%#.6d",
-__LINE__, 0x0000001dL, "1d", "%-0x",
-__LINE__, 0x14d79f03L, "349675267", "%0ld",
-__LINE__, 0x00000dd4L, " 03540", "%#6.5ld",
-__LINE__, 0x0005f30eL, "0X5F30E", "%#X",
-__LINE__, 0x00000157L, "157", "%X",
-__LINE__, -0x9281698L, "-153622168", "%d",
-__LINE__, -0x000004aL, "-74", "%d",
-__LINE__, -0x0010c9eL, "-68766", "%-0d",
-__LINE__, 0x00000059L, "00089", "%.5ld",
-__LINE__, -0x06959e3L, "-6904291", "% 4.d",
-__LINE__, 0xfbea12b1L, "0XFBEA12B1", "%+#X",
-__LINE__, 0xffffdfb1L, "FFFFDFB1", "%2.6X",
-__LINE__, 0x0434faacL, "434faac", "%.5x",
-__LINE__, 0xffffffffL, "ffffffff", "% x",
-__LINE__, 0x00000b32L, "B32", "%0X",
-__LINE__, 0x00000047L, "71", "%.1d",
-__LINE__, 0x00070befL, " 0461807", "% .7d",
-__LINE__, 0x00000038L, "38", "% 0x",
-__LINE__, 0x00000000L, " 0", "%6X",
-__LINE__, 0xfff9c011L, "FFF9C011", "%2X",
-__LINE__, 0xfffffffeL, "fffffffe", "%7x",
-__LINE__, 0xfffffff9L, "FFFFFFF9", "%X",
-__LINE__, -0x016a095L, "-1482901", "%4.0ld",
-__LINE__, -0x000001cL, "-28", "% ld",
-__LINE__, 0xfffd6133L, "0xfffd6133", "%#x",
-__LINE__, 0x000004a4L, "0x4a4", "%#x",
-__LINE__, 0x000003c2L, "0962", "%.4d",
-__LINE__, -0x000323bL, "-12859", "%+#d",
-__LINE__, 0x0f620237L, "F620237", "%X",
-__LINE__, 0x00007863L, "007863", "%.6X",
-__LINE__, 0x0000002cL, " 44", "% #ld",
-__LINE__, 0xfffffff0L, "fffffff0", "%03.6x",
-__LINE__, 0xffff6346L, "FFFF6346", "%1.X",
-__LINE__, 0x00063188L, "63188", "% x",
-__LINE__, 0xfffff91cL, "fffff91c", "%-.3x",
-__LINE__, 0x004cd0b4L, "4CD0B4", "%-2.X",
-__LINE__, 0x06b4d739L, "112514873", "%0.1d",
-__LINE__, -0x0009bebL, "-39915", "%.2d",
-__LINE__, 0x0000831bL, "33563", "%d",
-__LINE__, 0x00000001L, "1", "%X",
-__LINE__, -0x942d76bL, "-155375467", "% #0ld",
-__LINE__, 0xffff2a95L, "FFFF2A95", "%2X",
-__LINE__, 0x00548d5eL, "5541214", "%.3ld",
-__LINE__, 0x0b5e1a01L, "B5E1A01", "% .7X",
-__LINE__, 0xfffffc22L, "fffffc22", "%6x",
-__LINE__, -0x0000dd7L, "-3543", "%-.3ld",
-__LINE__, 0xfffff834L, "FFFFF834", "%X",
-__LINE__, 0x0365f762L, "57014114", "%ld",
-__LINE__, -0x0000003L, "-3", "%d",
-__LINE__, 0x3bd998a3L, "1004116131", "%d",
-__LINE__, 0xfffff6c9L, "FFFFF6C9", "%+X",
-__LINE__, 0xffffded9L, "FFFFDED9", "%-.1X",
-__LINE__, -0x00fbb5aL, "-1031002", "% 1.0d",
-__LINE__, 0xffffffb7L, "ffffffb7", "%6.x",
-__LINE__, 0xff1b8ac3L, "FF1B8AC3", "%-X",
-__LINE__, 0xfffffff2L, "FFFFFFF2", "%00.X",
-__LINE__, -0x000013dL, " -317", "%05.d",
-__LINE__, 0x0000f5e2L, "+62946", "%+0.2ld",
-__LINE__, 0x16ac6358L, "16ac6358", "%x",
-__LINE__, 0xffff8728L, "FFFF8728", "%+X",
-__LINE__, -0x0014a6dL, "-084589", "%0.6ld",
-__LINE__, 0xfc904514L, "FC904514", "%+0X",
-__LINE__, 0x00000004L, "4", "%ld",
-__LINE__, 0xffffffe0L, "ffffffe0", "%+x",
-__LINE__, -0x0a0ffddL, "-10551261", "%+02d",
-__LINE__, -0x0000bbcL, "-3004", "%+d",
-__LINE__, 0x00000006L, " +6", "%+7ld",
-__LINE__, 0x17afa6e5L, "397387493", "%ld",
-__LINE__, 0xfffff6bfL, "fffff6bf", "%+04.4x",
-__LINE__, 0x000001dcL, "01dc", "% 02.4x",
-__LINE__, 0x0000000eL, " 14", "% d",
-__LINE__, 0xfffffff9L, "0XFFFFFFF9", "%#4.X",
-__LINE__, 0x0000005dL, "93", "%0d",
-__LINE__, -0x004fa05L, "-0326149", "%.7d",
-__LINE__, -0x0000018L, "-24", "%ld",
-__LINE__, 0xfffff7ebL, "FFFFF7EB", "%X",
-__LINE__, 0x0072b044L, " 7516228", "% .7ld",
-__LINE__, 0xffffffedL, "0xffffffed", "%#x",
-__LINE__, 0x0010364dL, "10364D", "%X",
-__LINE__, 0xfff90469L, "0XFFF90469", "%#X",
-__LINE__, 0x000001b4L, " 436", "% 0d",
-__LINE__, 0x00000000L, "0", "% X",
-__LINE__, 0xfffffff3L, "fffffff3", "%x",
-__LINE__, 0x19335d40L, "19335d40", "%6x",
-__LINE__, 0x00039c24L, "236580", "%ld",
-__LINE__, 0x000021f7L, "8695", "%0.4ld",
-__LINE__, -0x057b406L, "-5747718", "%d",
-__LINE__, -0x017b371L, "-1553265", "%#ld",
-__LINE__, 0x0003e405L, "254981", "%2.d",
-__LINE__, 0x00000001L, "1", "%-.1x",
-__LINE__, 0x000000aeL, "AE", "%.1X",
-__LINE__, 0xffd85825L, "ffd85825", "%-7.x",
-__LINE__, 0xfffad763L, "fffad763", "%x",
-__LINE__, 0x002431d4L, "2372052", "%6.ld",
-__LINE__, 0x00000003L, "000003", "%-05.6d",
-__LINE__, 0xffffffebL, "0xffffffeb", "%#x",
-__LINE__, 0xff8cf3b0L, "ff8cf3b0", "%x",
-__LINE__, 0xfe88d2ffL, "0xfe88d2ff", "%+#.2x",
-__LINE__, 0xffffff6bL, "ffffff6b", "%6.3x",
-__LINE__, 0xfffffffeL, "fffffffe", "%-x",
-__LINE__, 0xe998945aL, "e998945a", "%2.x",
-__LINE__, 0x03b9c50fL, "3B9C50F", "%+X",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%3.7X",
-__LINE__, 0x000024efL, "24ef", "%+x",
-__LINE__, 0xfffffc04L, "FFFFFC04", "%X",
-__LINE__, 0x0d4bef7cL, " 223080316", "% .1ld",
-__LINE__, -0xc33f3bcL, "-204731324", "%.5ld",
-__LINE__, 0xffffffffL, "0XFFFFFFFF", "%#2X",
-__LINE__, 0x0000e493L, "e493", "%x",
-__LINE__, 0x000001b4L, "1b4", "%x",
-__LINE__, 0xffffffd6L, "0xffffffd6", "% #1x",
-__LINE__, 0x00000001L, "1", "%d",
-__LINE__, -0x0000f28L, "-3880", "%ld",
-__LINE__, 0x00000277L, "631", "%-1ld",
-__LINE__, 0x00000001L, " 1", "%2x",
-__LINE__, -0x0ff4d2cL, "-16731436", "%#ld",
-__LINE__, 0x0bb80344L, "196608836", "%00ld",
-__LINE__, 0xffffffdcL, "FFFFFFDC", "%X",
-__LINE__, 0x00000484L, "1156", "%ld",
-__LINE__, 0x00000341L, "341", "%-.2x",
-__LINE__, 0x0000ee62L, "ee62", "%x",
-__LINE__, 0xfffffe20L, "fffffe20", "%+x",
-__LINE__, -0x00076ebL, "-30443", "%.2d",
-__LINE__, 0x2c4a7407L, "2c4a7407", "% x",
-__LINE__, 0x00000000L, " ", "%3.X",
-__LINE__, 0xffffff60L, "ffffff60", "% 4.x",
-__LINE__, 0x000e4cf2L, "+937202", "%+.5ld",
-__LINE__, 0x00000008L, " 00008", "%06.5X",
-__LINE__, 0x0002f612L, "194066", "%d",
-__LINE__, 0xfffffc96L, "fffffc96", "%-3.3x",
-__LINE__, -0x0000001L, "-1", "% ld",
-__LINE__, 0x00000000L, " ", "% 6.0X",
-__LINE__, 0xfffffff5L, "fffffff5", "%3.x",
-__LINE__, 0x0bfd63a1L, "201155489", "%d",
-__LINE__, -0x1547c214L, "-357024276", "%ld",
-__LINE__, 0x00000004L, "4", "%#0.d",
-__LINE__, -0x000f2f3L, "-62195", "%.2d",
-__LINE__, 0xfff843ddL, "FFF843DD", "%X",
-__LINE__, 0x00966e36L, "9858614", "%.0ld",
-__LINE__, 0x0000782eL, "0X782E", "% #X",
-__LINE__, 0x00bd36c0L, "12400320", "%ld",
-__LINE__, 0x00000000L, "00", "% .2X",
-__LINE__, 0x00000000L, "0", "%1X",
-__LINE__, 0x0003f416L, "3f416 ", "%-6.x",
-__LINE__, -0x00b74bdL, "-750781", "% ld",
-__LINE__, 0x0000138aL, "138a", "% x",
-__LINE__, 0x024df7f0L, "24DF7F0", "% 0.6X",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%X",
-__LINE__, -0x0003284L, "-12932 ", "%-07.ld",
-__LINE__, 0x000094d3L, "94d3", "%x",
-__LINE__, 0x000000bfL, "bf", "%.2x",
-__LINE__, 0x00000000L, "00000", "%-1.5X",
-__LINE__, -0x04899b8L, "-4757944", "%d",
-__LINE__, 0x2b51bf20L, "+726777632", "%+d",
-__LINE__, -0x000000dL, "-13", "%.2d",
-__LINE__, 0x04f78fbdL, "4F78FBD", "% 7.X",
-__LINE__, 0x00011684L, "71300", "%5.d",
-__LINE__, 0x0000539dL, "21405", "%0d",
-__LINE__, 0x00000008L, "000008", "%-3.6X",
-__LINE__, 0xfc7a2cdcL, "fc7a2cdc", "%2.3x",
-__LINE__, 0xffc21da1L, "ffc21da1", "%x",
-__LINE__, 0x00000273L, "273", "%x",
-__LINE__, 0x00000000L, "0", "%#X",
-__LINE__, -0x31cd6b9L, "-52221625", "% d",
-__LINE__, 0xfffffff8L, "FFFFFFF8", "%.0X",
-__LINE__, 0x00000002L, "2", "%#ld",
-__LINE__, 0x00e8922cL, "15241772", "%d",
-__LINE__, 0xfeb19ea7L, "FEB19EA7", "%0.1X",
-__LINE__, 0x00003931L, "014641", "%06ld",
-__LINE__, 0x00000015L, "0X00015", "%#.5X",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%1.X",
-__LINE__, 0xfff17103L, "0XFFF17103", "% #X",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%+X",
-__LINE__, 0x00000002L, "00002", "%.5x",
-__LINE__, 0x00001617L, " 5655", "% 7.d",
-__LINE__, -0x0000010L, "-000016", "%00.6d",
-__LINE__, 0x000000b0L, "B0", "% X",
-__LINE__, 0xfc9362b2L, "FC9362B2", "%-X",
-__LINE__, 0xfc3d8276L, "fc3d8276", "% 1x",
-__LINE__, 0x00001405L, "5125", "%#d",
-__LINE__, 0x02250183L, " 35979651", "% ld",
-__LINE__, 0xffc9b007L, "ffc9b007", "% 4.x",
-__LINE__, 0x00000311L, "785", "%0d",
-__LINE__, 0x0004d273L, " 316019", "% d",
-__LINE__, 0x00000001L, "1", "%1.x",
-__LINE__, 0xffff240fL, "FFFF240F", "%4.X",
-__LINE__, 0x0049cfdaL, "+4837338", "%+ld",
-__LINE__, 0x012f6dd5L, "12F6DD5", "% 6.2X",
-__LINE__, 0x00000002L, "0x2", "%#2.0x",
-__LINE__, 0xfffd834aL, "FFFD834A", "%.6X",
-__LINE__, 0xfe2a40f8L, "0XFE2A40F8", "%#X",
-__LINE__, 0xffffffebL, "ffffffeb", "%x",
-__LINE__, -0x00ac5cbL, "-705995", "%d",
-__LINE__, -0x3021108cL, "-807473292", "% .4d",
-__LINE__, -0x0000035L, "-53", "%-ld",
-__LINE__, -0x1a36475L, "-27485301", "% d",
-__LINE__, -0x0000011L, "-17", "%d",
-__LINE__, 0x000001a3L, "000419", "%.6ld",
-__LINE__, 0x0030a0a8L, "3186856", "%.5ld",
-__LINE__, 0x00000019L, "25", "%d",
-__LINE__, 0xf32deac1L, "F32DEAC1", "%06.2X",
-__LINE__, -0x0000004L, " -00004", "%7.5ld",
-__LINE__, 0x00000000L, "0", "%ld",
-__LINE__, 0x0006bf19L, "442137", "%#0.d",
-__LINE__, 0x566f6c44L, "1450142788", "%1.6d",
-__LINE__, 0xfffffc10L, "fffffc10", "%.2x",
-__LINE__, -0x000e04dL, "-57421", "%+0d",
-__LINE__, 0x00000000L, "0000000", "%+.7X",
-__LINE__, 0x00b5c74dL, " 11913037", "% ld",
-__LINE__, -0x028dfe2L, "-2678754", "%05.1d",
-__LINE__, 0xfffffee0L, "fffffee0", "%0x",
-__LINE__, -0x030c077L, "-3194999", "%-.6d",
-__LINE__, 0x00055ca1L, "055ca1", "%-.6x",
-__LINE__, 0x00000000L, " ", "%7.X",
-__LINE__, 0xfffffe3bL, "FFFFFE3B", "%X",
-__LINE__, 0xffffffffL, "FFFFFFFF", "% 3X",
-__LINE__, 0x00000857L, "2135", "%-#1.d",
-__LINE__, -0x00546a2L, "-345762", "%0.5d",
-__LINE__, 0x0000000bL, "0xb ", "%-#6x",
-__LINE__, 0x00000d2bL, "d2b ", "%-4.0x",
-__LINE__, 0x0ae02b9eL, "AE02B9E", "%X",
-__LINE__, 0xfffffa7bL, "fffffa7b", "%-2.x",
-__LINE__, 0x00000001L, "1", "%X",
-__LINE__, 0x000006adL, "01709", "%05.5ld",
-__LINE__, -0x0000102L, "-258", "%-0.ld",
-__LINE__, 0x00000000L, "0", "%.1X",
-__LINE__, -0x01daa95L, "-1944213", "%-1ld",
-__LINE__, 0x02b99040L, "2B99040", "%2.X",
-__LINE__, 0x1b3d5621L, "1B3D5621", "%X",
-__LINE__, 0x0312d16bL, "51564907", "%-1.7ld",
-__LINE__, 0x000aa76cL, " 698220", "% 2d",
-__LINE__, 0x00000000L, "0", "%ld",
-__LINE__, 0xfff8a4ecL, "FFF8A4EC", "%-X",
-__LINE__, 0xffffe06dL, "ffffe06d", "%x",
-__LINE__, 0x00000003L, "3", "% x",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, 0xd3e244ddL, "D3E244DD", "%+5X",
-__LINE__, 0x000028b3L, " 28b3", "% 5.x",
-__LINE__, 0x0001acebL, "109803", "%6d",
-__LINE__, 0xfffbc5caL, "0xfffbc5ca", "%-#5x",
-__LINE__, 0x00000097L, " 151", "% 7ld",
-__LINE__, 0x00001fccL, "+8140", "%+d",
-__LINE__, 0xffffffffL, "ffffffff", "%0x",
-__LINE__, -0x00052a9L, "-21161", "%ld",
-__LINE__, 0xfffffc76L, "FFFFFC76", "%.1X",
-__LINE__, -0x2acb012L, "-44871698", "%0.1ld",
-__LINE__, 0xffffff81L, "ffffff81", "%x",
-__LINE__, -0x0018394L, "-99220", "%-ld",
-__LINE__, 0x0000001bL, "1B", "%X",
-__LINE__, 0x00000033L, "51", "%1d",
-__LINE__, 0xffec37e5L, "FFEC37E5", "%-1X",
-__LINE__, -0x000000aL, " -10", "%#5.d",
-__LINE__, -0x0000412L, "-1042", "%ld",
-__LINE__, 0x000cd0b1L, "cd0b1 ", "%-7.5x",
-__LINE__, 0x0b445370L, "B445370", "%+2.0X",
-__LINE__, 0xfffffff3L, "0XFFFFFFF3", "%-#X",
-__LINE__, 0xffff9f33L, "FFFF9F33", "%5.X",
-__LINE__, 0x00010a1eL, "10A1E", "%-2X",
-__LINE__, -0xede156fL, "-249435503", "% 7.1ld",
-__LINE__, 0xfc6d63aaL, "fc6d63aa", "% .6x",
-__LINE__, 0x0000311cL, " 12572", "% ld",
-__LINE__, 0x00001f8aL, "8074", "%00.d",
-__LINE__, 0x00000199L, "199", "%-X",
-__LINE__, 0xfffffc60L, "FFFFFC60", "%+3X",
-__LINE__, -0x000022cL, "-556", "%+0ld",
-__LINE__, 0x021d8407L, "35488775", "%-#.7ld",
-__LINE__, 0x0000020fL, "527", "%d",
-__LINE__, -0x000064bL, "-1611", "%#ld",
-__LINE__, -0x0c15aefL, "-12671727", "%d",
-__LINE__, -0x1f1a6881L, "-521824385", "%ld",
-__LINE__, 0xffffc115L, "ffffc115", "% x",
-__LINE__, 0x00000017L, " 23", "% #ld",
-__LINE__, 0x00000dc1L, "DC1 ", "%-4X",
-__LINE__, 0x000002caL, "2CA", "%X",
-__LINE__, 0x000f052cL, " 984364", "%7.d",
-__LINE__, 0x0000005aL, "0090", "%0.4d",
-__LINE__, -0x001e463L, "-124003", "% 4.ld",
-__LINE__, 0x00000001L, "0000001", "%+.7X",
-__LINE__, 0x00000bfbL, "0000bfb", "%5.7x",
-__LINE__, 0x0002484bL, "149579", "%#1d",
-__LINE__, 0x0043ba18L, "4438552", "%-ld",
-__LINE__, 0x000078f8L, "0X78F8", "%#X",
-__LINE__, 0x00000001L, " 1", "%4d",
-__LINE__, 0x0cedaeedL, "CEDAEED", "%X",
-__LINE__, 0x00000003L, "+3", "%+ld",
-__LINE__, 0xfffffffbL, "FFFFFFFB", "%7.4X",
-__LINE__, 0x00000169L, "361", "%ld",
-__LINE__, 0x00003c7aL, "+15482", "%+ld",
-__LINE__, -0x0159d93L, "-1416595", "% 0.0d",
-__LINE__, 0x0000775cL, "+30556", "%+3.d",
-__LINE__, 0x10284768L, "+271075176", "%+0.0ld",
-__LINE__, -0xf8b610eL, "-260792590", "%0d",
-__LINE__, 0xfdd8d369L, "fdd8d369", "%-.3x",
-__LINE__, 0x000c9495L, "+824469", "%+ld",
-__LINE__, -0x000003fL, " -063", "%7.3d",
-__LINE__, -0x000073bL, "-1851", "%+03.ld",
-__LINE__, 0xfffe4e23L, "0xfffe4e23", "%#.5x",
-__LINE__, 0x0081788cL, "81788c", "%5x",
-__LINE__, -0x015f888L, "-1439880", "%+1d",
-__LINE__, -0x31d64b4L, "-52257972", "%0.2d",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%6.5X",
-__LINE__, -0x0000072L, "-114", "%+.1d",
-__LINE__, -0x00000e1L, "-225", "%ld",
-__LINE__, 0x000006a8L, "0x6a8", "%+#x",
-__LINE__, 0xfffe673aL, "fffe673a", "%01.x",
-__LINE__, 0xfff2ee0dL, "FFF2EE0D", "%-X",
-__LINE__, 0x0290320aL, "43004426", "%0ld",
-__LINE__, -0xeb7a832L, "-246917170", "% ld",
-__LINE__, 0x02ae9265L, "2ae9265", "%1.x",
-__LINE__, 0xffffffd2L, "ffffffd2", "%+2.x",
-__LINE__, 0x00e6e858L, "0xe6e858", "%#0.x",
-__LINE__, 0x00000c4aL, "+3146", "%+3.1d",
-__LINE__, -0x6943c1aL, "-110378010", "% 0ld",
-__LINE__, 0x0167b119L, "167b119", "%0x",
-__LINE__, 0xfffffffeL, "fffffffe", "%+x",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%X",
-__LINE__, 0x000b861eL, "755230", "%ld",
-__LINE__, 0x0000015bL, "347", "%-#ld",
-__LINE__, 0xfffffffaL, "0XFFFFFFFA", "%#X",
-__LINE__, 0x000de9e5L, "911845", "%d",
-__LINE__, 0x00000001L, "01", "%.2d",
-__LINE__, 0x000007a5L, "1957", "%0d",
-__LINE__, 0x0000000fL, "f", "%x",
-__LINE__, 0x00c38cbfL, " 12815551", "% .2d",
-__LINE__, -0x7bd1b6eL, "-129833838", "% d",
-__LINE__, -0x000013cL, "-316", "%0d",
-__LINE__, 0x00001aadL, "1AAD", "%-0X",
-__LINE__, 0x0034f903L, "3471619", "%00d",
-__LINE__, 0xff925717L, "ff925717", "%4x",
-__LINE__, 0x00000002L, "02", "%.2d",
-__LINE__, 0x00000f34L, "F34", "%+X",
-__LINE__, 0xffffeefeL, "FFFFEEFE", "%X",
-__LINE__, 0xfffeecb4L, "FFFEECB4", "% 2.X",
-__LINE__, 0x00034421L, "214049", "%0ld",
-__LINE__, 0x00000000L, " 0", "%+6X",
-__LINE__, -0x0000062L, "-98", "%-#2d",
-__LINE__, -0x0000557L, "-1367", "%-4.4d",
-__LINE__, 0xffffe17cL, "FFFFE17C", "%X",
-__LINE__, 0x00000097L, "00097", "%.5X",
-__LINE__, 0xfffcb278L, "FFFCB278", "%0.7X",
-__LINE__, -0x0000001L, "-0001 ", "%-7.4d",
-__LINE__, -0x0000001L, "-1", "%ld",
-__LINE__, 0x000002c4L, "708", "%d",
-__LINE__, 0x04946f45L, "4946F45", "%-2.X",
-__LINE__, 0x000000ffL, "00ff", "% 2.4x",
-__LINE__, 0x00073307L, "471815", "%3ld",
-__LINE__, 0x0085b7b6L, "+8763318", "%+ld",
-__LINE__, -0x0000002L, "-2", "%1ld",
-__LINE__, -0x0000001L, "-1", "%-2d",
-__LINE__, -0x00000b5L, " -181", "%7ld",
-__LINE__, -0x0412486L, "-4269190", "%+2.1ld",
-__LINE__, 0xffffffffL, "ffffffff", "%0x",
-__LINE__, 0x0000006dL, "6d", "%x",
-__LINE__, 0x000000daL, "218", "%-.3ld",
-__LINE__, 0xfffffcfeL, "fffffcfe", "%x",
-__LINE__, 0x652e60c7L, "652E60C7", "%7.7X",
-__LINE__, 0x00000035L, " 53", "% #2d",
-__LINE__, 0x000000fcL, "FC", "%-X",
-__LINE__, 0x00000019L, " 25", "% ld",
-__LINE__, 0xfffffcf4L, "fffffcf4", "%6x",
-__LINE__, 0xffffff41L, "ffffff41", "%x",
-__LINE__, 0x00000034L, " 52", "%3.ld",
-__LINE__, 0xffffffb2L, "ffffffb2", "%-x",
-__LINE__, -0x6dc43e7cL, "-1841577596", "% .2ld",
-__LINE__, 0x00000004L, "4", "%d",
-__LINE__, -0x000023bL, "-571", "%ld",
-__LINE__, -0x000004dL, "-77", "%ld",
-__LINE__, 0x0000e3baL, "58298", "%.0ld",
-__LINE__, 0xfffffff2L, "fffffff2", "%0.0x",
-__LINE__, -0x0000020L, "-32", "%ld",
-__LINE__, 0xffffb33eL, "0XFFFFB33E", "%-#X",
-__LINE__, 0x00000000L, " ", "% 4.x",
-__LINE__, 0xffd96f92L, "FFD96F92", "%X",
-__LINE__, 0x0000002eL, " 46", "% 0ld",
-__LINE__, 0xffffffffL, "ffffffff", "%x",
-__LINE__, -0x5008ba3L, "-83921827", "%+d",
-__LINE__, 0xfdc1df3dL, "FDC1DF3D", "%0X",
-__LINE__, 0xfc7410e5L, "fc7410e5", "%7x",
-__LINE__, 0xfffffffaL, "FFFFFFFA", "% 6.X",
-__LINE__, 0x00000000L, "0", "%X",
-__LINE__, -0x040fd4eL, "-4259150", "% 05.d",
-__LINE__, 0x0000003bL, " 59", "%3.2d",
-__LINE__, 0xff776dd8L, "ff776dd8", "%x",
-__LINE__, 0x0000055bL, "+1371", "%+#2d",
-__LINE__, 0x00004841L, "4841", "%.1x",
-__LINE__, 0x0229d710L, "36296464", "%-.2ld",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, 0xfffe8376L, "fffe8376", "%0x",
-__LINE__, 0x000a7b83L, "a7b83", "%x",
-__LINE__, 0x0000000dL, " 013", "%#7.3d",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%5.0X",
-__LINE__, 0x00000704L, " 0x704", "%#7.0x",
-__LINE__, 0xfff970b9L, "FFF970B9", "%.1X",
-__LINE__, -0x000b60aL, "-46602", "%+d",
-__LINE__, 0x00000000L, " 00000", "%6.5x",
-__LINE__, 0x00000003L, "3", "%X",
-__LINE__, 0x0000c14bL, "c14b", "%0x",
-__LINE__, 0x066d7860L, "107837536", "%-d",
-__LINE__, 0x00000013L, " 13", "%4.x",
-__LINE__, 0xfff96f18L, "FFF96F18", "%4X",
-__LINE__, 0xffffff30L, "FFFFFF30", "%X",
-__LINE__, 0xffffffffL, "FFFFFFFF", "% .7X",
-__LINE__, -0x72a9e985L, "-1923737989", "%2.d",
-__LINE__, 0x00000002L, "0x2", "%#x",
-__LINE__, 0x0000050eL, "50e", "%2.3x",
-__LINE__, 0x0000605cL, "24668", "%4.1d",
-__LINE__, 0xffffff3eL, "ffffff3e", "%x",
-__LINE__, -0x0000010L, "-16", "%-2d",
-__LINE__, 0x000061aaL, "61AA", "%X",
-__LINE__, 0x000c2ec3L, "C2EC3", "%0X",
-__LINE__, -0x0000001L, "-1", "%-0d",
-__LINE__, 0x00130e17L, "+1248791", "%+.6ld",
-__LINE__, 0x000000efL, "EF", "%-X",
-__LINE__, -0x0000001L, " -1", "%+5ld",
-__LINE__, 0x0000989dL, "39069", "%d",
-__LINE__, 0x00000000L, "0", "%-x",
-__LINE__, 0x00000417L, "417", "%X",
-__LINE__, 0x00005e86L, "5E86", "%+X",
-__LINE__, -0x0007c08L, "-31752", "%ld",
-__LINE__, 0x00da8e0fL, "DA8E0F", "%2.2X",
-__LINE__, -0x3ee095ecL, "-1054905836", "% 0d",
-__LINE__, 0xfffdb5a3L, "fffdb5a3", "%x",
-__LINE__, 0xffffff83L, "FFFFFF83", "%X",
-__LINE__, 0xfff8efd7L, "0xfff8efd7", "%#x",
-__LINE__, 0x00000020L, " 32", "% d",
-__LINE__, 0xfff7c002L, "fff7c002", "%.7x",
-__LINE__, -0x0000001L, "-1", "%ld",
-__LINE__, 0x00000000L, " 000", "%05.3X",
-__LINE__, 0xfff190eeL, "FFF190EE", "%X",
-__LINE__, 0x00000a6cL, " 2668", "%#6.ld",
-__LINE__, 0x00037024L, "37024", "%x",
-__LINE__, 0xfffec37fL, "FFFEC37F", "%X",
-__LINE__, 0x007ee9bbL, "8317371", "%#0.ld",
-__LINE__, 0x00000122L, "290", "%ld",
-__LINE__, -0x0013b5fL, "-80735", "%ld",
-__LINE__, 0xfffffff6L, "FFFFFFF6", "%X",
-__LINE__, -0x0000c16L, "-0003094", "%-00.7d",
-__LINE__, -0x00010edL, "-4333", "%ld",
-__LINE__, 0x00000007L, " 0X007", "%#6.3X",
-__LINE__, 0x0053781eL, " 5470238", "% 2d",
-__LINE__, 0xffff03e9L, "0XFFFF03E9", "%+#7.3X",
-__LINE__, 0xfffffdc2L, "0xfffffdc2", "% #4.x",
-__LINE__, -0x00018e1L, "-6369", "%d",
-__LINE__, 0xf3a4abc6L, "F3A4ABC6", "%-.2X",
-__LINE__, 0xfff64a27L, "FFF64A27", "%7.7X",
-__LINE__, 0x00195ae5L, "195AE5", "%+03.X",
-__LINE__, 0xfff8849aL, "fff8849a", "%.1x",
-__LINE__, -0x001b045L, "-110661", "%+ld",
-__LINE__, 0x01e8a106L, "32022790", "%7.ld",
-__LINE__, 0x0008ee94L, "8EE94", "%X",
-__LINE__, 0xfffcdabcL, "FFFCDABC", "%X",
-__LINE__, 0xfda75cd2L, "fda75cd2", "%x",
-__LINE__, 0x00fd505aL, "fd505a", "%x",
-__LINE__, 0x00003748L, "3748", "%+x",
-__LINE__, 0xffffffe5L, "ffffffe5", "% 3.6x",
-__LINE__, -0x1d1c4045L, "-488390725", "%d",
-__LINE__, 0xfffffff9L, "0xfffffff9", "%#x",
-__LINE__, -0x0000001L, "-1", "%-#ld",
-__LINE__, 0x00000191L, "191", "%X",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%-X",
-__LINE__, -0x0000006L, "-6", "%ld",
-__LINE__, 0x00000033L, " 33", "% 4x",
-__LINE__, -0x0159a14L, "-1415700", "% ld",
-__LINE__, 0x000001c3L, "00001c3", "%07x",
-__LINE__, 0xffffe9e2L, "ffffe9e2", "%-x",
-__LINE__, 0x5b19abd9L, "0x5b19abd9", "%-#x",
-__LINE__, 0xffff1baeL, "0xffff1bae", "%#x",
-__LINE__, 0x00000001L, "+1", "%+d",
-__LINE__, 0x006a23c7L, "6A23C7", "%2.X",
-__LINE__, 0x000008a4L, " 8a4", "% 4.1x",
-__LINE__, 0xfffffcd9L, "fffffcd9", "%.1x",
-__LINE__, 0x0000121bL, "121B", "%X",
-__LINE__, 0x001231aaL, "1192362", "%7.d",
-__LINE__, -0x008026dL, "-524909", "%4.2d",
-__LINE__, 0x192ea594L, "422487444", "%ld",
-__LINE__, 0x0001a800L, "108544", "%0d",
-__LINE__, 0x000062f1L, "62f1", "%.4x",
-__LINE__, 0xff8b39b0L, "ff8b39b0", "% x",
-__LINE__, 0x00000001L, "0x1", "%+#x",
-__LINE__, 0x0000144aL, "5194", "%ld",
-__LINE__, 0x00002599L, "9625", "%d",
-__LINE__, 0xffa0a2efL, "ffa0a2ef", "%0x",
-__LINE__, 0xff6712e1L, "FF6712E1", "%0X",
-__LINE__, 0x0007ebb3L, "519091", "%1ld",
-__LINE__, 0x0000000fL, "15 ", "%-4.ld",
-__LINE__, -0x0000096L, "-150", "%2.ld",
-__LINE__, 0x0000004fL, "4F", "%.2X",
-__LINE__, 0xfffffc29L, "fffffc29", "%-4.x",
-__LINE__, 0x00000019L, "19", "%x",
-__LINE__, 0x00000c4eL, "c4e", "%x",
-__LINE__, 0x0000006bL, " 0006B", "%6.5X",
-__LINE__, 0x00c8d2c6L, "c8d2c6", "%.0x",
-__LINE__, -0x256fb8deL, "-628078814", "%ld",
-__LINE__, 0x4f51fcf4L, "4F51FCF4", "%+X",
-__LINE__, 0x000f000eL, "983054", "%1.ld",
-__LINE__, 0xfffff03fL, "fffff03f", "%x",
-__LINE__, 0x0000001dL, " 1D", "%05.X",
-__LINE__, 0x0072ea14L, "72ea14", "%x",
-__LINE__, -0xc6098b9L, "-207657145", "%-7d",
-__LINE__, 0x00000a76L, "2678", "%3ld",
-__LINE__, 0xfff84db3L, "FFF84DB3", "%X",
-__LINE__, 0x0fb52870L, "fb52870", "%+x",
-__LINE__, 0x08bc170aL, "0x8bc170a", "%#x",
-__LINE__, 0xfffeeb00L, "fffeeb00", "%0.5x",
-__LINE__, 0x000ece95L, "970389", "%d",
-__LINE__, 0x00000000L, "0", "%0X",
-__LINE__, 0x07f98e8aL, "7f98e8a", "% x",
-__LINE__, 0x000499ebL, " 499eb", "% 6.x",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%-X",
-__LINE__, 0x0aa45e86L, "178544262", "%#.2d",
-__LINE__, 0xff73387dL, "FF73387D", "%03.X",
-__LINE__, 0xfffffb51L, "FFFFFB51", "%.3X",
-__LINE__, 0xffffffdcL, "ffffffdc", "%6.x",
-__LINE__, 0xffffffedL, "FFFFFFED", "%-X",
-__LINE__, 0x0001c4c2L, "1c4c2", "%0.3x",
-__LINE__, -0x0000001L, "-0000001", "%-#.7d",
-__LINE__, 0x00000007L, "7", "%0.x",
-__LINE__, 0x00000001L, "1", "%ld",
-__LINE__, 0xffffd000L, "ffffd000", "%4.3x",
-__LINE__, 0x00000030L, "48", "%2.d",
-__LINE__, -0x6c121ceL, "-113320398", "%.5ld",
-__LINE__, 0x000001edL, "1ED", "% 3.X",
-__LINE__, 0xfffff0f3L, "FFFFF0F3", "%+.6X",
-__LINE__, 0xffffffecL, "ffffffec", "%x",
-__LINE__, 0x002d5ab8L, "0x2d5ab8", "%-#x",
-__LINE__, 0x0026acffL, "2534655", "%0ld",
-__LINE__, 0x01d90cd7L, "+31001815", "%+.2ld",
-__LINE__, -0x1f7abc0L, "-33008576", "%7.6d",
-__LINE__, 0xfc5babccL, "fc5babcc", "%x",
-__LINE__, -0x9b74892L, "-163006610", "% .6d",
-__LINE__, 0x03931d84L, "59972996", "%0.d",
-__LINE__, 0x07d261ceL, "131228110", "%#ld",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, 0x00000002L, "2", "%+X",
-__LINE__, -0x0000604L, "-1540", "%+d",
-__LINE__, 0x00000000L, " ", "%7.x",
-__LINE__, 0x00000001L, "1", "%.0X",
-__LINE__, -0x0005a8eL, "-23182", "% d",
-__LINE__, 0x03fb2730L, "3fb2730", "%7.x",
-__LINE__, 0xffffff03L, "ffffff03", "%x",
-__LINE__, 0x00000000L, " ", "%-#3.d",
-__LINE__, 0x04025a4bL, "0X4025A4B", "%+#X",
-__LINE__, -0x0000001L, " -1", "%4.d",
-__LINE__, 0xfffe00a3L, "FFFE00A3", "%+X",
-__LINE__, -0x1b26e3c8L, "-455533512", "% ld",
-__LINE__, 0x000017e5L, "6117", "%d",
-__LINE__, -0x0e4f3b6L, "-15004598", "%0ld",
-__LINE__, 0x00000034L, "52", "%ld",
-__LINE__, 0x0000024cL, " 24C", "%4X",
-__LINE__, 0xfffedf65L, "FFFEDF65", "%-0X",
-__LINE__, -0x000ff1fL, "-65311", "%+#d",
-__LINE__, 0x00000007L, " 7", "%7.x",
-__LINE__, 0x018656aeL, "18656ae", "%3.7x",
-__LINE__, -0x0000004L, "-4", "%d",
-__LINE__, 0x7081292dL, "1887512877", "%d",
-__LINE__, 0x87d3e48cL, "87d3e48c", "%-x",
-__LINE__, 0xf99c516eL, "0xf99c516e", "% #7.4x",
-__LINE__, 0xfffffffaL, "FFFFFFFA", "%-1X",
-__LINE__, -0x000001dL, "-29", "%#ld",
-__LINE__, -0x0000001L, "-1", "%+ld",
-__LINE__, 0x28ab3350L, " 682308432", "% 1d",
-__LINE__, -0x0000006L, "-6", "%ld",
-__LINE__, 0xfffffffbL, "FFFFFFFB", "%.5X",
-__LINE__, -0x0000007L, "-7", "%#d",
-__LINE__, -0x0000328L, " -808", "%6.ld",
-__LINE__, -0x29386f00L, "-691564288", "%.3d",
-__LINE__, -0x059f38aL, "-5895050", "%.4ld",
-__LINE__, 0xfffff888L, "FFFFF888", "%3X",
-__LINE__, 0xffffffdfL, "ffffffdf", "%0.0x",
-__LINE__, -0xb4fc354L, "-189776724", "%2d",
-__LINE__, 0x00058c07L, "363527", "%1.d",
-__LINE__, 0x0a256162L, "a256162", "%x",
-__LINE__, -0x05c87b0L, "-6064048", "%0ld",
-__LINE__, 0xfffffda1L, "fffffda1", "%x",
-__LINE__, 0x000034b7L, "13495", "%d",
-__LINE__, -0x6d1a8918L, "-1830455576", "%.1d",
-__LINE__, 0x00022290L, "139920", "%05ld",
-__LINE__, 0x00000000L, "0", "%-x",
-__LINE__, -0x1f8eafceL, "-529444814", "%4.d",
-__LINE__, -0x7bf32808L, "-2079533064", "% ld",
-__LINE__, 0x0000023cL, "23c", "% x",
-__LINE__, 0x00000039L, "39", "%X",
-__LINE__, -0x000556dL, "-21869", "%ld",
-__LINE__, -0x00000caL, "-202", "%ld",
-__LINE__, 0x00002e28L, "11816", "%-d",
-__LINE__, 0x00000011L, "17", "%-ld",
-__LINE__, 0xfffffffbL, "FFFFFFFB", "%-X",
-__LINE__, 0xfffdd67fL, "0XFFFDD67F", "%#X",
-__LINE__, -0x000003dL, "-61", "%d",
-__LINE__, 0x0000bfceL, "0XBFCE", "%-#5.2X",
-__LINE__, 0xfffffffcL, "fffffffc", "%x",
-__LINE__, -0x00aea17L, "-715287", "%.5d",
-__LINE__, -0x02fce89L, "-3133065", "%0d",
-__LINE__, 0x007f6ed1L, "7F6ED1", "%6X",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%X",
-__LINE__, -0x0002761L, "-10081", "%#6.2d",
-__LINE__, 0x003be8d8L, "3BE8D8", "%-X",
-__LINE__, 0x00000901L, " 2305", "%6.d",
-__LINE__, 0x00049916L, "0301334", "%3.7ld",
-__LINE__, 0x0678ffeaL, "0X678FFEA", "%#4X",
-__LINE__, 0xffffffffL, "ffffffff", "%+.0x",
-__LINE__, -0x31d2ec61L, "-835906657", "%.0d",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%0X",
-__LINE__, -0x0015588L, "-87432", "%d",
-__LINE__, 0xffffff3eL, "ffffff3e", "%.4x",
-__LINE__, 0x0000000aL, "10", "%d",
-__LINE__, -0x0000003L, "-3", "%2.1ld",
-__LINE__, -0x000d29aL, "-53914", "%ld",
-__LINE__, -0x04ccbe0L, "-5032928", "%2.2ld",
-__LINE__, 0x0357c2a5L, "357c2a5", "% 7.x",
-__LINE__, 0x00000009L, " 9", "% 1.ld",
-__LINE__, -0x005908dL, "-364685", "%0d",
-__LINE__, -0x0000de6L, "-3558", "%0ld",
-__LINE__, 0x2d395e6bL, "+758734443", "%+6d",
-__LINE__, 0x001aba58L, "1ABA58", "% X",
-__LINE__, 0x0ceba5abL, "0XCEBA5AB", "%#.1X",
-__LINE__, -0x01a8575L, "-1738101", "% 2ld",
-__LINE__, 0x0000000dL, "13", "%#ld",
-__LINE__, 0x00000000L, "0", "%d",
-__LINE__, 0x4b856407L, "4b856407", "%5x",
-__LINE__, 0x006f333cL, "6F333C", "%-X",
-__LINE__, 0x000000d0L, "d0", "%x",
-__LINE__, 0x2ecf0d4eL, "2ecf0d4e", "%0x",
-__LINE__, -0x0000188L, "-0000392", "%#1.7ld",
-__LINE__, -0x0000037L, "-55", "%d",
-__LINE__, 0xfffffff1L, "FFFFFFF1", "% .1X",
-__LINE__, 0x00000001L, "0x1", "%#3x",
-__LINE__, 0x000005edL, "5ED", "%3X",
-__LINE__, 0x031183a3L, "31183A3", "%X",
-__LINE__, 0xffffffffL, "ffffffff", "%x",
-__LINE__, -0x0018695L, "-99989", "%-0.5ld",
-__LINE__, -0x0000001L, "-01", "%0.2ld",
-__LINE__, 0x00007822L, "7822", "%+x",
-__LINE__, 0x00000000L, "0", "% x",
-__LINE__, 0xfda2461aL, "FDA2461A", "%X",
-__LINE__, 0x065c50efL, "106713327", "%2.ld",
-__LINE__, 0x00000a81L, "a81", "% 0x",
-__LINE__, -0x000022eL, "-558", "%.0ld",
-__LINE__, 0x00013d2fL, "81199", "%.2ld",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%+X",
-__LINE__, 0x000015f9L, "5625", "%04.ld",
-__LINE__, 0x0ab575a2L, "179664290", "%0d",
-__LINE__, 0x0024d07fL, "0X24D07F", "%#X",
-__LINE__, 0x07ee35e1L, "7EE35E1", "%+X",
-__LINE__, -0x00c114cL, "-790860", "%#ld",
-__LINE__, 0x00003be3L, " 15331", "%07.d",
-__LINE__, 0xfff87570L, "FFF87570", "%4.0X",
-__LINE__, -0x14eab419L, "-350925849", "%-ld",
-__LINE__, -0x000001bL, "-27", "%ld",
-__LINE__, 0x167ce2eaL, "0x167ce2ea", "%#0.x",
-__LINE__, -0x00009bcL, "-002492", "% 3.6d",
-__LINE__, 0xfffffdb9L, "0XFFFFFDB9", "%#7.X",
-__LINE__, 0x008b2b9dL, "8B2B9D", "% X",
-__LINE__, 0x000cfec3L, "CFEC3", "% 05X",
-__LINE__, 0x05970be6L, "5970be6", "%x",
-__LINE__, 0x00002780L, "010112", "%2.6d",
-__LINE__, 0x00000005L, "+5", "%+d",
-__LINE__, 0xfffffffbL, "0xfffffffb", "%#3.x",
-__LINE__, 0x00000001L, "1 ", "%-#5.ld",
-__LINE__, -0x0000017L, "-23", "%ld",
-__LINE__, -0x023b943L, "-2341187", "%d",
-__LINE__, 0x0000000dL, "13", "%ld",
-__LINE__, 0x00025a03L, "25a03", "% .5x",
-__LINE__, 0x3e1ebe24L, "3e1ebe24", "% x",
-__LINE__, 0x0000013aL, "0x13a", "%#5.0x",
-__LINE__, 0xfff6f5b3L, "FFF6F5B3", "%4.X",
-__LINE__, -0x0000a8aL, "-2698", "%.3d",
-__LINE__, 0x0009dd5fL, "9dd5f", "%x",
-__LINE__, 0x000003c7L, " 3C7", "%04.2X",
-__LINE__, 0x1bcfa2f2L, "1bcfa2f2", "%+1.x",
-__LINE__, 0x0001b4f4L, "1b4f4", "%+1.x",
-__LINE__, 0x1bc19a90L, "465672848", "%#d",
-__LINE__, 0xffffffffL, "ffffffff", "%+06x",
-__LINE__, -0x0000a88L, "-2696", "%3.d",
-__LINE__, 0x00084a19L, "84A19", "%-X",
-__LINE__, 0xffe1fc8fL, "FFE1FC8F", "%0.1X",
-__LINE__, -0x0000a3aL, "-2618", "%5d",
-__LINE__, -0x0000001L, "-1", "%ld",
-__LINE__, -0x5c6183dL, "-96868413", "%+ld",
-__LINE__, -0x0000001L, "-1", "%-d",
-__LINE__, 0x0000faa8L, "64168", "%05.d",
-__LINE__, 0x003913efL, "3740655", "%ld",
-__LINE__, 0x0dde330aL, "232665866", "%#ld",
-__LINE__, 0xfcfb1a7bL, "FCFB1A7B", "%+X",
-__LINE__, 0x07b1a81fL, " 129083423", "% 0d",
-__LINE__, 0x00000001L, "1", "%d",
-__LINE__, 0x00000070L, " 112", "%5ld",
-__LINE__, 0xffff74d9L, "ffff74d9", "%x",
-__LINE__, -0x001ab93L, "-109459", "%03.d",
-__LINE__, 0x0eb6b497L, "EB6B497", "%+X",
-__LINE__, 0x07adbac2L, "128826050", "%#0.4d",
-__LINE__, 0xff747068L, "FF747068", "%6.X",
-__LINE__, -0x190ce98fL, "-420276623", "%06.6ld",
-__LINE__, -0x0000007L, "-7", "%.0d",
-__LINE__, 0x0001240fL, "1240f", "% 3x",
-__LINE__, 0x267ae4a0L, "645588128", "%-#ld",
-__LINE__, -0x0000001L, "-1", "% ld",
-__LINE__, -0x0000066L, "-00102", "%.5ld",
-__LINE__, 0x868fa035L, "868fa035", "%x",
-__LINE__, 0x00000000L, " ", "%-4.ld",
-__LINE__, 0xfffffe72L, "FFFFFE72", "%4.4X",
-__LINE__, 0x00a6b4f4L, "10925300", "%#ld",
-__LINE__, -0x0000002L, "-2", "%00.1d",
-__LINE__, -0x00000a3L, "-163", "%ld",
-__LINE__, 0xfffffffeL, "fffffffe", "% 3.x",
-__LINE__, 0xffe25941L, "ffe25941", "% x",
-__LINE__, 0x0000a20fL, "41487", "%ld",
-__LINE__, -0x000009bL, "-155", "%#.3ld",
-__LINE__, 0x000c5dc1L, "810433", "%4.ld",
-__LINE__, 0x00003ec4L, "16068", "%ld",
-__LINE__, 0x000002f3L, "0755", "%04ld",
-__LINE__, 0xffffff28L, "FFFFFF28", "%.5X",
-__LINE__, -0x08450ffL, "-8671487", "%-3.0ld",
-__LINE__, 0x00000092L, "92", "%x",
-__LINE__, -0x0000317L, "-791", "%d",
-__LINE__, 0x0000000dL, "d", "%x",
-__LINE__, 0x00000036L, "36", "%x",
-__LINE__, -0x112693fL, "-17983807", "%ld",
-__LINE__, 0x00004226L, "16934", "%0.d",
-__LINE__, 0x000001baL, " 442", "% ld",
-__LINE__, 0xfffffffcL, "0XFFFFFFFC", "%#4X",
-__LINE__, 0xffdb3d23L, "0xffdb3d23", "% #x",
-__LINE__, 0x039eb84dL, "39EB84D", "%+.6X",
-__LINE__, 0xffffc7daL, "ffffc7da", "%0x",
-__LINE__, 0xfffffdb6L, "FFFFFDB6", "%6X",
-__LINE__, 0x001b75b0L, "1799600", "%ld",
-__LINE__, 0xfffffca2L, "FFFFFCA2", "%-X",
-__LINE__, 0xffffffbaL, "ffffffba", "%7.4x",
-__LINE__, -0x000124eL, "-4686", "%3.ld",
-__LINE__, -0x000bec0L, "-48832", "% 0d",
-__LINE__, 0xfffffca0L, "fffffca0", "%2.x",
-__LINE__, 0x00b2a462L, "11707490", "%ld",
-__LINE__, 0x0745a647L, "745a647", "%+4.x",
-__LINE__, 0xfffffbacL, "0XFFFFFBAC", "%#3.X",
-__LINE__, -0x0000002L, "-2", "%-0.1d",
-__LINE__, 0x0006cfdbL, "446427", "%#5.d",
-__LINE__, -0x0000001L, "-1", "%d",
-__LINE__, 0x043b134eL, "43B134E", "%X",
-__LINE__, -0x0000015L, "-21", "%ld",
-__LINE__, -0x0000114L, "-276", "%0d",
-__LINE__, -0x0004d4aL, "-19786", "%-d",
-__LINE__, -0x000001cL, "-28", "%ld",
-__LINE__, -0x0cb89fcL, "-13339132", "%ld",
-__LINE__, 0xffffffcfL, "ffffffcf", "%x",
-__LINE__, 0xf6d2387aL, "f6d2387a", "%-x",
-__LINE__, -0x00000cdL, "-205", "%#ld",
-__LINE__, 0x00000000L, "0", "%#x",
-__LINE__, 0xfffffc81L, "fffffc81", "%x",
-__LINE__, 0x00000000L, " 0", "% ld",
-__LINE__, 0x00024fb5L, "24fb5", "%x",
-__LINE__, 0x000012faL, "12FA", "%X",
-__LINE__, 0x0318ce7cL, "51957372", "%0d",
-__LINE__, 0x02280a99L, "2280a99", "%-x",
-__LINE__, 0xffffff5cL, "FFFFFF5C", "%2.X",
-__LINE__, -0x000002eL, " -46", "%7ld",
-__LINE__, -0x04a73e8L, "-4879336", "%4ld",
-__LINE__, 0x000007f3L, "7f3", "% 1.3x",
-__LINE__, 0x00000114L, "0x114", "%#x",
-__LINE__, 0x0000030cL, "30c", "%-x",
-__LINE__, 0x001dd0ddL, "0x1dd0dd", "%+#5.5x",
-__LINE__, 0xfff23de3L, "fff23de3", "%-x",
-__LINE__, -0x0178f9cL, "-1544092", "%d",
-__LINE__, 0x02ded8daL, "2DED8DA", "%X",
-__LINE__, -0x0991672L, "-10032754", "%3.d",
-__LINE__, 0x6943c150L, "6943c150", "%x",
-__LINE__, 0xffffc25dL, "FFFFC25D", "%4X",
-__LINE__, 0x00000c9cL, " 0003228", "% .7d",
-__LINE__, 0xffffffdfL, "FFFFFFDF", "% 6.X",
-__LINE__, 0x0001a145L, " 1a145", "%6.0x",
-__LINE__, 0xffdc832fL, "0xffdc832f", "%#.1x",
-__LINE__, 0x00699f7bL, "699f7b", "%x",
-__LINE__, 0xf9575268L, "F9575268", "%+0X",
-__LINE__, 0x04eb4783L, "82528131", "%-ld",
-__LINE__, -0x0000023L, "-35", "%0ld",
-__LINE__, -0x012b08aL, "-1224842", "%0d",
-__LINE__, 0xffffb587L, "FFFFB587", "%X",
-__LINE__, 0xffffffe9L, "ffffffe9", "%x",
-__LINE__, 0x006b5596L, " 7034262", "% 0d",
-__LINE__, 0x004d0d2aL, "+5049642", "%+ld",
-__LINE__, -0x002a099L, "-172185", "%d",
-__LINE__, 0x00000224L, "548", "%ld",
-__LINE__, 0x03e0cca8L, "65064104", "%d",
-__LINE__, -0x7bb389dL, "-129710237", "%.3ld",
-__LINE__, 0xffc630f5L, "ffc630f5", "%-07.0x",
-__LINE__, 0xfffffff8L, "FFFFFFF8", "%X",
-__LINE__, 0x0030225bL, "3154523", "%#d",
-__LINE__, 0xff7f4e28L, "ff7f4e28", "%+4.x",
-__LINE__, 0x14ee154dL, "+351147341", "%+ld",
-__LINE__, 0x00000003L, "03", "%.2d",
-__LINE__, 0xfe0359d6L, "fe0359d6", "%x",
-__LINE__, 0x002b71c3L, "2847171", "%d",
-__LINE__, 0x055c4d4aL, "55C4D4A", "%-X",
-__LINE__, 0xfffb17d2L, "fffb17d2", "% .0x",
-__LINE__, 0x00000002L, "2", "%x",
-__LINE__, 0x000018e1L, "18E1", "%1.1X",
-__LINE__, 0x00000331L, "817", "%0d",
-__LINE__, -0x0000982L, "-2434 ", "%-06.ld",
-__LINE__, -0x0000168L, "-0000360", "%.7ld",
-__LINE__, 0xffffffe9L, "FFFFFFE9", "%-0.4X",
-__LINE__, 0xe42084efL, "E42084EF", "%X",
-__LINE__, 0x000000aaL, "aa", "%x",
-__LINE__, -0xe8b98b5L, "-244029621", "%+d",
-__LINE__, -0x00000d9L, "-217", "%+2.d",
-__LINE__, 0x0000027bL, "27B", "%+.0X",
-__LINE__, 0x002e52dbL, "3035867", "%-ld",
-__LINE__, -0x00e2ba8L, "-928680", "%0.2ld",
-__LINE__, 0x003b74d8L, "3B74D8", "%X",
-__LINE__, -0x000006fL, "-111", "%+ld",
-__LINE__, 0xf8507e22L, "0XF8507E22", "%-#X",
-__LINE__, 0x0629f4c0L, "103412928", "%-ld",
-__LINE__, -0x000002dL, "-45", "%0d",
-__LINE__, -0x0001db0L, "-7600", "%d",
-__LINE__, -0x00001bbL, " -443", "%5.ld",
-__LINE__, 0xffffd2b9L, "ffffd2b9", "%+x",
-__LINE__, 0xffffe685L, "0XFFFFE685", "%#0.7X",
-__LINE__, 0x0000a4ceL, "A4CE", "% X",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%X",
-__LINE__, 0x0000000cL, "C", "% X",
-__LINE__, 0xfff59369L, "FFF59369", "%7X",
-__LINE__, 0x00000156L, " 156", "%5.X",
-__LINE__, 0x02833aa9L, "+42154665", "%+2d",
-__LINE__, 0x0004a8f3L, "+305395", "%+d",
-__LINE__, 0x01a09267L, "1A09267", "%0.3X",
-__LINE__, 0x000004f1L, "4f1", "%x",
-__LINE__, 0x00000005L, "5", "%x",
-__LINE__, 0x00000119L, " 0281", "% #2.4ld",
-__LINE__, -0x0001a2aL, "-6698", "%ld",
-__LINE__, 0xa3633a57L, "A3633A57", "%7X",
-__LINE__, -0x10bd2970L, "-280832368", "%-d",
-__LINE__, 0xffff9c38L, "ffff9c38", "%x",
-__LINE__, 0xffdbe81eL, "ffdbe81e", "%+6.7x",
-__LINE__, 0xffffffe7L, "FFFFFFE7", "%-3.0X",
-__LINE__, 0x0002f6d6L, "2f6d6", "%5.x",
-__LINE__, 0xffffffffL, "ffffffff", "% x",
-__LINE__, 0xffc2c07aL, "ffc2c07a", "%0.x",
-__LINE__, 0xfcc0e13aL, "FCC0E13A", "%X",
-__LINE__, 0x0000000dL, "d", "% x",
-__LINE__, 0x0016cac8L, "16CAC8", "%-0.3X",
-__LINE__, 0x00945dc1L, "9723329", "%2d",
-__LINE__, 0xf19a1cd1L, "F19A1CD1", "%-X",
-__LINE__, 0x00000003L, "+3", "%+ld",
-__LINE__, 0x00000773L, "1907", "%ld",
-__LINE__, 0x000263e6L, "263e6", "%-x",
-__LINE__, -0x0238b55L, "-2329429", "%d",
-__LINE__, 0x00006c56L, "6C56", "%X",
-__LINE__, 0x0000f34bL, "62283", "%#.0ld",
-__LINE__, -0x1620e21L, "-23203361", "%0ld",
-__LINE__, 0xf9257d6aL, "f9257d6a", "%2x",
-__LINE__, -0x00ed463L, "-971875", "%03.d",
-__LINE__, 0x02bb94c6L, "45847750", "%d",
-__LINE__, 0xffffd20cL, "0XFFFFD20C", "%#X",
-__LINE__, 0x000087d8L, "34776", "%.0d",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%+7.X",
-__LINE__, -0x0009cd5L, "-40149", "%-ld",
-__LINE__, 0xfffff85eL, "FFFFF85E", "% 0.7X",
-__LINE__, -0x0000006L, " -6", "%+#6.ld",
-__LINE__, 0x007ff453L, "0x7ff453", "%-#1.x",
-__LINE__, 0xffffffe6L, "FFFFFFE6", "%2X",
-__LINE__, 0x0000001fL, "0X1F", "%#4X",
-__LINE__, -0x001c157L, "-115031", "%.3ld",
-__LINE__, 0x00096e06L, "617990", "%3.1ld",
-__LINE__, 0x0f77271dL, "259467037", "%d",
-__LINE__, -0x0001403L, "-5123", "%d",
-__LINE__, 0xffffff8aL, "ffffff8a", "%x",
-__LINE__, -0x000010fL, "-271", "%1.ld",
-__LINE__, 0xe573cc4aL, "E573CC4A", "%0X",
-__LINE__, -0x0000d88L, "-3464", "%-d",
-__LINE__, 0x0000000eL, "14", "%#ld",
-__LINE__, -0x000345bL, "-13403", "%#d",
-__LINE__, 0x00000602L, "602", "%+x",
-__LINE__, 0x00000011L, "17", "%#d",
-__LINE__, -0x0000002L, "-2", "%+d",
-__LINE__, 0x030fe6e6L, "51373798", "%d",
-__LINE__, 0x00000007L, "007", "%.3X",
-__LINE__, 0x0001abe0L, "0X1ABE0", "%+#.4X",
-__LINE__, 0xfffffdb7L, "fffffdb7", "%-6x",
-__LINE__, 0xffffff8dL, "FFFFFF8D", "% 02.2X",
-__LINE__, 0xfff12126L, "FFF12126", "%X",
-__LINE__, 0x0208e32dL, "34136877", "%.2d",
-__LINE__, 0x11c04b55L, "297814869", "%ld",
-__LINE__, 0xff1e5ca3L, "0xff1e5ca3", "%#x",
-__LINE__, 0xf9643f09L, "f9643f09", "%x",
-__LINE__, -0x003c6daL, "-247514", "%4d",
-__LINE__, 0xff69d0e7L, "FF69D0E7", "%-X",
-__LINE__, 0x00006ae9L, "0x6ae9", "%#x",
-__LINE__, -0x005aefeL, "-372478", "%d",
-__LINE__, 0x0000000dL, "00013", "%3.5ld",
-__LINE__, 0x00cc185cL, "CC185C", "%X",
-__LINE__, 0x3dd14d9fL, "3DD14D9F", "%1.4X",
-__LINE__, -0x4cc2ad3L, "-80489171", "%1.d",
-__LINE__, 0xfffff79eL, "fffff79e", "%x",
-__LINE__, 0xfffeeb03L, "fffeeb03", "%-1x",
-__LINE__, -0x0b1b15cL, "-11645276", "%0ld",
-__LINE__, -0x06b558dL, "-7034253", "%ld",
-__LINE__, 0xfffffe61L, "fffffe61", "%x",
-__LINE__, -0x0000002L, "-2", "%d",
-__LINE__, -0x0000162L, "-000354", "%-5.6d",
-__LINE__, 0x01a23780L, "27408256", "%d",
-__LINE__, 0xffff3a9bL, "ffff3a9b", "% x",
-__LINE__, 0xfffffdc7L, "0xfffffdc7", "%#4.5x",
-__LINE__, 0x00000000L, "00", "%.2X",
-__LINE__, -0x0000006L, "-6", "%0ld",
-__LINE__, -0x16072c6L, "-23098054", "%#5ld",
-__LINE__, -0x07152b8L, "-7426744", "%01ld",
-__LINE__, 0x0000d6c6L, "0x0d6c6", "%#1.5x",
-__LINE__, 0x00000f7cL, "000f7c", "%+04.6x",
-__LINE__, 0x00000bd0L, "3024", "%4ld",
-__LINE__, 0x0000295eL, "0x295e", "%#x",
-__LINE__, 0x00002e38L, "11832", "%.5d",
-__LINE__, -0xa2f5de4L, "-170876388", "%#d",
-__LINE__, -0x001aa36L, "-109110", "%-#d",
-__LINE__, 0x03012091L, "3012091", "%+2.5X",
-__LINE__, -0x00009edL, "-002541", "%-0.6ld",
-__LINE__, 0x0000001dL, "1d", "%x",
-__LINE__, 0xffffe315L, "FFFFE315", "%+4X",
-__LINE__, 0x0000716bL, "716B", "%X",
-__LINE__, 0xfffb8315L, "0xfffb8315", "%+#x",
-__LINE__, 0x00000132L, "132 ", "%-7.3x",
-__LINE__, 0x00000000L, "+0000000", "%+1.7d",
-__LINE__, 0xe16d27abL, "E16D27AB", "%X",
-__LINE__, 0xffffffe5L, "ffffffe5", "%+x",
-__LINE__, -0x000ab9dL, "-43933", "%ld",
-__LINE__, 0xffd042d6L, "ffd042d6", "%2x",
-__LINE__, 0xffffff9bL, "ffffff9b", "%x",
-__LINE__, 0x000000fbL, "0xfb", "% #1.x",
-__LINE__, 0x0000000fL, " 15", "%#3ld",
-__LINE__, 0xfffba2d8L, "0XFFFBA2D8", "%-#0.X",
-__LINE__, 0xfffffff8L, "0XFFFFFFF8", "% #X",
-__LINE__, 0x00000000L, " ", "%4.ld",
-__LINE__, 0x00000002L, "2", "%+x",
-__LINE__, 0xfffff314L, "FFFFF314", "%-X",
-__LINE__, 0x00000000L, " 0", "% ld",
-__LINE__, -0x0000007L, "-07", "%3.2ld",
-__LINE__, 0xffffdd80L, "FFFFDD80", "%.6X",
-__LINE__, -0x000001bL, "-27", "%-ld",
-__LINE__, -0x0000258L, "-600", "%-0d",
-__LINE__, 0x00016377L, "16377", "%3X",
-__LINE__, 0x00000001L, "1", "%X",
-__LINE__, -0xac5d314L, "-180736788", "%d",
-__LINE__, -0x000036eL, "-878", "% ld",
-__LINE__, 0xfe346af4L, "fe346af4", "%.5x",
-__LINE__, 0xffffffe1L, "ffffffe1", "%-7.6x",
-__LINE__, -0x0a1df07L, "-10608391", "%#.5d",
-__LINE__, 0x000000c9L, " 0XC9", "%+#5.X",
-__LINE__, 0xfffffffeL, "fffffffe", "%x",
-__LINE__, 0xfffffff8L, "fffffff8", "%+x",
-__LINE__, -0x4517255L, "-72446549", "%.6ld",
-__LINE__, 0xfffa3670L, "FFFA3670", "%-6X",
-__LINE__, 0xffffffe0L, "ffffffe0", "%2.x",
-__LINE__, 0xffffffffL, "ffffffff", "%0x",
-__LINE__, 0x0000230dL, "8973", "%#.1d",
-__LINE__, 0x00000238L, "238", "%0X",
-__LINE__, 0xfffce5abL, "FFFCE5AB", "%-X",
-__LINE__, 0x0000002cL, "2C", "%X",
-__LINE__, 0x00000001L, " 1", "%4.ld",
-__LINE__, 0xffffff8dL, "FFFFFF8D", "%-X",
-__LINE__, 0x00069c69L, "433257", "%06d",
-__LINE__, 0xfffffb8dL, "0xfffffb8d", "%#x",
-__LINE__, 0x000d6a2dL, "879149", "%5.5d",
-__LINE__, -0x0001fcbL, " -8139", "%7.ld",
-__LINE__, 0xfff86937L, "fff86937", "%-0x",
-__LINE__, 0x00059cf9L, "367865", "%#.0ld",
-__LINE__, 0x02c5d87aL, "46520442", "%3.ld",
-__LINE__, 0x00000571L, "1393", "%ld",
-__LINE__, 0x0003c73fL, "+247615", "%+4ld",
-__LINE__, 0x0000004fL, "4f", "% 0x",
-__LINE__, 0x00000000L, "0", "%-ld",
-__LINE__, -0x0e5850fL, "-15041807", "% ld",
-__LINE__, -0x0000002L, " -0002", "%7.4d",
-__LINE__, 0xfffffd1bL, "fffffd1b", "%05x",
-__LINE__, 0x0000041cL, " 1052", "% #0.ld",
-__LINE__, -0x0000030L, "-48", "%d",
-__LINE__, -0x0013593L, "-79251", "% #d",
-__LINE__, 0x00000001L, "1", "%+X",
-__LINE__, 0x0000056bL, " 56b", "%4.x",
-__LINE__, -0x0000004L, "-4 ", "%-3d",
-__LINE__, -0x0000003L, "-3", "% ld",
-__LINE__, 0xffff7c14L, "0XFFFF7C14", "%#X",
-__LINE__, 0x02f63dd8L, "49692120", "%.7ld",
-__LINE__, -0x03c51c9L, "-3953097", "%+d",
-__LINE__, 0x00ded685L, "14603909", "%5.ld",
-__LINE__, 0xffffffbaL, "ffffffba", "%x",
-__LINE__, 0x000370e8L, "225512", "%#ld",
-__LINE__, 0x00000003L, "3", "%X",
-__LINE__, -0x0024a64L, "-150116", "%7.d",
-__LINE__, 0xff486ca1L, "ff486ca1", "%x",
-__LINE__, 0x000001cfL, "1CF", "% X",
-__LINE__, -0x0002d7eL, "-11646", "%-0d",
-__LINE__, 0x0a594c65L, "a594c65", "%.4x",
-__LINE__, -0x0000002L, "-0002", "%-5.4ld",
-__LINE__, 0x00000000L, "", "%00.ld",
-__LINE__, 0x00058bc4L, "58BC4", "%3X",
-__LINE__, 0x0002cf8eL, " 184206", "% 0ld",
-__LINE__, 0x000009c7L, "+2503", "%+4.ld",
-__LINE__, 0xed0c984dL, "ED0C984D", "%X",
-__LINE__, -0x0000058L, "-088", "%#.3ld",
-__LINE__, 0x0076083dL, "0X76083D", "%#6X",
-__LINE__, -0x0000001L, "-1", "%#d",
-__LINE__, -0x6bf1777L, "-113186679", "%#ld",
-__LINE__, -0x000011fL, "-287", "%ld",
-__LINE__, 0x001b0e7dL, "1B0E7D", "%-4X",
-__LINE__, 0x000007acL, " 1964", "%5.ld",
-__LINE__, 0x00000005L, "5", "%0.d",
-__LINE__, -0x00003baL, "-954", "%4.0ld",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%X",
-__LINE__, 0x00000019L, "19", "%x",
-__LINE__, 0xffffffe0L, "ffffffe0", "%-.6x",
-__LINE__, 0x0000012aL, " 298", "% d",
-__LINE__, 0x00002c74L, "2c74", "% 4.3x",
-__LINE__, 0x000002d5L, "725", "%d",
-__LINE__, 0x0001c9a9L, "1c9a9", "%-02x",
-__LINE__, 0xffc928c8L, "ffc928c8", "%x",
-__LINE__, -0x03ae51fL, "-3859743", "% #ld",
-__LINE__, 0x0000526dL, "526d", "%x",
-__LINE__, -0x00028f0L, "-10480", "%5ld",
-__LINE__, -0x49b4262L, "-77283938", "%+02.0d",
-__LINE__, 0x028d37f0L, "0x28d37f0", "%+#x",
-__LINE__, 0xd66e0af9L, "D66E0AF9", "%03.X",
-__LINE__, -0x00c7707L, "-816903", "%0d",
-__LINE__, -0x00000d0L, "-208", "%-.1ld",
-__LINE__, 0x0000c328L, "49960", "%d",
-__LINE__, 0x34cb86f1L, "34CB86F1", "%X",
-__LINE__, 0x000000f6L, "F6", "%+X",
-__LINE__, 0x0a3407ecL, "0xa3407ec", "%-#x",
-__LINE__, 0x00007ebcL, "32444", "%#3.d",
-__LINE__, 0xfffd3d65L, "fffd3d65", "%x",
-__LINE__, 0x0007bc82L, "0507010", "%0.7d",
-__LINE__, 0x0005bb93L, "375699", "%ld",
-__LINE__, 0x0ec11cc8L, "0XEC11CC8", "%+#6.2X",
-__LINE__, 0xfffff9c6L, "fffff9c6", "%.5x",
-__LINE__, 0xff05ab70L, "0XFF05AB70", "%-#.3X",
-__LINE__, 0x2328b716L, "589870870", "%d",
-__LINE__, 0x00001a79L, "6777", "%.1d",
-__LINE__, 0xfffee573L, "fffee573", "%0.1x",
-__LINE__, -0x0000929L, " -2345", "%7.d",
-__LINE__, 0xffffff9aL, "FFFFFF9A", "%2.X",
-__LINE__, 0xfffffe60L, "fffffe60", "%.5x",
-__LINE__, 0xfffffcd2L, "fffffcd2", "%.7x",
-__LINE__, 0x00000001L, " 001", "%6.3X",
-__LINE__, 0x00011e9cL, "+73372", "%+0ld",
-__LINE__, 0x0000002aL, "2a", "% x",
-__LINE__, 0xffffffffL, "ffffffff", "%.7x",
-__LINE__, -0x0008ee8L, "-36584", "%ld",
-__LINE__, 0x0000001cL, "28", "%-d",
-__LINE__, 0x000abedaL, "704218", "%d",
-__LINE__, 0x001347f7L, "1347f7", "%3.0x",
-__LINE__, 0x0000023eL, "574", "%3.3ld",
-__LINE__, 0x00000000L, "0", "%-ld",
-__LINE__, -0x0016de0L, "-93664", "%0ld",
-__LINE__, 0xffffff45L, "FFFFFF45", "% X",
-__LINE__, 0x02dfb08cL, "48214156", "%#ld",
-__LINE__, 0x003d73a2L, "3d73a2", "%6.x",
-__LINE__, 0x00147da7L, "1342887", "%#d",
-__LINE__, -0x5ff0f1eL, "-100601630", "%-01ld",
-__LINE__, -0x000000bL, "-11", "%ld",
-__LINE__, 0x00000168L, " 168", "%+6.x",
-__LINE__, 0xffffc28eL, "ffffc28e", "%0x",
-__LINE__, -0x00003a2L, "-930", "%ld",
-__LINE__, 0x0002e56fL, " 189807", "% 1.ld",
-__LINE__, 0x51abf44fL, "0x51abf44f", "%#.7x",
-__LINE__, 0x00000000L, "0", "%d",
-__LINE__, 0x9581268fL, "9581268F", "%+X",
-__LINE__, 0xffffff3bL, "FFFFFF3B", "%X",
-__LINE__, 0x000083d4L, " 33748", "% #d",
-__LINE__, 0x00000001L, "1", "%x",
-__LINE__, -0x000e51fL, "-58655", "%.0ld",
-__LINE__, 0x0003eacbL, "256715", "%6ld",
-__LINE__, 0x02be09dbL, " 46008795", "% 0.ld",
-__LINE__, 0xfffffffbL, "FFFFFFFB", "% X",
-__LINE__, 0x000084f5L, " 34037", "%6ld",
-__LINE__, -0x1127f99L, "-17989529", "%#d",
-__LINE__, 0x5f6512deL, "5f6512de", "%.7x",
-__LINE__, 0x00000001L, "1", "%x",
-__LINE__, 0xfff74ab5L, "fff74ab5", "%x",
-__LINE__, 0x0eebeb94L, "250342292", "%4.ld",
-__LINE__, 0x0001b846L, "0x1b846", "%#1x",
-__LINE__, 0x001e8c32L, "1E8C32", "%2X",
-__LINE__, -0x0dae932L, "-14346546", "%5.1d",
-__LINE__, 0x00000001L, "1", "%ld",
-__LINE__, -0x0000042L, "-66", "%ld",
-__LINE__, 0xffffff51L, "FFFFFF51", "%0.1X",
-__LINE__, 0x00000043L, "43", "%x",
-__LINE__, 0x04c21f39L, " 79830841", "% 0ld",
-__LINE__, 0x0000061eL, "1566", "%03.3d",
-__LINE__, -0x0000003L, "-3", "%+d",
-__LINE__, 0x015b32dbL, " 22754011", "% .4d",
-__LINE__, 0xfffff181L, "FFFFF181", "%-X",
-__LINE__, 0x000017ecL, "0X17EC", "%#X",
-__LINE__, 0x000d703eL, "880702", "%#ld",
-__LINE__, -0x6d7533a0L, "-1836397472", "%ld",
-__LINE__, 0x0000008aL, " 138", "% d",
-__LINE__, -0x7368794bL, "-1936226635", "%+#d",
-__LINE__, 0x0000000dL, "0XD", "%#X",
-__LINE__, 0x0000030dL, "30D", "% X",
-__LINE__, 0xfffff9feL, "FFFFF9FE", "%5X",
-__LINE__, 0x00001bb2L, "7090", "%d",
-__LINE__, 0x041d2a0cL, "41D2A0C", "%0X",
-__LINE__, 0x00012aeeL, " 76526", "% d",
-__LINE__, 0x0000055fL, "55f", "%.1x",
-__LINE__, 0xffffffffL, "0XFFFFFFFF", "%#1X",
-__LINE__, 0x07b0a971L, "+129018225", "%+.2ld",
-__LINE__, 0xfffffff8L, "FFFFFFF8", "%4X",
-__LINE__, 0x00000001L, "1", "%d",
-__LINE__, 0x00000038L, "+56", "%+2ld",
-__LINE__, 0xfffffc2fL, "fffffc2f", "%+7.x",
-__LINE__, 0x00004477L, "0x4477", "% #x",
-__LINE__, 0x0000000dL, "0XD", "%+#3X",
-__LINE__, 0xf5bf37b1L, "F5BF37B1", "%1.X",
-__LINE__, 0x1a96f431L, "446100529", "%d",
-__LINE__, 0x0037edf3L, "+3665395", "%+#4.5ld",
-__LINE__, 0x0007f2aaL, "520874", "%0ld",
-__LINE__, -0x00051a3L, "-20899", "%+#1.ld",
-__LINE__, 0x0000037fL, "37F", "%0X",
-__LINE__, 0xffffffb4L, "ffffffb4", "%x",
-__LINE__, -0xd984c00L, "-228084736", "%+06ld",
-__LINE__, 0xffffe1beL, "FFFFE1BE", "%X",
-__LINE__, 0xfff20d48L, "FFF20D48", "%+6.0X",
-__LINE__, 0x000028b7L, "0x028b7", "%-#7.5x",
-__LINE__, -0x0000001L, "-1", "%ld",
-__LINE__, 0x03f37945L, "66287941", "%d",
-__LINE__, 0xffffffedL, "0XFFFFFFED", "%+#6.4X",
-__LINE__, 0x0000f046L, "f046", "%x",
-__LINE__, 0xe9772b51L, "E9772B51", "%-1.X",
-__LINE__, 0xfffffffeL, "fffffffe", "% x",
-__LINE__, 0xfffffffaL, "0xfffffffa", "%#x",
-__LINE__, 0x00000015L, "15", "%-X",
-__LINE__, 0x0000003cL, "60", "%#ld",
-__LINE__, 0x3103952dL, "822318381", "%0.ld",
-__LINE__, 0x17ba68bbL, "398092475", "%2d",
-__LINE__, 0x000006c4L, "+1732", "%+.2d",
-__LINE__, 0x00000043L, "67", "%#d",
-__LINE__, 0x0043fb55L, "4455253", "%.1ld",
-__LINE__, 0x00004b76L, "4b76", "% 0x",
-__LINE__, 0xfff4c56bL, "FFF4C56B", "%7X",
-__LINE__, 0x00766055L, "766055", "%+5x",
-__LINE__, -0x000009fL, "-159", "%+d",
-__LINE__, 0xffff063fL, "ffff063f", "%-2x",
-__LINE__, 0x00808fc8L, "808fc8", "%x",
-__LINE__, 0xffffffffL, "ffffffff", "%x",
-__LINE__, 0x000000f1L, "00000f1", "%+02.7x",
-__LINE__, 0x00000002L, "2", "%X",
-__LINE__, 0x00000000L, "000", "%03d",
-__LINE__, 0xe63f73b2L, "E63F73B2", "% 1X",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%5.1X",
-__LINE__, 0x0d3fa38bL, "222274443", "%1d",
-__LINE__, 0x00000000L, "0", "% X",
-__LINE__, 0x00000001L, " 1", "%04.ld",
-__LINE__, 0x00000046L, "46", "%0X",
-__LINE__, 0x0000761fL, " 30239", "% ld",
-__LINE__, -0x0002517L, "-9495", "%+d",
-__LINE__, 0x00000156L, "156", "% 0x",
-__LINE__, 0x1c55eba2L, "1c55eba2", "%.6x",
-__LINE__, 0x005af80dL, "5af80d", "%.6x",
-__LINE__, 0x0000002eL, "46", "%d",
-__LINE__, -0x0007c0fL, "-31759", "%ld",
-__LINE__, 0xffffe924L, "FFFFE924", "%7X",
-__LINE__, 0x00000174L, "372", "%ld",
-__LINE__, 0xffffffc9L, "0xffffffc9", "%-#x",
-__LINE__, 0x00000020L, "+000032", "%+07d",
-__LINE__, 0xffffe5d9L, "FFFFE5D9", "%4.5X",
-__LINE__, 0xffffffa3L, "FFFFFFA3", "%+.3X",
-__LINE__, 0x00000a03L, "+2563", "%+2d",
-__LINE__, 0x001b58caL, "+1792202", "%+4d",
-__LINE__, 0xffffffc9L, "0xffffffc9", "%+#5x",
-__LINE__, -0x0000003L, "-3", "% d",
-__LINE__, 0xfffffffcL, "fffffffc", "%+0x",
-__LINE__, -0x0000002L, "-02", "%.2d",
-__LINE__, 0x000243fbL, "148475", "%-ld",
-__LINE__, 0x00000001L, "1", "%0d",
-__LINE__, -0x0000672L, "-1650", "%ld",
-__LINE__, -0x0005413L, "-0021523", "% 7.7d",
-__LINE__, 0x00000017L, "0X17", "%#X",
-__LINE__, 0x00000e48L, "3656", "%0d",
-__LINE__, 0xffe79b38L, "ffe79b38", "%-x",
-__LINE__, 0xffffff15L, "FFFFFF15", "%+6.1X",
-__LINE__, 0xfff0272cL, "fff0272c", "%-.5x",
-__LINE__, -0x00b706fL, "-749679", "%1.ld",
-__LINE__, 0x0176aeecL, "176AEEC", "%.1X",
-__LINE__, -0x00005a1L, "-1441", "% 0ld",
-__LINE__, -0x0000002L, "-00002", "%.5d",
-__LINE__, -0xd2e6f5dL, "-221146973", "%1ld",
-__LINE__, -0x0000001L, " -001", "%5.3ld",
-__LINE__, 0x00000001L, " 1", "%05.ld",
-__LINE__, 0x0000749eL, "+29854", "%+#d",
-__LINE__, 0x00000005L, "5", "%d",
-__LINE__, 0xfa7128b0L, "fa7128b0", "%1.x",
-__LINE__, 0xffffbbb4L, "0XFFFFBBB4", "%#.1X",
-__LINE__, 0x0006862fL, "427567", "%d",
-__LINE__, 0x00000002L, "2", "%X",
-__LINE__, 0x000005d4L, "5d4", "% x",
-__LINE__, 0x001387e1L, "1279969", "%-05.0ld",
-__LINE__, -0x0035a56L, "-219734", "%ld",
-__LINE__, -0x4064ecc6L, "-1080356038", "%ld",
-__LINE__, 0x0000360dL, "13837", "%0ld",
-__LINE__, -0xea1a85bL, "-245475419", "%-.2ld",
-__LINE__, 0xffffff2dL, "FFFFFF2D", "%X",
-__LINE__, 0x00000004L, " 0004", "%7.4x",
-__LINE__, 0x00f72ffdL, "F72FFD", "%-X",
-__LINE__, 0x00000fa2L, "fa2 ", "%-5x",
-__LINE__, 0x05ae1f9aL, "95297434", "%#ld",
-__LINE__, 0x0000bf2eL, "48942", "%3.d",
-__LINE__, 0x00000000L, " ", "%1.X",
-__LINE__, 0x01bcb097L, "29143191", "%ld",
-__LINE__, 0x0000009cL, "156 ", "%-4.0d",
-__LINE__, 0xfffffffeL, "fffffffe", "% x",
-__LINE__, 0x00000001L, "1 ", "%-6.d",
-__LINE__, 0xffffffefL, "ffffffef", "%7.x",
-__LINE__, 0xfffffec1L, "fffffec1", "%.5x",
-__LINE__, -0x000000fL, "-15", "%-1d",
-__LINE__, -0x0008426L, "-33830", "%0ld",
-__LINE__, 0x005be0aeL, "5BE0AE", "% X",
-__LINE__, 0x00000009L, " 9", "%+7X",
-__LINE__, -0x0007e18L, "-32280", "%+0.d",
-__LINE__, 0x01697ba1L, " 23690145", "% 5.ld",
-__LINE__, -0x0012042L, "-073794", "%7.6d",
-__LINE__, 0x04e9bd0dL, "4e9bd0d", "%-2x",
-__LINE__, 0xffffffd9L, "FFFFFFD9", "%.2X",
-__LINE__, -0x01b9632L, "-1807922", "%.6ld",
-__LINE__, 0x000000cdL, "205", "%1.ld",
-__LINE__, 0x00000000L, " ", "% .0d",
-__LINE__, 0xff17bbb1L, "ff17bbb1", "%x",
-__LINE__, -0x00146d7L, "-83671", "%+1.ld",
-__LINE__, 0xfffff144L, "fffff144", "%x",
-__LINE__, 0x000f8dbeL, "F8DBE", "%3.X",
-__LINE__, -0x000381cL, "-14364", "%d",
-__LINE__, 0x0000001eL, " 30", "%4.1d",
-__LINE__, 0x00000016L, "22", "%-0d",
-__LINE__, 0x00000002L, "+02", "%+1.2ld",
-__LINE__, 0x0000e803L, "59395", "%d",
-__LINE__, 0xb4c2448dL, "b4c2448d", "%-7x",
-__LINE__, 0x000e697dL, "944509", "%ld",
-__LINE__, 0xfffe6e32L, "0XFFFE6E32", "%#X",
-__LINE__, 0x00000190L, " 190", "%+5.X",
-__LINE__, -0x03a2219L, "-3809817", "%#6.ld",
-__LINE__, -0x000003cL, "-60 ", "%-#4.ld",
-__LINE__, 0x00000000L, " ", "% 03.ld",
-__LINE__, -0x074f922L, "-7665954", "%ld",
-__LINE__, -0x00000f0L, "-240", "%-ld",
-__LINE__, 0xfffe42d2L, "0XFFFE42D2", "%#X",
-__LINE__, 0x000000ddL, "DD", "%X",
-__LINE__, 0x00359abeL, "359ABE", "%.1X",
-__LINE__, 0xffec7bdfL, "FFEC7BDF", "%0.1X",
-__LINE__, 0x0ecddcbaL, "248372410", "%-#3.d",
-__LINE__, 0x00ad0dbcL, "11341244", "%ld",
-__LINE__, -0x0000001L, "-1", "%-d",
-__LINE__, 0x00050841L, "50841", "% .5x",
-__LINE__, 0x01d359e7L, "1d359e7", "%1.x",
-__LINE__, 0xff9efaa3L, "FF9EFAA3", "%X",
-__LINE__, 0x0007ea10L, "+518672", "%+ld",
-__LINE__, -0x000671cL, "-26396", "%1d",
-__LINE__, 0xffffff91L, "0xffffff91", "%#4.4x",
-__LINE__, 0x00000000L, "+", "%+0.0ld",
-__LINE__, -0x002c53eL, "-181566", "%3.d",
-__LINE__, 0xffffff56L, "ffffff56", "%x",
-__LINE__, 0xfffff589L, "FFFFF589", "%+X",
-__LINE__, 0x00024d13L, "24D13", "%-5.2X",
-__LINE__, 0x00000000L, " 0", "%6.1d",
-__LINE__, 0x00a64f33L, "A64F33", "%4.4X",
-__LINE__, 0xffebb57aL, "FFEBB57A", "%5.4X",
-__LINE__, 0xfff3b4a0L, "fff3b4a0", "%2.x",
-__LINE__, 0xffffffd9L, "FFFFFFD9", "%.2X",
-__LINE__, 0x00d37b84L, "13859716", "%d",
-__LINE__, 0x00001e85L, "0001E85", "%0.7X",
-__LINE__, -0x756148fL, "-123081871", "% 7.d",
-__LINE__, -0x0319339L, "-3248953", "%+#.4d",
-__LINE__, -0x00798b8L, "-497848", "%#5ld",
-__LINE__, -0x0000039L, "-57", "%0d",
-__LINE__, -0x000b1d7L, "-45527", "%+0.ld",
-__LINE__, 0xff811fbaL, "FF811FBA", "%+X",
-__LINE__, 0x00000042L, " 66", "% ld",
-__LINE__, 0xfffffe31L, "0XFFFFFE31", "%#X",
-__LINE__, 0x00000073L, "115", "%ld",
-__LINE__, 0x45091a39L, "0x45091a39", "%+#3.x",
-__LINE__, 0x001270f5L, "1270f5", "%-5.6x",
-__LINE__, 0xfffd91fdL, "fffd91fd", "%x",
-__LINE__, -0x0817badL, "-8485805", "%#ld",
-__LINE__, -0x32ad55fL, "-53138783", "%0d",
-__LINE__, 0x00003e57L, "15959", "%0ld",
-__LINE__, -0x0048756L, "-296790", "%2.6d",
-__LINE__, 0xff90f45fL, "FF90F45F", "% X",
-__LINE__, 0x0000e454L, "0e454", "% .5x",
-__LINE__, 0xfffffffcL, "fffffffc", "%x",
-__LINE__, 0xfffffff7L, "FFFFFFF7", "%-2X",
-__LINE__, 0xffdabf0eL, "FFDABF0E", "%+X",
-__LINE__, 0xffffffffL, "0XFFFFFFFF", "%#1X",
-__LINE__, 0x01516650L, "1516650", "% x",
-__LINE__, 0xffffff51L, "FFFFFF51", "%X",
-__LINE__, 0x000000eaL, "234", "%00.d",
-__LINE__, 0x06db60caL, "115040458", "%5.d",
-__LINE__, 0x00000f01L, " 3841", "% d",
-__LINE__, 0x00000009L, "9", "%x",
-__LINE__, 0x299b3ba0L, "299b3ba0", "%6.7x",
-__LINE__, 0x0067f298L, "67f298", "%-2.6x",
-__LINE__, 0xfffffff5L, "FFFFFFF5", "% 2X",
-__LINE__, 0x00102ff9L, "102FF9", "%-.0X",
-__LINE__, 0xffc22393L, "0xffc22393", "% #6x",
-__LINE__, 0x00007db5L, "32181", "%-2ld",
-__LINE__, 0x0000b0a3L, "0xb0a3", "%#0x",
-__LINE__, 0x001ceebbL, "1CEEBB", "%-3.4X",
-__LINE__, 0x00025101L, "0x25101", "%#x",
-__LINE__, -0x0000001L, "-1", "%0ld",
-__LINE__, 0xffffd846L, "FFFFD846", "%+2.3X",
-__LINE__, 0x00001d79L, " 7545", "% 0.1ld",
-__LINE__, -0x0000002L, " -2", "%5d",
-__LINE__, 0xf93b9fdcL, "f93b9fdc", "%5x",
-__LINE__, 0xffff0021L, "FFFF0021", "%6X",
-__LINE__, 0x00007cf9L, "7cf9", "%3.1x",
-__LINE__, -0x0000002L, "-2", "%d",
-__LINE__, 0x00001d84L, "1d84", "%0x",
-__LINE__, -0x033201eL, "-3350558", "%-2.0d",
-__LINE__, 0xfff8a6fbL, "FFF8A6FB", "%+.7X",
-__LINE__, 0x00006fffL, " 28671", "% ld",
-__LINE__, -0x02a274aL, "-2762570", "%d",
-__LINE__, -0x0006628L, "-26152", "%00ld",
-__LINE__, 0x00000011L, "11", "%-x",
-__LINE__, -0x0000ed9L, "-3801", "%0.ld",
-__LINE__, 0xfc5b725dL, "FC5B725D", "%X",
-__LINE__, 0x3530bd4eL, "892386638", "%7.d",
-__LINE__, 0x03bb4ff7L, "62607351", "%#4.7ld",
-__LINE__, 0x00009f86L, "9f86", "%x",
-__LINE__, 0x0000e727L, "59175", "%1d",
-__LINE__, 0xfffffdf2L, "0XFFFFFDF2", "%#X",
-__LINE__, 0x00e60dbfL, "0XE60DBF", "% #1.X",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%+X",
-__LINE__, 0x0a16f44eL, "0XA16F44E", "%#.0X",
-__LINE__, 0x0001f97cL, "1f97c", "% x",
-__LINE__, 0x0000000dL, "13", "%#0ld",
-__LINE__, 0x0000002aL, "42", "%0ld",
-__LINE__, 0x00000007L, " +7", "%+5ld",
-__LINE__, 0xffffff7fL, "FFFFFF7F", "%-X",
-__LINE__, 0x000006a6L, "1702", "%ld",
-__LINE__, 0xfaff2fb1L, "faff2fb1", "% x",
-__LINE__, 0xffff94abL, "ffff94ab", "%x",
-__LINE__, 0x011d611bL, "0X11D611B", "%#2.3X",
-__LINE__, 0x00000000L, " +000", "%+#5.3ld",
-__LINE__, -0x87fcc37L, "-142593079", "%+d",
-__LINE__, -0x0417424L, "-4289572", "%+d",
-__LINE__, 0x03fabc0cL, "3fabc0c", "%x",
-__LINE__, 0xfffff880L, "fffff880", "%-x",
-__LINE__, 0x000002d7L, "2d7", "%-02.x",
-__LINE__, 0x00003e82L, "16002", "%#d",
-__LINE__, -0x0003713L, "-14099", "% 5d",
-__LINE__, -0x0000027L, "-39", "%ld",
-__LINE__, 0x00013098L, "0077976", "%01.7d",
-__LINE__, -0x000000cL, "-12", "%ld",
-__LINE__, -0x00000c0L, "-192", "% ld",
-__LINE__, 0xffbe9285L, "FFBE9285", "%3.X",
-__LINE__, 0x00000046L, "46", "%x",
-__LINE__, 0x00000000L, " ", "%+4.x",
-__LINE__, 0x00011e72L, "73330", "%2.3d",
-__LINE__, -0x5276dd7L, "-86470103", "%d",
-__LINE__, 0x00000013L, "19", "%-02.ld",
-__LINE__, 0x384118a7L, "0X384118A7", "%-#X",
-__LINE__, 0x00000000L, "0", "% #X",
-__LINE__, 0x00000009L, "9", "%#ld",
-__LINE__, 0x00021145L, "135493", "%-ld",
-__LINE__, 0xff188a0cL, "FF188A0C", "%1.X",
-__LINE__, 0xffffffd5L, "ffffffd5", "%0x",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "% 0X",
-__LINE__, 0xffff74a3L, "ffff74a3", "%x",
-__LINE__, 0x01d5a2f8L, "1d5a2f8", "%-0.x",
-__LINE__, 0xfffffef6L, "fffffef6", "%+06.x",
-__LINE__, 0x00000001L, "1", "%ld",
-__LINE__, 0x00000000L, "+0", "%+ld",
-__LINE__, 0xfffffffcL, "fffffffc", "%4.x",
-__LINE__, -0x0000344L, "-0836", "% .4d",
-__LINE__, 0xfffffffdL, "FFFFFFFD", "%0X",
-__LINE__, 0x000a3121L, "667937", "%#4.4ld",
-__LINE__, 0x0001e211L, "0X1E211", "%#X",
-__LINE__, 0x00000c8bL, "00C8B", "%05X",
-__LINE__, 0xfffffffeL, "fffffffe", "%+0x",
-__LINE__, 0x001a53ceL, "1725390", "%d",
-__LINE__, 0x0000057fL, "57f ", "%-7.x",
-__LINE__, -0x0073e4dL, "-474701", "%#ld",
-__LINE__, -0x0000002L, " -2", "% 3.d",
-__LINE__, 0x482dc404L, "482DC404", "%X",
-__LINE__, 0x0000011cL, "11c", "%-.1x",
-__LINE__, 0x00000c12L, " 3090", "%5.3ld",
-__LINE__, 0xfffe1068L, "FFFE1068", "%-.4X",
-__LINE__, -0x0055e88L, "-351880", "%ld",
-__LINE__, 0x000c9cefL, "+826607", "%+d",
-__LINE__, 0xffffffe3L, "ffffffe3", "%0x",
-__LINE__, -0x0000ee9L, "-3817", "%#ld",
-__LINE__, 0xff1f6daaL, "FF1F6DAA", "%X",
-__LINE__, 0xfffffc4eL, "FFFFFC4E", "%5.2X",
-__LINE__, -0x000040aL, "-1034", "%d",
-__LINE__, -0x0000085L, "-00133", "% 01.5d",
-__LINE__, -0x126c797cL, "-309098876", "%5.ld",
-__LINE__, 0x00000039L, " 57", "% d",
-__LINE__, 0xfffffff6L, "0xfffffff6", "%#5.x",
-__LINE__, 0xfffffff4L, "fffffff4", "%7.6x",
-__LINE__, 0x00000003L, "3", "%ld",
-__LINE__, 0x0000f8aeL, "f8ae", "%.0x",
-__LINE__, 0x003ca1cfL, "3973583", "%#3.7d",
-__LINE__, 0x14687009L, "0x14687009", "%+#3x",
-__LINE__, 0xfffff1f7L, "0xfffff1f7", "%#4.5x",
-__LINE__, 0xfffff17aL, "fffff17a", "%3.x",
-__LINE__, 0x0011ea18L, "1174040", "%ld",
-__LINE__, -0x0000019L, "-25", "%03.d",
-__LINE__, 0x00015d72L, "0X15D72", "%-#X",
-__LINE__, 0xffde4a41L, "ffde4a41", "%x",
-__LINE__, 0x00006f1fL, "28447", "%d",
-__LINE__, 0xffffffbdL, "0xffffffbd", "%#.1x",
-__LINE__, 0x000013b9L, "13B9", "%0X",
-__LINE__, -0x00001b9L, "-00441", "%1.5d",
-__LINE__, 0x00000001L, "000001", "%-.6d",
-__LINE__, 0x7b602d8fL, "+2069900687", "%+0ld",
-__LINE__, 0x0005e323L, "+385827", "%+ld",
-__LINE__, 0x00002fceL, "2FCE", "%+0X",
-__LINE__, 0x0000000eL, "0014", "%.4d",
-__LINE__, 0xffffffd6L, "0XFFFFFFD6", "%#4.X",
-__LINE__, 0x037bf361L, "58454881", "%5.ld",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%-7.5X",
-__LINE__, -0x016d4dcL, "-1496284", "%6ld",
-__LINE__, 0x0005be9aL, "0x5be9a", "%-#.5x",
-__LINE__, 0xffffffffL, "ffffffff", "%1x",
-__LINE__, 0x00000055L, " 85", "% 7.d",
-__LINE__, 0xffffffffL, "ffffffff", "%x",
-__LINE__, -0x0135392L, "-1266578", "% ld",
-__LINE__, 0x00850f26L, "8720166", "%d",
-__LINE__, 0xffffee39L, "ffffee39", "%0x",
-__LINE__, 0x000000ddL, "221", "%ld",
-__LINE__, 0x00000000L, " ", "%6.d",
-__LINE__, 0x000000d8L, "d8", "%x",
-__LINE__, 0x000007ecL, "002028", "%4.6ld",
-__LINE__, 0x0dab4e67L, "0XDAB4E67", "%#X",
-__LINE__, 0xfffd7c95L, "FFFD7C95", "% 4X",
-__LINE__, 0x0009302dL, "9302D", "%3.1X",
-__LINE__, 0x00000003L, " 3", "% d",
-__LINE__, 0x0000082fL, "82f", "%-x",
-__LINE__, 0x0652517fL, "652517F", "%-.2X",
-__LINE__, -0x1fd8f4e3L, "-534312163", "%d",
-__LINE__, 0x00000176L, "176", "%-x",
-__LINE__, 0x00000001L, "1", "%ld",
-__LINE__, 0x0000001aL, "1A", "%X",
-__LINE__, -0x0005740L, "-22336", "% 0ld",
-__LINE__, 0xffffffffL, "ffffffff", "%6x",
-__LINE__, 0x1b273b80L, "0x1b273b80", "%#x",
-__LINE__, 0x00000065L, "65", "%X",
-__LINE__, 0x6a62138aL, "1784812426", "%2ld",
-__LINE__, 0x000001a2L, "1A2", "%X",
-__LINE__, -0x002aafdL, "-174845", "%02.ld",
-__LINE__, 0x00000014L, "20", "%d",
-__LINE__, -0x00000c7L, " -199", "%7.0ld",
-__LINE__, 0xff545bfdL, "ff545bfd", "%-x",
-__LINE__, -0x002beb9L, "-179897", "%02.2ld",
-__LINE__, -0x00000dfL, "-223", "% 02.d",
-__LINE__, -0x000d569L, "-54633", "%1.ld",
-__LINE__, 0x0000000eL, "14", "%d",
-__LINE__, -0x0077407L, "-488455", "% ld",
-__LINE__, 0x0001be09L, "114185", "%ld",
-__LINE__, -0x0000514L, "-01300", "%+05.5d",
-__LINE__, 0xf1fb397fL, "f1fb397f", "%+x",
-__LINE__, 0xfdb6707cL, "FDB6707C", "%X",
-__LINE__, 0x03cad111L, "3cad111", "%5.x",
-__LINE__, -0x022e72fL, "-2287407", "%d",
-__LINE__, -0xda35f48L, "-228810568", "%d",
-__LINE__, -0x02d1fd4L, "-2957268", "%1.3d",
-__LINE__, 0x0000005fL, "+95", "%+2d",
-__LINE__, 0xfffbf8a1L, "FFFBF8A1", "%4.2X",
-__LINE__, 0x0000071eL, " 71e", "%6.x",
-__LINE__, 0x000cc8a5L, "+837797", "%+03ld",
-__LINE__, 0x000eebe9L, " EEBE9", "%6.X",
-__LINE__, -0x2896b204L, "-680964612", "%d",
-__LINE__, -0x09553f8L, "-9786360", "%d",
-__LINE__, 0x000015d3L, "5587", "%0d",
-__LINE__, 0x0000056dL, " 56d", "%+4.x",
-__LINE__, -0x00624adL, "-402605", "% ld",
-__LINE__, 0xfea64ba5L, "0xfea64ba5", "%#1x",
-__LINE__, 0x004f35c6L, "5191110", "%-ld",
-__LINE__, -0x1441fe4L, "-21241828", "%d",
-__LINE__, 0xffffff95L, "FFFFFF95", "%X",
-__LINE__, 0xfffecf81L, "FFFECF81", "%-2.X",
-__LINE__, -0x00002bbL, "-699", "%-d",
-__LINE__, -0x0000c29L, "-3113", "% 02ld",
-__LINE__, 0x000026a3L, " 9891", "% .4d",
-__LINE__, 0x00000003L, "3", "%-x",
-__LINE__, 0x000007dbL, "+02011", "%+.5ld",
-__LINE__, 0xfff99558L, "FFF99558", "%.1X",
-__LINE__, 0x0000fce6L, "64742", "%4.0d",
-__LINE__, 0x000b7ea2L, "753314", "%ld",
-__LINE__, 0x13e5df30L, "0X13E5DF30", "%#2.X",
-__LINE__, 0x006761c4L, "06761C4", "%6.7X",
-__LINE__, 0xffffff78L, "FFFFFF78", "%0.X",
-__LINE__, 0xfffff1c0L, "0xfffff1c0", "% #x",
-__LINE__, -0x034af1cL, "-3452700", "% 06.1d",
-__LINE__, 0x000000deL, "0000222", "%2.7ld",
-__LINE__, 0x000003d8L, "0x3d8", "%#4.x",
-__LINE__, -0x001a1d1L, "-106961", "%3.1d",
-__LINE__, -0x0000002L, "-2", "% d",
-__LINE__, 0x00001de6L, "+7654", "%+0ld",
-__LINE__, 0x00000001L, "001", "%#.3d",
-__LINE__, -0x53dacf9fL, "-1406848927", "%ld",
-__LINE__, 0xfffffffcL, "fffffffc", "%3.3x",
-__LINE__, -0x00950e8L, "-610536", "%3.6ld",
-__LINE__, 0xff14ade9L, "FF14ADE9", "%6X",
-__LINE__, 0x012f5284L, "0X12F5284", "% #5X",
-__LINE__, 0x00005a21L, " 5a21", "%5x",
-__LINE__, 0x00000638L, "1592", "%2.4ld",
-__LINE__, -0x063017bL, "-6488443", "%ld",
-__LINE__, 0x00000000L, "0", "% X",
-__LINE__, 0xfffe8ef2L, "FFFE8EF2", "%+0X",
-__LINE__, -0x0001c96L, "-7318", "%.3d",
-__LINE__, 0x0000ca7dL, "51837", "%ld",
-__LINE__, 0x00000001L, "1", "%+1x",
-__LINE__, 0xfffff7bcL, "FFFFF7BC", "%X",
-__LINE__, -0x03d15e2L, "-4003298", "%ld",
-__LINE__, 0xfffffffeL, "fffffffe", "% x",
-__LINE__, 0x00066183L, "+418179", "%+7.1ld",
-__LINE__, 0xffffef2eL, "ffffef2e", "%-2.x",
-__LINE__, 0x00000000L, " 000", "%04.3x",
-__LINE__, -0x000000fL, "-15", "% d",
-__LINE__, -0x00001f5L, "-501", "%d",
-__LINE__, 0x0c67f159L, "c67f159", "%6.2x",
-__LINE__, -0x0000006L, "-6", "%.1d",
-__LINE__, 0x00000005L, "0X5", "%+#1X",
-__LINE__, -0x0000002L, " -2", "%6.ld",
-__LINE__, 0xeb2183ecL, "eb2183ec", "% x",
-__LINE__, -0x5e12a322L, "-1578279714", "%d",
-__LINE__, 0x00000001L, "0x1", "%#x",
-__LINE__, -0x0001ea4L, "-7844", "%0d",
-__LINE__, -0x19955a3L, "-26826147", "%d",
-__LINE__, 0x000002a6L, "2A6", "%2.X",
-__LINE__, 0x00000002L, "2", "%X",
-__LINE__, 0xfffffeecL, "fffffeec", "%0.4x",
-__LINE__, 0xfffffffcL, "fffffffc", "%0x",
-__LINE__, 0xffdfe740L, "FFDFE740", "% X",
-__LINE__, -0x0b0b3e7L, "-11580391", "%.1d",
-__LINE__, 0x8e01077cL, "8E01077C", "%5.7X",
-__LINE__, 0x3b6b6d55L, "996896085", "%1.1d",
-__LINE__, 0x000016afL, "5807", "%ld",
-__LINE__, -0x0004900L, "-18688", "%d",
-__LINE__, 0xfffd77bcL, "FFFD77BC", "%X",
-__LINE__, 0x004cbd74L, "5029236", "%0d",
-__LINE__, 0x00000003L, " 00003", "%6.5d",
-__LINE__, 0x0004720fL, "4720f", "% x",
-__LINE__, 0x0e44535dL, "e44535d", "%4x",
-__LINE__, 0xfffffff9L, "FFFFFFF9", "%3.3X",
-__LINE__, -0x0000005L, "-5", "%-d",
-__LINE__, 0x000001a6L, "00001A6", "%1.7X",
-__LINE__, 0x0000004aL, "4A", "%-2.X",
-__LINE__, 0xfffff249L, "FFFFF249", "%X",
-__LINE__, 0x00004345L, "4345", "%x",
-__LINE__, 0x0197041dL, "197041d", "%+0x",
-__LINE__, 0x0000019aL, " 19a", "% 6.x",
-__LINE__, 0xfff98376L, "FFF98376", "%X",
-__LINE__, 0xfc536c41L, "FC536C41", "%X",
-__LINE__, -0x0008d91L, "-36241", "% d",
-__LINE__, 0xf058d69dL, "f058d69d", "%4.x",
-__LINE__, -0x00013efL, "-5103", "%d",
-__LINE__, -0x0000003L, "-3", "%00ld",
-__LINE__, -0x09e80f0L, "-10387696", "%+07ld",
-__LINE__, -0x0222c15L, "-2239509", "%#0.4ld",
-__LINE__, 0x00000004L, "4", "%0ld",
-__LINE__, -0x02c6b0dL, "-2910989", "% 0ld",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%-4X",
-__LINE__, 0xffffff3dL, "FFFFFF3D", "%-.0X",
-__LINE__, -0x0000015L, "-21", "%0d",
-__LINE__, 0x131dfc90L, "+320732304", "%+d",
-__LINE__, 0xffffffffL, "ffffffff", "%+x",
-__LINE__, 0x000035c8L, "13768", "%0ld",
-__LINE__, 0x00000033L, "0x0033", "%#.4x",
-__LINE__, 0x0ce7e8c1L, "0xce7e8c1", "%#.7x",
-__LINE__, 0xfc18b5d2L, "FC18B5D2", "%+.3X",
-__LINE__, 0x00000015L, "21", "%d",
-__LINE__, 0x001a5e7cL, "1a5e7c", "%05x",
-__LINE__, -0x000fbf0L, "-64496", "%ld",
-__LINE__, -0x000a4f7L, "-042231", "%+2.6d",
-__LINE__, -0x0000002L, "-002", "%3.3ld",
-__LINE__, 0x00728878L, "728878", "%0X",
-__LINE__, -0x0000002L, "-2", "%#.1ld",
-__LINE__, -0x00002efL, "-751", "%-0ld",
-__LINE__, 0xfffffff7L, "fffffff7", "%.3x",
-__LINE__, 0x00491867L, "0491867", "%.7X",
-__LINE__, 0x00000d4dL, "3405", "%-ld",
-__LINE__, 0x00234e86L, "234E86", "%0X",
-__LINE__, -0x000001bL, "-27", "%ld",
-__LINE__, 0x00275255L, "2576981", "%.5ld",
-__LINE__, 0xfeacc214L, "0XFEACC214", "%-#3.X",
-__LINE__, -0x0001ce5L, "-7397", "%+#2.2ld",
-__LINE__, 0x089ddb6aL, "144563050", "%d",
-__LINE__, 0x003d5a95L, "3D5A95", "%1X",
-__LINE__, 0x002f0b6dL, "3083117", "%d",
-__LINE__, 0x1e79e228L, "511304232", "%ld",
-__LINE__, 0xfffffe6bL, "FFFFFE6B", "%+0X",
-__LINE__, -0x5104ff3L, "-84955123", "%.4ld",
-__LINE__, 0xfffff1deL, "FFFFF1DE", "%X",
-__LINE__, 0x000000cfL, "+207", "%+.1ld",
-__LINE__, -0x16ad0164L, "-380436836", "%+5.d",
-__LINE__, 0x001fefa6L, "2092966", "%ld",
-__LINE__, 0x00000000L, "00", "%-.2d",
-__LINE__, 0x00195f45L, "195f45", "%+0x",
-__LINE__, 0x00000001L, " 1", "%3.ld",
-__LINE__, -0x00001c9L, "-457", "% ld",
-__LINE__, 0x0002479eL, "149406", "%#ld",
-__LINE__, 0x001ab18bL, "1749387", "%04d",
-__LINE__, 0x00000045L, "69", "%ld",
-__LINE__, 0xfbb13f7dL, "fbb13f7d", "%.2x",
-__LINE__, 0x03ddc208L, "3ddc208", "%x",
-__LINE__, 0x00000007L, "000007", "%#.6d",
-__LINE__, 0x00000000L, "0", "%01X",
-__LINE__, -0x0023110L, "-143632", "%+0.3d",
-__LINE__, 0x00000006L, "06", "%#.2d",
-__LINE__, 0xffff9ec9L, "ffff9ec9", "%7x",
-__LINE__, -0x08afb12L, "-9108242", "% #0.ld",
-__LINE__, 0x00000004L, "4", "%X",
-__LINE__, 0x00059684L, "59684", "%x",
-__LINE__, 0xfff8d8f5L, "FFF8D8F5", "%X",
-__LINE__, 0x00b7027dL, "+11993725", "%+0.7ld",
-__LINE__, 0x0000d814L, "55316", "%0ld",
-__LINE__, 0x03c95a08L, "3c95a08", "%3x",
-__LINE__, -0x0b65f9aL, "-11952026", "%d",
-__LINE__, 0xfd956021L, "fd956021", "%0x",
-__LINE__, 0x000000edL, "ed", "%0x",
-__LINE__, -0x006a80cL, "-436236", "%.6ld",
-__LINE__, 0xfedb109dL, "fedb109d", "%x",
-__LINE__, 0x00000001L, "1", "%X",
-__LINE__, 0x00b3eb71L, " 11791217", "% d",
-__LINE__, 0x00000016L, "16", "%0X",
-__LINE__, 0x000001dbL, " 475", "% ld",
-__LINE__, 0x00465eafL, "4611759", "%0d",
-__LINE__, 0x0001b423L, "1B423", "%0X",
-__LINE__, 0x05df95eaL, "5df95ea", "%+.5x",
-__LINE__, 0x0000000eL, " 14", "%7ld",
-__LINE__, 0xffffb89eL, "ffffb89e", "%+x",
-__LINE__, 0x01259918L, " 19241240", "% d",
-__LINE__, -0x0000f8dL, "-003981", "%+#.6d",
-__LINE__, 0x00054ae0L, "54AE0", "%X",
-__LINE__, -0x4589ed4L, "-72916692", "% ld",
-__LINE__, 0x01017516L, "1017516", "%6X",
-__LINE__, 0xfffb9f15L, "FFFB9F15", "%.2X",
-__LINE__, 0x005f8394L, "5F8394", "%.2X",
-__LINE__, 0xffffffffL, "ffffffff", "%x",
-__LINE__, -0x0000001L, " -1", "%7.1ld",
-__LINE__, 0x004367afL, "4417455", "%4.ld",
-__LINE__, 0xffffff86L, "ffffff86", "%4.5x",
-__LINE__, -0x0000d17L, "-3351", "%2.0ld",
-__LINE__, 0xffffff31L, "ffffff31", "%.6x",
-__LINE__, -0x0000001L, "-1", "%ld",
-__LINE__, -0x3d785fabL, "-1031298987", "%d",
-__LINE__, -0x0000002L, "-2", "%-0ld",
-__LINE__, 0x0000019cL, "412", "%d",
-__LINE__, -0x0006f54L, "-28500", "%d",
-__LINE__, 0xfffe3524L, "FFFE3524", "% 6.2X",
-__LINE__, -0x128d3c00L, "-311245824", "%2d",
-__LINE__, -0x3be71293L, "-1004999315", "%d",
-__LINE__, 0x0000659dL, "26013", "%d",
-__LINE__, 0x2d947538L, "+764704056", "%+5d",
-__LINE__, 0xffa2a420L, "FFA2A420", "%0X",
-__LINE__, 0x00000001L, "1", "%d",
-__LINE__, 0x04477c14L, "4477c14", "%.6x",
-__LINE__, -0x06e145bL, "-7214171", "%d",
-__LINE__, 0x00009c01L, "39937", "%-.1d",
-__LINE__, 0xffde174bL, "ffde174b", "% 0x",
-__LINE__, 0x0001fbaeL, "1FBAE", "%01.X",
-__LINE__, -0x06b8406L, "-7046150", "%d",
-__LINE__, 0x000005b8L, "005b8", "%05x",
-__LINE__, -0x02d780bL, "-2979851", "%1d",
-__LINE__, 0x00209e26L, "2137638", "%2d",
-__LINE__, 0x0000041aL, "41A", "%0X",
-__LINE__, 0x2a77f42cL, "2A77F42C", "%02X",
-__LINE__, 0x13b6ee14L, "+330755604", "%+0d",
-__LINE__, -0x0000002L, "-2 ", "%-6.d",
-__LINE__, -0x0001eeeL, "-7918", "% #2.ld",
-__LINE__, 0xffffffffL, "FFFFFFFF", "% .5X",
-__LINE__, 0x20d11927L, "20d11927", "% 0.x",
-__LINE__, -0x0018690L, "-99984", "% ld",
-__LINE__, 0x000002a0L, "2A0", "%-0X",
-__LINE__, -0x0000511L, "-1297", "%+d",
-__LINE__, 0x0e782f31L, "242757425", "%-0.ld",
-__LINE__, 0x2ce06da0L, "752905632", "%#0ld",
-__LINE__, 0x00000062L, "62 ", "%-07x",
-__LINE__, -0x015d9d8L, "-1432024", "% 7d",
-__LINE__, 0xc9125ea8L, "c9125ea8", "%x",
-__LINE__, 0x00000006L, "6", "%.0ld",
-__LINE__, 0x0000019cL, "19c", "%x",
-__LINE__, 0x00000000L, " ", "%6.d",
-__LINE__, 0x00043e89L, "278153", "%0ld",
-__LINE__, 0x3e422abdL, "1044523709", "%ld",
-__LINE__, 0x0220a75dL, "35694429", "%#7.6d",
-__LINE__, 0x0000c21cL, "C21C", "% X",
-__LINE__, 0x000074abL, "29867", "%d",
-__LINE__, 0x056b22aaL, "56B22AA", "%+0.X",
-__LINE__, 0xfffffff9L, "FFFFFFF9", "%X",
-__LINE__, 0x00000000L, "0", "%X",
-__LINE__, 0xf094a4f4L, "f094a4f4", "%+4.x",
-__LINE__, -0x1dad0244L, "-497877572", "%d",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%.1X",
-__LINE__, 0xfffffe2dL, "fffffe2d", "%7.x",
-__LINE__, 0x0000042bL, "0x42b", "%#x",
-__LINE__, -0x0000001L, "-1", "% d",
-__LINE__, 0x00e77ef5L, " 15171317", "% 7.ld",
-__LINE__, 0x00006210L, " 25104", "% 06d",
-__LINE__, 0x0011187aL, "1120378", "%-ld",
-__LINE__, -0x000000bL, "-11", "% #ld",
-__LINE__, 0x14cfaff0L, "14cfaff0", "%-2.3x",
-__LINE__, 0xffff74eaL, "FFFF74EA", "%3.X",
-__LINE__, 0x000bfb9dL, "bfb9d", "%x",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%X",
-__LINE__, 0x00014500L, "0X14500", "%#4.X",
-__LINE__, -0x0000001L, "-1", "%#1d",
-__LINE__, -0x0000024L, "-36", "%-0d",
-__LINE__, -0x6528828L, "-106072104", "%d",
-__LINE__, 0x00000075L, " 117", "% #d",
-__LINE__, 0xff027d67L, "ff027d67", "%0x",
-__LINE__, 0x0012b8b3L, "12b8b3", "%0.1x",
-__LINE__, 0x1070147bL, "275780731", "%.6ld",
-__LINE__, 0xffffe88eL, "FFFFE88E", "%1.3X",
-__LINE__, 0xfffffc0dL, "fffffc0d", "%00.6x",
-__LINE__, 0xffd889f5L, "ffd889f5", "%x",
-__LINE__, 0x00000470L, "1136", "%0ld",
-__LINE__, 0x000297f8L, "169976", "%ld",
-__LINE__, 0xfffffffeL, "fffffffe", "%+1x",
-__LINE__, 0x0000064aL, "64a", "%x",
-__LINE__, -0x3d71e43bL, "-1030874171", "%1.d",
-__LINE__, -0x0000004L, "-4 ", "%-3.d",
-__LINE__, 0xfffff132L, "FFFFF132", "%0.0X",
-__LINE__, 0x37b6356fL, "37b6356f", "%-x",
-__LINE__, 0xffffff7aL, "FFFFFF7A", "%.0X",
-__LINE__, 0x00023553L, "23553", "%x",
-__LINE__, 0x39a4c29fL, "39a4c29f", "%+5.x",
-__LINE__, 0xffffffccL, "ffffffcc", "%x",
-__LINE__, 0x0003a83bL, "239675", "%#6ld",
-__LINE__, 0x00000002L, "2", "%0x",
-__LINE__, -0x09b4e8cL, "-10178188", "%+03.ld",
-__LINE__, 0x00000002L, "0000002", "%-#.7ld",
-__LINE__, 0x00000b5eL, "2910", "%-04ld",
-__LINE__, -0x0000254L, "-596", "%+0d",
-__LINE__, 0x00000001L, "1", "%+1.x",
-__LINE__, 0xf8290d3eL, "0XF8290D3E", "% #X",
-__LINE__, 0x00000035L, "035", "%3.3X",
-__LINE__, 0x00131d7dL, "131D7D ", "%-7.6X",
-__LINE__, 0xffdbb36aL, "0xffdbb36a", "%#.6x",
-__LINE__, 0xc7275816L, "c7275816", "%04.x",
-__LINE__, 0x00bae994L, "12249492", "%0ld",
-__LINE__, 0x00000002L, "+2", "%+0.0ld",
-__LINE__, 0xffffffffL, "ffffffff", "%0x",
-__LINE__, 0xffffffe0L, "ffffffe0", "%x",
-__LINE__, 0x00000036L, "36", "%.0X",
-__LINE__, 0xfffffffdL, "FFFFFFFD", "%1X",
-__LINE__, 0xffffffc8L, "ffffffc8", "%+x",
-__LINE__, 0xe71c3689L, "e71c3689", "%x",
-__LINE__, 0x00000007L, "7 ", "%-3.ld",
-__LINE__, 0xffffffffL, "ffffffff", "%x",
-__LINE__, 0x00030400L, "030400", "%-4.6x",
-__LINE__, 0xbd8c6fa7L, "BD8C6FA7", "%-6X",
-__LINE__, 0x00000233L, "0000563", "%.7ld",
-__LINE__, 0xfef92e35L, "fef92e35", "%x",
-__LINE__, 0xffff2172L, "ffff2172", "%3x",
-__LINE__, 0x00001233L, "1233", "% X",
-__LINE__, -0x000d2e1L, "-53985", "%-0d",
-__LINE__, -0x3ba8cb5bL, "-1000917851", "%0d",
-__LINE__, -0x4fefb9aL, "-83819418", "%5.ld",
-__LINE__, 0xffffe9ebL, "FFFFE9EB", "%X",
-__LINE__, 0x1e472dc3L, "507981251", "%ld",
-__LINE__, -0x0077046L, "-487494", "%0d",
-__LINE__, 0x0002c4c9L, "+181449", "%+7.d",
-__LINE__, 0xfffffe63L, "fffffe63", "%x",
-__LINE__, 0xfff5a6dbL, "FFF5A6DB", "%X",
-__LINE__, 0x00174442L, "174442", "%-5.0X",
-__LINE__, 0x017891d9L, "17891D9", "%+5.X",
-__LINE__, 0x0261966bL, "261966B", "%-X",
-__LINE__, -0x3e58614dL, "-1045979469", "%ld",
-__LINE__, 0x002c4c41L, "+2903105", "%+01ld",
-__LINE__, 0x0000000cL, "012", "%#.3d",
-__LINE__, 0x0380f73aL, "58783546", "%ld",
-__LINE__, 0x000002c7L, "0000711", "%2.7ld",
-__LINE__, 0x00000002L, " 002", "% 04ld",
-__LINE__, 0x00687ca0L, "687CA0", "%X",
-__LINE__, 0x0000058aL, "1418", "%0ld",
-__LINE__, -0x0000642L, "-1602", "% ld",
-__LINE__, 0x0001f4f1L, "1F4F1", "%X",
-__LINE__, 0x0026d6fcL, "+2545404", "%+4.ld",
-__LINE__, 0x05dd423cL, "+98386492", "%+#ld",
-__LINE__, 0x0000782cL, "0782C", "%3.5X",
-__LINE__, 0xf67d91f8L, "f67d91f8", "%-x",
-__LINE__, 0xffffcf2dL, "ffffcf2d", "%+0x",
-__LINE__, -0x00af8a6L, "-719014", "%0ld",
-__LINE__, -0xe606ef9L, "-241200889", "%ld",
-__LINE__, 0xfe9d87f7L, "fe9d87f7", "%+x",
-__LINE__, 0x00000d44L, "d44", "% 1.x",
-__LINE__, 0x008716f5L, "8716f5", "%2x",
-__LINE__, 0x000027d4L, "27D4", "% X",
-__LINE__, 0xfdfd92eaL, "FDFD92EA", "%-.4X",
-__LINE__, 0xfffe764fL, "FFFE764F", "%X",
-__LINE__, 0xff699032L, "ff699032", "%3.x",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%-3X",
-__LINE__, -0x368ba995L, "-915122581", "%+#.6ld",
-__LINE__, 0xffffffffL, "ffffffff", "%0x",
-__LINE__, 0x0000035eL, " 862", "% 1d",
-__LINE__, 0xfe703e67L, "fe703e67", "%07.0x",
-__LINE__, 0xfffffffeL, "fffffffe", "%4.x",
-__LINE__, 0x000e20cfL, "e20cf", "%0x",
-__LINE__, 0x000063b5L, "0X63B5", "%-#X",
-__LINE__, 0xfffffffaL, "fffffffa", "%+2.x",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%2.X",
-__LINE__, 0xfdfd69daL, "FDFD69DA", "%.0X",
-__LINE__, 0x00002f61L, "0x2f61", "%#3.x",
-__LINE__, 0x00000009L, "9", "%x",
-__LINE__, 0xffffff86L, "ffffff86", "%6x",
-__LINE__, 0xffffffe4L, "ffffffe4", "%0x",
-__LINE__, 0x0062e73bL, "+6481723", "%+0ld",
-__LINE__, -0x2b059130L, "-721785136", "%+d",
-__LINE__, -0x0000073L, "-115", "%d",
-__LINE__, 0xf596efcfL, "f596efcf", "%x",
-__LINE__, 0x0002f1cbL, "2F1CB", "%0X",
-__LINE__, -0x0000635L, "-01589", "%.5ld",
-__LINE__, 0xfffa011aL, "FFFA011A", "%0X",
-__LINE__, 0x00000047L, " 47", "%4X",
-__LINE__, 0xfffffbc0L, "FFFFFBC0", "%5.2X",
-__LINE__, 0x00000015L, "15", "% X",
-__LINE__, 0x002a87a6L, "2a87a6", "%.1x",
-__LINE__, -0x000069cL, "-1692", "%+ld",
-__LINE__, 0xfffffffdL, "fffffffd", "%+x",
-__LINE__, 0xfeda51f5L, "FEDA51F5", "%0X",
-__LINE__, 0x001781a4L, "1781a4", "%-0x",
-__LINE__, 0xe77358d4L, "e77358d4", "%+0x",
-__LINE__, 0x00000084L, " 84", "%3.x",
-__LINE__, 0xffff0cb2L, "FFFF0CB2", "%+5.X",
-__LINE__, 0x0009fa17L, "653847", "%0.0ld",
-__LINE__, -0x0000c92L, "-3218", "%d",
-__LINE__, 0x0004ebbbL, "4ebbb", "%x",
-__LINE__, 0x2e72568cL, "+779245196", "%+#ld",
-__LINE__, 0xffae86a7L, "ffae86a7", "%.7x",
-__LINE__, 0xffdf3f04L, "ffdf3f04", "%x",
-__LINE__, 0x000000c7L, "199", "%2.d",
-__LINE__, -0x0004a55L, "-19029", "%ld",
-__LINE__, 0x00564ef9L, "5656313", "%.6ld",
-__LINE__, 0xffffc205L, "ffffc205", "%+.0x",
-__LINE__, -0x135085d0L, "-324044240", "%#.5d",
-__LINE__, 0xfffffffeL, "fffffffe", "%-7x",
-__LINE__, -0x0000003L, "-3", "%.1ld",
-__LINE__, 0xffda9e0bL, "ffda9e0b", "%+0x",
-__LINE__, 0x00000001L, "1", "%d",
-__LINE__, 0xffffffdaL, "ffffffda", "%.6x",
-__LINE__, 0x5efdb3d1L, "+1593684945", "%+0d",
-__LINE__, -0x00000caL, "-202", "% 4.d",
-__LINE__, -0x0014433L, "-82995", "%.3d",
-__LINE__, -0x0000002L, "-000002", "% .6ld",
-__LINE__, 0x24aac879L, "615172217", "%.7d",
-__LINE__, -0x1db3c1dL, "-31144989", "%+#4ld",
-__LINE__, 0x000945adL, "0x945ad", "%#1x",
-__LINE__, 0x0000000aL, "10", "%#.1ld",
-__LINE__, -0x002a2e5L, "-172773", "%d",
-__LINE__, 0xfffffff3L, "FFFFFFF3", "%5X",
-__LINE__, 0x0000000eL, "e", "%+x",
-__LINE__, 0x335333dcL, "861090780", "%6.d",
-__LINE__, 0xfffa16f4L, "FFFA16F4", "%6X",
-__LINE__, 0xffffc727L, "ffffc727", "%+2.x",
-__LINE__, 0x00000273L, "273", "%x",
-__LINE__, -0x000000fL, "-15", "%-0d",
-__LINE__, 0x00065fbdL, "417725", "%5.1d",
-__LINE__, 0x00000ed5L, "3797", "%d",
-__LINE__, 0x30a40024L, "30A40024", "%3.7X",
-__LINE__, 0x00000054L, "84", "%ld",
-__LINE__, 0x00000515L, "01301", "%.5ld",
-__LINE__, 0x00000897L, "+02199", "%+.5d",
-__LINE__, -0x0001bccL, "-7116", "% ld",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%7X",
-__LINE__, 0x00000013L, "0X13", "%#X",
-__LINE__, 0xffffffffL, "0xffffffff", "% #x",
-__LINE__, 0x00000006L, "6", "%ld",
-__LINE__, -0x00000c3L, "-195", "%1.ld",
-__LINE__, -0x005291eL, "-338206", "%+d",
-__LINE__, 0xffb437a7L, "FFB437A7", "%-0X",
-__LINE__, 0xff8335cbL, "ff8335cb", "%x",
-__LINE__, 0x0000006aL, "6A", "%2X",
-__LINE__, -0x004f629L, "-325161", "% .4d",
-__LINE__, 0x003698efL, "3578095", "%0ld",
-__LINE__, 0x6b5cdf3aL, "6b5cdf3a", "%-x",
-__LINE__, 0xe9bc5c21L, "e9bc5c21", "%+x",
-__LINE__, -0x0000001L, " -1", "%+6.ld",
-__LINE__, 0xfffeffc8L, "FFFEFFC8", "%6.X",
-__LINE__, 0xff070a73L, "ff070a73", "%+.7x",
-__LINE__, 0x0023f8aeL, "2357422", "%07.4ld",
-__LINE__, 0x00000000L, "0", "%X",
-__LINE__, 0x00000016L, "16", "%0X",
-__LINE__, -0x000005aL, " -90", "%4d",
-__LINE__, 0x00000116L, "116", "% .3x",
-__LINE__, 0xfffed024L, "fffed024", "%-x",
-__LINE__, 0xfb907950L, "fb907950", "%.0x",
-__LINE__, 0x0101a1e5L, "101a1e5", "%x",
-__LINE__, -0x09e7684L, "-10385028", "%-#ld",
-__LINE__, 0xffffffffL, "ffffffff", "%1x",
-__LINE__, 0xfffffff6L, "fffffff6", "%x",
-__LINE__, 0x00000078L, "78", "%x",
-__LINE__, 0xe6bca9c9L, "0XE6BCA9C9", "%#.5X",
-__LINE__, -0x0000010L, "-16", "%d",
-__LINE__, -0x1348f685L, "-323548805", "%d",
-__LINE__, 0x4dd85797L, "1306023831", "%ld",
-__LINE__, -0x0000080L, "-128", "%.2d",
-__LINE__, -0xaed13a7L, "-183309223", "%+ld",
-__LINE__, -0x000002fL, "-47", "% d",
-__LINE__, -0x679911fL, "-108630303", "%ld",
-__LINE__, 0xfffff221L, "FFFFF221", "% .7X",
-__LINE__, 0x0007476cL, "7476c", "%x",
-__LINE__, 0xffffe02aL, "0xffffe02a", "%#7x",
-__LINE__, 0x00000ebbL, "0XEBB", "%#X",
-__LINE__, 0xffffffffL, "0XFFFFFFFF", "%-#X",
-__LINE__, 0x00281896L, "281896", "%+1.x",
-__LINE__, 0x0000085dL, " 0X85D", "%#6.3X",
-__LINE__, 0x000112bfL, "112BF", "%X",
-__LINE__, 0xf5518fbfL, "F5518FBF", "% X",
-__LINE__, -0x00c945bL, "-824411", "%ld",
-__LINE__, 0x00001b43L, "0x1b43", "%-#x",
-__LINE__, -0x5872a246L, "-1483907654", "%#7.7ld",
-__LINE__, 0x00001f96L, "8086", "%#d",
-__LINE__, 0xfffffff9L, "FFFFFFF9", "%X",
-__LINE__, -0x006e244L, "-451140", "% .3d",
-__LINE__, -0x0382188L, "-3678600", "%0.2ld",
-__LINE__, 0x00000006L, "6", "%-x",
-__LINE__, 0x00000036L, "54 ", "%-5.d",
-__LINE__, -0x0000439L, " -1081", "%#6.3ld",
-__LINE__, 0xfff911c6L, "FFF911C6", "%X",
-__LINE__, -0x03454dcL, "-3429596", "%d",
-__LINE__, -0x0363e8dL, "-3554957", "%-.2ld",
-__LINE__, 0x00000000L, "000", "%.3X",
-__LINE__, -0x59bb030fL, "-1505428239", "%0ld",
-__LINE__, 0x073c94d8L, "121410776", "%-d",
-__LINE__, -0x001ef94L, "-126868", "%5.1ld",
-__LINE__, 0xfff65fc5L, "FFF65FC5", "%0X",
-__LINE__, 0xfffffff4L, "fffffff4", "%-x",
-__LINE__, 0x00001d83L, "07555", "%5.5d",
-__LINE__, 0x0012b40aL, "1225738", "%ld",
-__LINE__, -0x0000006L, "-6", "%0ld",
-__LINE__, 0xfffffffcL, "fffffffc", "%06.0x",
-__LINE__, -0x0000002L, "-00002", "%#.5ld",
-__LINE__, 0xf9932c1dL, "f9932c1d", "%-x",
-__LINE__, -0x46a31d9L, "-74068441", "%.3ld",
-__LINE__, 0x000987e9L, "987E9", "%1X",
-__LINE__, 0x0000000fL, "15", "%-ld",
-__LINE__, -0x0001c4dL, "-7245", "%ld",
-__LINE__, -0x007deeeL, "-515822", "%2.6d",
-__LINE__, 0xffffffa2L, "FFFFFFA2", "%.6X",
-__LINE__, 0x00000001L, "1", "%-ld",
-__LINE__, 0xfc106bdeL, "fc106bde", "%.4x",
-__LINE__, 0x0002f1f8L, "0x2f1f8", "%#7.x",
-__LINE__, -0x06a290bL, "-6957323", "%-ld",
-__LINE__, -0x0000037L, " -55", "%4ld",
-__LINE__, 0x0000152eL, "5422", "%2.d",
-__LINE__, 0xfffffcb2L, "0XFFFFFCB2", "%#3.X",
-__LINE__, 0x1b7ca086L, "1b7ca086", "%+x",
-__LINE__, 0x00000001L, "1", "%ld",
-__LINE__, 0x006775fcL, "6775fc", "%3.2x",
-__LINE__, 0x0000000eL, "0XE", "%#3.X",
-__LINE__, 0xffffffffL, "0xffffffff", "%+#4.x",
-__LINE__, 0x00001246L, "1246", "%X",
-__LINE__, 0xffffaed6L, "ffffaed6", "%2x",
-__LINE__, -0x3a2dec78L, "-976088184", "% 0ld",
-__LINE__, 0x0001423bL, "1423b", "%01x",
-__LINE__, 0x00000007L, " 0X7", "%#4.X",
-__LINE__, 0x01a7ff5aL, "27787098", "%.4ld",
-__LINE__, -0x0020d05L, "-134405", "%-d",
-__LINE__, 0xffffff9aL, "ffffff9a", "%-.1x",
-__LINE__, 0xffff3557L, "ffff3557", "%x",
-__LINE__, 0x08828e35L, "8828e35", "%+.1x",
-__LINE__, 0x000006b2L, "001714", "%04.6ld",
-__LINE__, 0x00000013L, "19", "%.0ld",
-__LINE__, -0x00341a5L, "-213413", "%#d",
-__LINE__, -0x0000043L, "-67", "%d",
-__LINE__, -0x074dce3L, "-7658723", "%.1d",
-__LINE__, -0x16de2df3L, "-383659507", "% ld",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, 0x00000ce7L, "ce7", "% 2.1x",
-__LINE__, 0xffecd377L, "ffecd377", "% 0x",
-__LINE__, 0xa4e8465cL, "a4e8465c", "% x",
-__LINE__, 0x000005e8L, "1512", "%d",
-__LINE__, 0x00000513L, "1299", "%d",
-__LINE__, 0xffffffb8L, "FFFFFFB8", "%X",
-__LINE__, 0x00000003L, "00003", "%3.5x",
-__LINE__, -0x0000003L, "-3 ", "%-3.ld",
-__LINE__, 0xad53f01dL, "ad53f01d", "%0x",
-__LINE__, 0x0f1c1daeL, "253500846", "%-#.0d",
-__LINE__, 0xff1753c0L, "0xff1753c0", "%#3.x",
-__LINE__, -0x00389c5L, "-231877", "%d",
-__LINE__, 0x0000016eL, "00016E", "%.6X",
-__LINE__, -0x54d3310fL, "-1423126799", "%-d",
-__LINE__, 0x00000005L, "0X5", "%#.1X",
-__LINE__, 0xfffffffdL, "0XFFFFFFFD", "%#5.3X",
-__LINE__, 0xfffffe0eL, "fffffe0e", "%-x",
-__LINE__, 0xa3c02157L, "a3c02157", "%.5x",
-__LINE__, 0x00005765L, "22373", "%d",
-__LINE__, -0x12668cdL, "-19294413", "%+ld",
-__LINE__, -0x66544daL, "-107300058", "%2d",
-__LINE__, 0x8646c605L, "0X8646C605", "% #X",
-__LINE__, 0x000001f5L, "1F5", "%X",
-__LINE__, 0x01b33ae4L, "28523236", "%5ld",
-__LINE__, 0x000007ceL, "7ce", "%3.x",
-__LINE__, 0x00000355L, "355", "%X",
-__LINE__, 0x000001ceL, "1CE", "% X",
-__LINE__, 0xfffffccdL, "fffffccd", "%7.0x",
-__LINE__, -0x0000001L, "-1", "%0ld",
-__LINE__, 0x000640b6L, "640b6", "%5.x",
-__LINE__, 0x0038c4ecL, "3720428", "%5.4d",
-__LINE__, -0x0f10b5eL, "-15797086", "%2ld",
-__LINE__, 0x256c815fL, "256c815f", "%4.x",
-__LINE__, 0x00000682L, " 1666", "%6ld",
-__LINE__, -0x00000abL, "-171", "%2ld",
-__LINE__, 0x00000003L, "3", "%0d",
-__LINE__, 0x063f5075L, "63F5075", "%X",
-__LINE__, 0xff83b5d0L, "FF83B5D0", "%7.X",
-__LINE__, 0xffffffecL, "ffffffec", "%x",
-__LINE__, 0xffb551c4L, "0XFFB551C4", "% #4.X",
-__LINE__, -0x071f057L, "-7467095", "%3.7d",
-__LINE__, 0x00634879L, "6506617", "%#ld",
-__LINE__, 0x000001d7L, "471", "%d",
-__LINE__, 0x00a7da92L, "A7DA92", "% .4X",
-__LINE__, 0x00000003L, "3 ", "%-2.ld",
-__LINE__, -0x0000004L, "-0004", "%.4d",
-__LINE__, -0x01dea32L, "-1960498", "% #7.d",
-__LINE__, 0x53c4159fL, "53C4159F", "%1.7X",
-__LINE__, -0x1ad7904L, "-28145924", "%#d",
-__LINE__, -0x0000a85L, "-2693", "%ld",
-__LINE__, -0x0000c7dL, "-3197", "%d",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%+0X",
-__LINE__, 0x00000004L, "00004", "%1.5d",
-__LINE__, 0x0000b761L, "46945", "%5ld",
-__LINE__, -0x0ee3b2cL, "-15612716", "%.6d",
-__LINE__, 0x0677a73dL, "677a73d", "% x",
-__LINE__, -0x5f96020L, "-100229152", "% d",
-__LINE__, 0x00000000L, " 0", "%#7X",
-__LINE__, -0x5d1cb5bL, "-97635163", "% ld",
-__LINE__, -0x00a8d8bL, "-691595", "%-0ld",
-__LINE__, 0xffffffa2L, "FFFFFFA2", "%X",
-__LINE__, 0xffffffc9L, "FFFFFFC9", "%X",
-__LINE__, 0x0b180d35L, "B180D35", "%X",
-__LINE__, 0xfc0b94ceL, "fc0b94ce", "%.1x",
-__LINE__, 0x0012cd7bL, "12CD7B", "% X",
-__LINE__, -0x02f1da8L, "-3087784", "%ld",
-__LINE__, -0x000a6f9L, "-42745", "%-ld",
-__LINE__, -0x000006dL, "-109 ", "%-6d",
-__LINE__, 0x00000001L, "+1", "%+0d",
-__LINE__, 0x00000001L, "1", "%1d",
-__LINE__, 0xfffffff8L, "fffffff8", "%5.x",
-__LINE__, -0x00fc4d7L, "-1033431", "%+0.5ld",
-__LINE__, 0xffff41b4L, "0xffff41b4", "%#x",
-__LINE__, -0x0000d37L, "-3383", "%ld",
-__LINE__, 0xffc4e405L, "ffc4e405", "%7x",
-__LINE__, 0xffffffb0L, "FFFFFFB0", "%04X",
-__LINE__, -0x0054477L, "-345207", "%01.ld",
-__LINE__, 0x00512778L, "0x512778", "%#3.0x",
-__LINE__, 0x00000007L, " 7", "%7.d",
-__LINE__, 0x00000008L, " 00008", "% .5ld",
-__LINE__, 0x000053fdL, "21501", "%.4ld",
-__LINE__, 0x0000370cL, "370c", "%2x",
-__LINE__, -0x44670a7L, "-71725223", "%3d",
-__LINE__, 0x00000064L, " 64", "%+5x",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%X",
-__LINE__, 0xf7bbf094L, "f7bbf094", "%3x",
-__LINE__, 0xfffeb268L, "FFFEB268", "%X",
-__LINE__, 0x00001ef0L, "1ef0", "%4.x",
-__LINE__, 0x05ad9aa4L, " 95263396", "% 0.ld",
-__LINE__, 0xf294dca7L, "F294DCA7", "% 4.X",
-__LINE__, -0x0000003L, "-000003", "%.6d",
-__LINE__, 0xfff57471L, "fff57471", "% x",
-__LINE__, 0x0a848cfdL, "176459005", "%d",
-__LINE__, -0x000002eL, "-46", "%.0d",
-__LINE__, 0x00000051L, " +81", "%+5d",
-__LINE__, -0x000072bL, "-0001835", "%06.7d",
-__LINE__, -0x0000002L, " -2", "%+#6ld",
-__LINE__, 0x00000003L, "3", "%x",
-__LINE__, 0xfffd1799L, "FFFD1799", "%6.X",
-__LINE__, 0x00000005L, "5", "%ld",
-__LINE__, 0x0052138bL, "5378955", "%#7.7ld",
-__LINE__, 0x000000c0L, " 192", "% 7ld",
-__LINE__, 0x005b26cdL, "5B26CD", "%X",
-__LINE__, -0x008df17L, "-581399", "%.4ld",
-__LINE__, 0xfffffad8L, "fffffad8", "%-x",
-__LINE__, 0x000006a9L, "6a9", "%.0x",
-__LINE__, -0x003b7f9L, "-243705", "%+0ld",
-__LINE__, 0x005d7ea4L, "6127268", "%ld",
-__LINE__, -0x003cceaL, "-249066", "%+.0ld",
-__LINE__, 0x0000846fL, "846F", "%X",
-__LINE__, 0x00004f79L, "4F79", "%4.X",
-__LINE__, 0xe3e1409cL, "E3E1409C", "%-X",
-__LINE__, 0x07cce2f4L, "7CCE2F4", "%2.X",
-__LINE__, 0x004bcc8bL, "4967563", "%-.5ld",
-__LINE__, 0x7d49665eL, "2101962334", "%ld",
-__LINE__, 0xfffffffcL, "FFFFFFFC", "%.5X",
-__LINE__, 0x0000019eL, "+000414", "%+.6d",
-__LINE__, 0x000027efL, "10223", "%d",
-__LINE__, -0x0000261L, "-609", "%3ld",
-__LINE__, -0x000000eL, "-14", "% 2.ld",
-__LINE__, 0xff3ba3c7L, "ff3ba3c7", "%+5.7x",
-__LINE__, 0xffffffc4L, "FFFFFFC4", "%-1.X",
-__LINE__, 0xfffc5a70L, "0xfffc5a70", "%#4.4x",
-__LINE__, 0x0000d156L, " 53590", "% d",
-__LINE__, -0x0486258L, "-4743768", "%0ld",
-__LINE__, 0x00000000L, " ", "% 2.d",
-__LINE__, 0x04a0ef9fL, "77655967", "%0.6ld",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%X",
-__LINE__, 0x00000019L, "0000019", "%.7x",
-__LINE__, -0x0058d3aL, "-363834", "%ld",
-__LINE__, 0xfffff6b3L, "fffff6b3", "%x",
-__LINE__, 0xfffffff5L, "FFFFFFF5", "%.0X",
-__LINE__, 0x005e1fcbL, "5E1FCB", "%+6X",
-__LINE__, 0xffc3c866L, "0xffc3c866", "%-#.4x",
-__LINE__, 0x00000003L, "3", "%X",
-__LINE__, 0xffa2e961L, "FFA2E961", "%7.4X",
-__LINE__, 0x00000029L, "41", "%d",
-__LINE__, -0x0000035L, "-53", "%d",
-__LINE__, 0x0001b033L, "110643", "%ld",
-__LINE__, 0x004dd51bL, "5100827", "%-2ld",
-__LINE__, -0x000252dL, "-9517", "% d",
-__LINE__, 0xffffdeb2L, "ffffdeb2", "%4.x",
-__LINE__, 0xffe94eabL, "0xffe94eab", "%#x",
-__LINE__, 0xf921edf6L, "f921edf6", "%4.2x",
-__LINE__, 0x0007df97L, "515991", "%4.ld",
-__LINE__, 0x00709bc5L, "709BC5", "%0X",
-__LINE__, -0x0000001L, "-1", "%d",
-__LINE__, 0xfffffffbL, "FFFFFFFB", "%7.3X",
-__LINE__, -0x0063f74L, "-409460", "%+05.0d",
-__LINE__, 0xfffffe9aL, "FFFFFE9A", "%.2X",
-__LINE__, -0x0001ce2L, "-7394", "%.4d",
-__LINE__, 0x000038c5L, "14533", "%ld",
-__LINE__, 0x000000adL, "000ad", "% 5.5x",
-__LINE__, 0xffffbcc4L, "ffffbcc4", "%-5x",
-__LINE__, 0x00000000L, "0", "% X",
-__LINE__, 0x00372877L, "372877", "%.6X",
-__LINE__, 0xffffffd7L, "FFFFFFD7", "%1.X",
-__LINE__, 0xfa58b14bL, "fa58b14b", "%x",
-__LINE__, 0xfffffd9fL, "FFFFFD9F", "%0.7X",
-__LINE__, 0x00000710L, "+1808", "%+#.2ld",
-__LINE__, 0x00000006L, " 6", "%5.0ld",
-__LINE__, 0x0fba9706L, "263886598", "%-6.3d",
-__LINE__, 0xffff420aL, "ffff420a", "%-2x",
-__LINE__, 0x14b9a825L, "14b9a825", "%x",
-__LINE__, 0x0077ffe4L, "77FFE4", "%+.2X",
-__LINE__, 0x00067108L, "422152 ", "%-7.ld",
-__LINE__, 0x00000001L, " 00001", "%6.5X",
-__LINE__, 0x00000000L, "0", "%ld",
-__LINE__, -0x0000001L, " -1", "% 7ld",
-__LINE__, 0x01ddc7a3L, "31311779", "%d",
-__LINE__, -0x2a92f9bL, "-44642203", "% 3ld",
-__LINE__, 0xfffffff9L, "fffffff9", "%4.6x",
-__LINE__, 0x0279a274L, "279a274", "%x",
-__LINE__, 0x2e37ed8eL, "775417230", "%d",
-__LINE__, 0x5ba59f58L, "1537580888", "%-ld",
-__LINE__, 0xffffffe0L, "ffffffe0", "%x",
-__LINE__, 0x3110ae47L, "0X3110AE47", "%+#X",
-__LINE__, 0x000e00b9L, "917689", "%d",
-__LINE__, 0x0000002eL, " 0046", "% 7.4d",
-__LINE__, 0x00000363L, " 867", "%7.d",
-__LINE__, -0x000000bL, "-0011", "% 0.4d",
-__LINE__, 0x000349c8L, " 349C8", "% 7.X",
-__LINE__, -0x01358f1L, "-1267953", "%d",
-__LINE__, -0x0039d3cL, "-236860", "%-.3d",
-__LINE__, 0xffd6de19L, "ffd6de19", "%04.0x",
-__LINE__, -0x0003c54L, "-0015444", "%1.7d",
-__LINE__, -0x0000e17L, "-3607", "%d",
-__LINE__, 0xff0fa3a9L, "ff0fa3a9", "%+3x",
-__LINE__, 0x00000009L, "0000009", "%1.7x",
-__LINE__, 0xfffffc81L, "FFFFFC81", "% X",
-__LINE__, -0x4ef2df5L, "-82783733", "%ld",
-__LINE__, 0x00000013L, "19", "%-ld",
-__LINE__, 0x00000000L, " 0", "%#7x",
-__LINE__, -0x3b9485fdL, "-999589373", "%1.d",
-__LINE__, -0x0000006L, "-00006", "%6.5d",
-__LINE__, 0x0000003fL, "+63", "%+ld",
-__LINE__, 0x000004c5L, "1221", "%1.d",
-__LINE__, 0x003f8a8cL, "4164236", "%d",
-__LINE__, -0x000001eL, "-30", "%-#3d",
-__LINE__, 0xfff9d230L, "FFF9D230", "%+07.3X",
-__LINE__, 0x0147cf17L, "147cf17", "% x",
-__LINE__, 0xffffffebL, "ffffffeb", "%x",
-__LINE__, 0x0000007dL, "00125", "%.5ld",
-__LINE__, 0x000fff56L, "1048406", "%#3d",
-__LINE__, 0x064307a0L, " 105056160", "% 0.3ld",
-__LINE__, 0x007d2860L, "8202336", "%-.2d",
-__LINE__, 0x00a05711L, "a05711", "%x",
-__LINE__, 0x179a7f9eL, "0x179a7f9e", "%+#.3x",
-__LINE__, 0x00000003L, "3", "%X",
-__LINE__, -0x0001d7dL, "-7549", "%#5d",
-__LINE__, 0x0025d3f2L, "+2479090", "%+2.d",
-__LINE__, -0x0000001L, "-1", "%#ld",
-__LINE__, 0xfffffdd5L, "fffffdd5", "%.7x",
-__LINE__, 0x003462b9L, "3433145", "%d",
-__LINE__, 0x00005a81L, "23169", "%d",
-__LINE__, 0xfffffcdbL, "fffffcdb", "%-x",
-__LINE__, 0x00000000L, "0", "%d",
-__LINE__, 0xfff22085L, "fff22085", "%x",
-__LINE__, 0x00016d72L, " 93554", "% d",
-__LINE__, -0x0000002L, "-2", "%0ld",
-__LINE__, 0xfffffd21L, "fffffd21", "% 0x",
-__LINE__, 0x00000931L, "2353", "%ld",
-__LINE__, 0x00010021L, "10021", "%5.1X",
-__LINE__, -0x000007eL, "-126", "%1.0ld",
-__LINE__, 0xfffffff8L, "fffffff8", "%01.x",
-__LINE__, -0x001d148L, "-119112", "%d",
-__LINE__, -0x0000008L, "-8", "%ld",
-__LINE__, -0x000038eL, "-910", "% ld",
-__LINE__, 0x0039e3e5L, "3793893", "%0.1d",
-__LINE__, 0x0038fb8eL, "38FB8E", "%.2X",
-__LINE__, -0x002dafaL, "-187130", "%ld",
-__LINE__, -0xbec275bL, "-200025947", "%ld",
-__LINE__, 0x1a32f999L, "1A32F999", "%05.4X",
-__LINE__, 0x0000002fL, "2f", "%x",
-__LINE__, -0x0001a5bL, "-6747", "%+3.ld",
-__LINE__, 0x00000762L, " 1890", "%7.ld",
-__LINE__, 0x000000c2L, "000194", "%0.6ld",
-__LINE__, 0xffff002bL, "FFFF002B", "%.4X",
-__LINE__, -0x0019daeL, "-105902", "% .2d",
-__LINE__, 0x0000125fL, "125f", "%+1x",
-__LINE__, -0x000b688L, " -46728", "%#7.d",
-__LINE__, 0x000401caL, "401ca", "%0x",
-__LINE__, 0x00000192L, "402", "%#ld",
-__LINE__, 0xffffffffL, "ffffffff", "%x",
-__LINE__, 0x1e505a0cL, "0X1E505A0C", "%#1.3X",
-__LINE__, 0x000f8f6cL, "1019756", "%d",
-__LINE__, 0x0004a296L, "4a296", "%5.2x",
-__LINE__, 0x00000003L, "3", "% x",
-__LINE__, -0x000d44cL, "-54348", "%#ld",
-__LINE__, 0x00009ae2L, "39650", "%-d",
-__LINE__, 0xffffff3aL, "FFFFFF3A", "% .7X",
-__LINE__, 0x0042350bL, "4338955", "%d",
-__LINE__, 0x000071afL, "71af", "%+.4x",
-__LINE__, 0x00000001L, "0x1", "%#0x",
-__LINE__, 0x00000033L, "00051", "%3.5d",
-__LINE__, 0x00000001L, "1", "%X",
-__LINE__, -0xebfb0e7L, "-247443687", "%+3ld",
-__LINE__, 0x00000027L, "27 ", "%-07.X",
-__LINE__, -0x0004837L, "-18487", "%01d",
-__LINE__, 0x1a8c53daL, "1A8C53DA", "%X",
-__LINE__, -0x0bdb8a9L, "-12433577", "%d",
-__LINE__, -0x0000098L, "-152", "%#ld",
-__LINE__, -0x003b554L, "-243028", "%d",
-__LINE__, 0x000000cbL, "00000CB", "%+.7X",
-__LINE__, 0xfffffedaL, "FFFFFEDA", "%X",
-__LINE__, -0x0000010L, "-16", "%-#d",
-__LINE__, 0x00000006L, "+6", "%+d",
-__LINE__, 0x003c294aL, "+3942730", "%+4.ld",
-__LINE__, 0x00000009L, "9", "%ld",
-__LINE__, 0xfbbdd2bcL, "FBBDD2BC", "% X",
-__LINE__, 0x71c86678L, "+1908958840", "%+0.6ld",
-__LINE__, -0x0b49bffL, "-11836415", "% 6.ld",
-__LINE__, 0xfff416beL, "fff416be", "%3.x",
-__LINE__, 0x00000077L, "+119", "%+d",
-__LINE__, 0xfff1cfaaL, "FFF1CFAA", "% 0.2X",
-__LINE__, 0xfffffffbL, "fffffffb", "% x",
-__LINE__, 0x0000127eL, "4734", "%d",
-__LINE__, 0x00107ad2L, "107ad2", "%+2.6x",
-__LINE__, 0x0006b8e9L, "440553", "%-#d",
-__LINE__, 0x0000eb6fL, "eb6f", "% x",
-__LINE__, 0x00001f18L, "7960", "%0d",
-__LINE__, 0xfffff225L, "fffff225", "%1.5x",
-__LINE__, 0xfffffff9L, "fffffff9", "%+6.x",
-__LINE__, 0x000005b9L, "01465", "%.5ld",
-__LINE__, 0xfffc26b8L, "FFFC26B8", "% X",
-__LINE__, 0x540d580dL, "0X540D580D", "%+#X",
-__LINE__, 0x05ad7094L, "5AD7094", "% 4.7X",
-__LINE__, -0x000019bL, "-411", "% d",
-__LINE__, 0x00000006L, "000006", "%6.6ld",
-__LINE__, 0x0000026aL, "+618", "%+ld",
-__LINE__, 0x0000000bL, "11", "%ld",
-__LINE__, -0x26985d5L, "-40469973", "%#.0ld",
-__LINE__, 0x0000007dL, "7D", "%+02.0X",
-__LINE__, -0x0079ddfL, "-0499167", "%+.7ld",
-__LINE__, 0x0000375fL, "14175", "%0d",
-__LINE__, -0x18de7f99L, "-417234841", "%ld",
-__LINE__, -0x00507ccL, "-329676", "%.0d",
-__LINE__, 0x000029d5L, "29D5", "%-2.1X",
-__LINE__, 0x0000328cL, "328C", "%-3.X",
-__LINE__, 0x016f6234L, "24076852", "%3.ld",
-__LINE__, 0xfffffffcL, "0XFFFFFFFC", "%#.5X",
-__LINE__, 0xfe6163caL, "FE6163CA", "%5.X",
-__LINE__, 0xffffffc2L, "FFFFFFC2", "%X",
-__LINE__, 0x00000087L, "+135", "%+ld",
-__LINE__, 0x00310166L, "310166", "% x",
-__LINE__, 0x00e8c871L, "15255665", "%d",
-__LINE__, 0x000005eeL, "1518", "%ld",
-__LINE__, 0xfcb24306L, "FCB24306", "%X",
-__LINE__, 0x0000000bL, " 11", "%5ld",
-__LINE__, 0x006d11d0L, "0x6d11d0", "%#.0x",
-__LINE__, 0x0010d416L, "1102870", "%#6.5d",
-__LINE__, -0x0047cb3L, "-294067", "%.3d",
-__LINE__, 0x000000c0L, "c0", "%x",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%+X",
-__LINE__, -0x000000aL, "-10", "%d",
-__LINE__, -0x0000007L, "-7", "% ld",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "%-X",
-__LINE__, 0x00000014L, "0x14", "%-#3.1x",
-__LINE__, 0x00003319L, "3319", "% x",
-__LINE__, 0x00000000L, "00", "%+#.2X",
-__LINE__, -0x0000009L, "-9", "% ld",
-__LINE__, -0x0000001L, "-1 ", "%-3ld",
-__LINE__, 0x00262909L, "2500873", "%.5ld",
-__LINE__, 0x33e76560L, "33e76560", "%7.0x",
-__LINE__, -0x0000002L, "-2", "%ld",
-__LINE__, 0x00035ee9L, "35EE9", "%-3.X",
-__LINE__, -0x0000235L, "-565", "%+4.ld",
-__LINE__, -0x3ea63c5L, "-65692613", "%d",
-__LINE__, 0x00000003L, "3", "%ld",
-__LINE__, -0x003362fL, "-210479", "% d",
-__LINE__, -0x1a819f8aL, "-444702602", "%.7d",
-__LINE__, 0x027a4668L, "41567848", "%d",
-__LINE__, 0x0002b025L, "2b025", "%x",
-__LINE__, -0x0000001L, "-001", "%.3ld",
-__LINE__, 0xfffffff0L, "fffffff0", "%-0x",
-__LINE__, -0x0000d4fL, "-3407", "%-ld",
-__LINE__, 0x00000146L, " 326", "% 1.d",
-__LINE__, -0x0000006L, "-6", "%d",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%06.4X",
-__LINE__, 0x376fddaeL, "+930078126", "%+#0ld",
-__LINE__, 0x006d9da3L, "6d9da3", "%1.x",
-__LINE__, -0x0000f28L, "-3880", "%3.2ld",
-__LINE__, 0x0006962cL, " 431660", "% 5d",
-__LINE__, 0x000011dbL, " 4571", "%6.ld",
-__LINE__, 0xffffffa8L, "ffffffa8", "%+x",
-__LINE__, 0x0d886db3L, "D886DB3", "%.7X",
-__LINE__, 0x00000000L, "000000", "%2.6ld",
-__LINE__, 0xfffff6b6L, "FFFFF6B6", "% X",
-__LINE__, -0x0739068L, "-7573608", "%+6.ld",
-__LINE__, 0xfba62553L, "0XFBA62553", "%#X",
-__LINE__, -0x4474bc5L, "-71781317", "%-2ld",
-__LINE__, 0xffffff95L, "FFFFFF95", "% 2.X",
-__LINE__, -0x1d0e1caL, "-30466506", "%+.0d",
-__LINE__, -0x000f3aaL, "-62378", "%ld",
-__LINE__, 0x00000026L, "26", "%1x",
-__LINE__, 0x001c5400L, "1856512", "%-#d",
-__LINE__, 0x03808442L, "3808442", "%X",
-__LINE__, -0x0000081L, "-129", "%+#ld",
-__LINE__, 0x000004aeL, " 1198", "% 3.4d",
-__LINE__, -0x7f4ed54L, "-133492052", "%d",
-__LINE__, 0x00000000L, "+0", "%+ld",
-__LINE__, 0x00000000L, "0", "%+x",
-__LINE__, 0x004c7e46L, "5013062", "%.0d",
-__LINE__, -0x647d7a65L, "-1685944933", "%0.2d",
-__LINE__, 0x00003b59L, "15193", "%-#1d",
-__LINE__, 0xfff3e64dL, "FFF3E64D", "%-X",
-__LINE__, 0x00007022L, "28706", "%-d",
-__LINE__, 0xc28d0ad8L, "c28d0ad8", "%+x",
-__LINE__, -0x005c208L, "-377352", "% ld",
-__LINE__, 0x00cfbadcL, "13613788", "%d",
-__LINE__, 0x000016eaL, "5866", "%0d",
-__LINE__, 0x00000029L, "29", "%X",
-__LINE__, 0xffe16813L, "0XFFE16813", "%+#X",
-__LINE__, 0x00000004L, "4", "%0X",
-__LINE__, -0x0000096L, " -150", "%5d",
-__LINE__, 0x00027ac7L, "162503", "%ld",
-__LINE__, -0x0075de0L, "-482784", "%d",
-__LINE__, 0x005fcff6L, "6279158", "%d",
-__LINE__, 0xffffffefL, "FFFFFFEF", "%3X",
-__LINE__, 0x267b05ecL, "645596652", "%4ld",
-__LINE__, 0xa487b724L, "a487b724", "%x",
-__LINE__, 0x01da2a11L, "31074833", "%-.0ld",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%X",
-__LINE__, 0x0000037aL, "37a", "%x",
-__LINE__, 0x003d0314L, "+3998484", "%+#1d",
-__LINE__, 0x0000011bL, " 283", "%5.2d",
-__LINE__, 0x094f6066L, "94f6066", "%x",
-__LINE__, 0x00000004L, "4", "%X",
-__LINE__, -0x102e14bdL, "-271455421", "% 7.ld",
-__LINE__, 0x000048daL, "0018650", "%07ld",
-__LINE__, -0x24ae0390L, "-615383952", "%0.6d",
-__LINE__, 0xffff5159L, "0XFFFF5159", "%#0X",
-__LINE__, 0xfffd38c3L, "fffd38c3", "%x",
-__LINE__, 0xfffff9eaL, "FFFFF9EA", "%-X",
-__LINE__, -0x000fd28L, "-64808", "% ld",
-__LINE__, 0x002c1bf4L, "2890740", "%-.1d",
-__LINE__, 0x00d00ee7L, "D00EE7", "%0.4X",
-__LINE__, 0x00000cf9L, "3321", "%0d",
-__LINE__, -0x0000001L, "-1", "%-#ld",
-__LINE__, 0xfffffd75L, "FFFFFD75", "%.2X",
-__LINE__, 0x00000012L, "18", "%-d",
-__LINE__, 0xfd44b4b2L, "fd44b4b2", "%+5.x",
-__LINE__, -0x001c53fL, "-116031", "%-#6.d",
-__LINE__, 0x000ff6fdL, "ff6fd", "%2x",
-__LINE__, 0x00000001L, "1", "%0d",
-__LINE__, 0x0120b478L, "120B478", "%.7X",
-__LINE__, 0x0145591eL, "145591E", "%1.4X",
-__LINE__, 0x001f99b9L, "1F99B9", "%.1X",
-__LINE__, 0xffffd078L, "ffffd078", "%-1.5x",
-__LINE__, 0xffffff1aL, "FFFFFF1A", "%-4.6X",
-__LINE__, 0xfffffffaL, "fffffffa", "%x",
-__LINE__, -0x00000b9L, "-185", "%3ld",
-__LINE__, 0x00001cf0L, "7408", "%-ld",
-__LINE__, 0xffffffffL, "FFFFFFFF", "%X",
-__LINE__, 0x00151f30L, "151F30", "%X",
-__LINE__, -0x0000103L, "-259", "%d",
-__LINE__, -0x000303fL, "-12351", "%d",
-__LINE__, 0x000002caL, "714", "%ld",
-__LINE__, -0x0000c55L, "-3157", "%1d",
-__LINE__, 0x00000691L, "01681", "%#.5ld",
-__LINE__, 0x00230537L, "2295095", "%#d",
-__LINE__, 0x032a1faaL, "53092266", "%.4d",
-__LINE__, 0x000050d7L, "20695", "%d",
-__LINE__, -0x0c7ad4cL, "-13086028", "%#.4ld",
-__LINE__, -0x00009d9L, "-2521", "%+d",
-__LINE__, 0xfffffffeL, "fffffffe", "%0x",
-__LINE__, 0xffdec2d9L, "FFDEC2D9", "%5.1X",
-__LINE__, -0x000563cL, "-22076", "%-.2ld",
-__LINE__, 0x0073b36aL, "0x73b36a", "%-#x",
-__LINE__, 0xfffffffdL, "fffffffd", "%x",
-__LINE__, 0x0193ba5aL, "193ba5a", "%1.x",
-__LINE__, 0x00d147b5L, "13715381", "%2.d",
-__LINE__, 0xffffff10L, "ffffff10", "%4x",
-__LINE__, 0x000648d5L, "648d5", "%1.3x",
-__LINE__, 0x00000011L, "11", "%X",
-__LINE__, 0xff259f5bL, "0xff259f5b", "% #.1x",
-__LINE__, 0x00000175L, "175", "%x",
-__LINE__, 0x00000000L, "0", "%ld",
-__LINE__, 0x00000015L, "21", "%#ld",
-__LINE__, 0xfffffffeL, "fffffffe", "%-x",
-__LINE__, 0x00000013L, " 19", "% 0ld",
-__LINE__, -0x0000001L, "-0000001", "% 5.7ld",
-__LINE__, 0x0000139dL, "139D", "%X",
-__LINE__, 0x0041ad18L, "41ad18", "%-.6x",
-__LINE__, -0x00000f9L, "-249", "% 3.d",
-__LINE__, 0x00000076L, "118", "%ld",
-__LINE__, 0x000006f8L, "1784", "%d",
-__LINE__, -0x0000005L, "-5", "%ld",
-__LINE__, -0x00008e7L, "-2279", "%+ld",
-__LINE__, 0x00003f77L, "3F77", "%+0X",
-__LINE__, 0x000ca3f8L, "0XCA3F8", "%+#X",
-__LINE__, -0x00004bfL, "-001215", "%#5.6ld",
-__LINE__, 0x319129abL, "0x319129ab", "%+#x",
-__LINE__, -0x0000002L, "-2", "%ld",
-__LINE__, -0x0f6686eL, "-16148590", "%.6ld",
-__LINE__, 0x0329576bL, "53041003", "%2.d",
-__LINE__, -0x000179eL, "-6046", "%d",
-__LINE__, 0x000002ccL, "+716", "%+1.3ld",
-__LINE__, 0xfffffff7L, "0xfffffff7", "% #x",
-__LINE__, 0x0016eb40L, "1502016", "%ld",
-__LINE__, 0x00000003L, "3", "%-0ld",
-__LINE__, 0x0023e0d6L, "23E0D6", "%-05.X",
-__LINE__, 0xffffa6a4L, "0XFFFFA6A4", "%#X",
-__LINE__, 0x00087664L, "87664", "% .2x",
-__LINE__, -0x0000002L, " -2", "%3.ld",
-__LINE__, 0x003ad85dL, "3AD85D", "%X",
-__LINE__, 0x00002f20L, "12064", "%ld",
-__LINE__, 0x02030bfcL, "2030BFC", "%02.3X",
-__LINE__, 0xfffff36aL, "FFFFF36A", "%X",
-__LINE__, 0xfe0729ffL, "0xfe0729ff", "% #.0x",
-__LINE__, 0xfec15164L, "FEC15164", "%0.2X",
-__LINE__, -0x00169ecL, "-92652", "%+d",
-__LINE__, 0x006d7990L, "0x6d7990", "%#x",
-__LINE__, 0xffcc89e6L, "ffcc89e6", "%x",
-__LINE__, 0x002d7ccaL, "2981066", "%7.7ld",
-__LINE__, -0x1649692bL, "-373909803", "%#ld",
-__LINE__, 0x00664f47L, "664f47", "%+6.x",
-__LINE__, 0x00000000L, "0", "% X",
-__LINE__, 0x00000047L, "000047", "%.6X",
-__LINE__, 0x00000007L, "0000007", "%.7ld",
-__LINE__, 0x00000030L, "30", "%-x",
-__LINE__, -0x25bcbabbL, "-633125563", "% ld",
-__LINE__, 0xfe11c031L, "FE11C031", "%4.6X",
-__LINE__, -0x0000001L, "-0000001", "%.7d",
-__LINE__, 0x00b56d84L, "11890052", "%ld",
-__LINE__, -0x0000b01L, "-0002817", "%+07.7ld",
-__LINE__, 0xffffe4adL, "ffffe4ad", "% 0.0x",
-__LINE__, 0x007760fcL, "7760fc", "%+x",
-__LINE__, 0xffef44d8L, "FFEF44D8", "%X",
-__LINE__, 0xfcb6862eL, "fcb6862e", "%+x",
-__LINE__, -0x0000001L, "-1", "%0d",
-__LINE__, 0xffffffe6L, "FFFFFFE6", "%3.1X",
-__LINE__, 0xff816e27L, "FF816E27", "% 6.X",
-__LINE__, 0x00006415L, "25621", "%ld",
-__LINE__, -0xfae5449L, "-263083081", "%0ld",
-__LINE__, 0x00000001L, " 1", "% 0d",
-__LINE__, 0x00000009L, " 9", "%2.X",
-__LINE__, 0x002d7e18L, "2981400", "%7d",
-__LINE__, -0x00000fcL, "-0000252", "%-#.7d",
-__LINE__, 0x00000003L, "3", "%0x",
-__LINE__, 0x0d46e47fL, "222749823", "%ld",
-__LINE__, 0xfffcbc52L, "FFFCBC52", "%+X",
-__LINE__, 0x00000000L, "0", "%-X",
-__LINE__, 0xfffff0e5L, "fffff0e5", "%x",
-__LINE__, 0xffffffd9L, "FFFFFFD9", "%07X",
-__LINE__, 0x000004eeL, "4ee", "%0x",
-__LINE__, 0xffffffffL, "ffffffff", "%0x",
-__LINE__, -0x0008cb4L, "-036020", "%+3.6ld",
-__LINE__, 0x0000dadaL, "0xdada", "%#0.x",
-__LINE__, 0x0000001aL, "26 ", "%-4d",
-__LINE__, -0x000000cL, " -12", "%04.d",
-__LINE__, 0x0000025cL, " 25c", "%7.x",
-__LINE__, 0xfe9b091eL, "FE9B091E", "%X",
-__LINE__, 0x00000002L, " 2", "%07.ld",
-__LINE__, -0x0004930L, "-18736", "% 6.d",
-__LINE__, 0xffffffe9L, "FFFFFFE9", "%X",
-__LINE__, 0x00000003L, " 3", "%2.ld",
-__LINE__, 0x00000e00L, "3584", "%.4d",
-__LINE__, 0xffff38c2L, "ffff38c2", "%0.x",
-__LINE__, 0xffffffffL, "FFFFFFFF", "% .3X",
-__LINE__, 0xff7c1b2fL, "FF7C1B2F", "%-3.2X",
-__LINE__, -0x0000005L, "-5", "%2d",
-__LINE__, 0x00098775L, "98775", "%x",
-__LINE__, 0x000015ffL, " 15FF", "%6.X",
-__LINE__, 0xfffbe3efL, "FFFBE3EF", "%0.3X",
-__LINE__, -0x0000048L, "-72", "%ld",
-__LINE__, 0x0001488aL, "84106", "%d",
-__LINE__, 0x00000001L, "1", "%x",
-__LINE__, -0x0000002L, "-2", "%-0.0ld",
-__LINE__, -0x0000001L, "-1", "%-d",
-__LINE__, 0x0006616fL, "6616f", "%x",
-__LINE__, 0x3657856dL, "911705453", "%6.d",
-__LINE__, -0x0007222L, "-0029218", "%.7d",
-__LINE__, 0x00041606L, "267782", "%04.5d",
-__LINE__, 0x00000001L, " 1", "%2.ld",
-__LINE__, 0x00000219L, "219", "%0x",
-__LINE__, 0x0ae0184cL, "ae0184c", "%x",
-__LINE__, 0x00003a7dL, " 14973", "%7.ld",
-__LINE__, 0xffffffffL, "0XFFFFFFFF", "%#X",
-__LINE__, -0x0000002L, "-2", "%0ld",
-__LINE__, 0x00002cdfL, "11487", "%0ld",
-__LINE__, -0x000000cL, "-12", "%d",
-__LINE__, -0x000000eL, "-14", "%-#2d",
-__LINE__, 0x00000371L, "881", "%#ld",
-__LINE__, 0x000015beL, " 5566", "%5.ld",
-__LINE__, 0x01525b91L, "22174609", "%#0.0ld",
-__LINE__, 0xff8fc22fL, "FF8FC22F", "% X",
-__LINE__, -0x0007f7bL, "-32635", "%4.ld",
-__LINE__, 0x00007bcaL, "7bca", "%x",
-__LINE__, -0x0000582L, "-1410", "%ld",
-__LINE__, 0x00000047L, " +71", "%+04.2d",
-__LINE__, 0xf8a8dce2L, "f8a8dce2", "%+.6x",
-__LINE__, -0x000de2eL, "-56878", "%.0d",
-__LINE__, 0x019c03c1L, "0X19C03C1", "%#X",
-__LINE__, -0x0f3a43eL, "-15967294", "%ld",
-__LINE__, 0x00009e87L, "40583", "%#5.1d",
-__LINE__, 0x000000b8L, "184", "%0ld",
-__LINE__, -0x000befeL, "-48894", "%2ld",
-__LINE__, -0x002ee1aL, "-192026", "%.2d",
-__LINE__, 0x00004fd8L, "4fd8", "%x",
-__LINE__, 0x0006d57bL, "447867", "%2d",
-__LINE__, 0xfffffa9cL, "FFFFFA9C", "%-X",
-__LINE__, 0x0000000fL, "15", "%ld",
-__LINE__, 0x0005deb2L, "5DEB2", "% X",
-__LINE__, 0x00000007L, "7", "%X",
-__LINE__, 0xffffffc8L, "0XFFFFFFC8", "% #.1X",
-__LINE__, 0xfffff62fL, "FFFFF62F", "%X",
-__LINE__, -0x1a935bbaL, "-445864890", "% 3.5d",
-__LINE__, 0x000b34b4L, "0x0b34b4", "%-#3.6x",
-__LINE__, 0xfffff430L, "FFFFF430", "%X",
-__LINE__, 0x00000b5fL, "+0002911", "%+#.7d",
-__LINE__, 0x00000007L, " 7", "%3ld",
-__LINE__, 0xffffffd8L, "FFFFFFD8", "% .7X",
-__LINE__, 0xfffff544L, "FFFFF544", "%0X",
-__LINE__, -0x353667b9L, "-892757945", "%d",
-__LINE__, 0x00000058L, "0x00058", "%+#.5x",
-__LINE__, 0x39dbcc4aL, "+970705994", "%+0.6ld",
-__LINE__, 0xfffffffdL, "fffffffd", "% 01x",
-__LINE__, 0x00b1c28eL, "+11649678", "%+0ld",
-__LINE__, 0x000066c2L, "0X66C2", "%-#4X",
-__LINE__, 0x007171a2L, "+7434658", "%+07.ld",
-__LINE__, -0x0000001L, "-1", "%-d",
-__LINE__, 0x00000ae0L, "+2784", "%+0d",
-__LINE__, 0x13786a57L, "326658647", "%#5d",
-__LINE__, -0x0000001L, "-1", "%2.ld",
-__LINE__, -0x0168a16L, "-1477142", "%d",
-__LINE__, 0x12df7dd6L, "316636630", "%ld",
-__LINE__, 0x00000000L, "000000", "%1.6d",
-__LINE__, 0x266da2a9L, "644719273", "%ld",
-__LINE__, 0x0000004aL, "74", "%d",
-__LINE__, 0x000102ffL, "00102FF", "%+06.7X",
-__LINE__, 0x17916237L, "0x17916237", "%#5x",
-__LINE__, -0x0003cbbL, "-0015547", "%-.7d",
-__LINE__, 0xe7da2010L, "e7da2010", "%2.4x",
-__LINE__, 0xfffffff3L, "fffffff3", "% .7x",
-__LINE__, 0xfc9b64f8L, "FC9B64F8", "% 7.X",
-__LINE__, 0x000001afL, "431", "%0d",
-__LINE__, 0xffc81796L, "0xffc81796", "%#.5x",
-__LINE__, 0x057a1fbcL, "+91889596", "%+04d",
-__LINE__, 0x00001ae1L, "6881", "%ld",
-__LINE__, 0xfffffff6L, "fffffff6", "%3.0x",
-__LINE__, -0x6b7d5dbL, "-112711131", "%-06.1d",
-__LINE__, 0x008e8a5cL, " 8e8a5c", "%7.0x",
-__LINE__, 0xfe07a9bdL, "fe07a9bd", "%.1x",
-__LINE__, -0x00278e6L, "-162022", "%0ld",
-__LINE__, 0xf98709f5L, "F98709F5", "%X",
-__LINE__, -0x00000c9L, "-201", "% 1.d",
-__LINE__, -0x000001dL, "-00029", "%+2.5ld",
-__LINE__, 0x00000030L, " 48", "% d",
-__LINE__, 0xffd753f4L, "FFD753F4", "%0X",
-__LINE__, 0xfffffffdL, "FFFFFFFD", "%X",
-__LINE__, 0x0000a765L, "a765", "%x",
-__LINE__, 0x0026e2c8L, "26E2C8", "%-0X",
-__LINE__, -0x00003ebL, "-1003", "%3.1ld",
-__LINE__, 0x015d53caL, "22893514", "%0ld",
-__LINE__, -0x0000020L, "-32", "%ld",
-__LINE__, -0x03558ddL, "-3496157", "%1.0ld",
-__LINE__, -0x000007fL, "-127", "%1.d",
-__LINE__, 0xffffc737L, "0xffffc737", "%+#x",
-__LINE__, 0x0000a70dL, " a70d", "%6.x",
-__LINE__, 0x01ea0e31L, "0X1EA0E31", "% #1.X",
-__LINE__, 0x00b5f406L, "0X0B5F406", "%-#.7X",
-__LINE__, 0x0e58fa9aL, "240712346", "%.2d",
-__LINE__, 0xf43ff8a9L, "f43ff8a9", "%+0.6x",
-__LINE__, -0x5d0d3d3L, "-97571795", "%.3ld",
-__LINE__, -0x000027aL, "-634", "%0d",
-__LINE__, 0xffcef248L, "FFCEF248", "%07.X",
-__LINE__, 0x000002dcL, "2dc", "%0x",
-__LINE__, -0x31fa6c1L, "-52405953", "%.2d",
-__LINE__, 0x00000014L, "14", "%X",
-__LINE__, -0x0282f98L, "-2633624", "%ld",
-__LINE__, 0x00005f55L, "24405", "%#d",
-__LINE__, -0x0000004L, "-4", "%d",
-__LINE__, 0x00000001L, "1", "%+x",
-__LINE__, 0x013f47ceL, "13f47ce", "%0.x",
-__LINE__, 0x00143fceL, "1327054", "%.3d",
-__LINE__, 0x00000000L, "0", "%d",
-__LINE__, 0x00001f9aL, "1F9A", "% X",
-__LINE__, 0x00000cf5L, "cf5", "%x",
-__LINE__, 0xffea9c24L, "ffea9c24", "%x",
-__LINE__, 0xf09f85a7L, "F09F85A7", "%X",
-__LINE__, 0x00001e04L, "7684", "%ld",
-__LINE__, 0xffffc82aL, "ffffc82a", "%7x",
-__LINE__, -0x0000a77L, "-2679", "% d",
-__LINE__, 0x0019a859L, "+1681497", "%+2.6ld",
-__LINE__, -0x00002d7L, "-727", "%ld",
-__LINE__, 0x00011b82L, "72578", "%-#ld",
-__LINE__, 0x00000c32L, "3122", "%ld",
-__LINE__, -0x0000337L, "-823", "%1.d",
-__LINE__, 0x00000004L, "4", "%1ld",
-__LINE__, 0x0000062cL, "1580", "%.1ld",
-__LINE__, 0xffffffd3L, "FFFFFFD3", "% X",
-__LINE__, -0x07b1bf8L, "-8068088", "%#d",
-__LINE__, 0xfffffff9L, "fffffff9", "%x",
-__LINE__, 0x159e6cfbL, "159e6cfb", "%0.x",
-__LINE__, 0x0001148dL, "1148d", "%-.1x",
-__LINE__, 0x003373b7L, "3371959", "%#.0d",
-__LINE__, 0x00001af2L, "1af2", "%.4x",
-__LINE__, -0x0000001L, "-000001", "%+.6ld",
-__LINE__, -0x00001a3L, "-419", "%d",
-__LINE__, 0xfdb232e7L, "fdb232e7", "%5.4x",
-__LINE__, -0x000000dL, "-13", "%d",
-__LINE__, 0x98ec1c74L, "98ec1c74", "% 3x",
-__LINE__, 0xfffffff8L, "fffffff8", "%+1.4x",
-__LINE__, -0x0000d58L, "-3416", "%+#0ld",
-__LINE__, -0x65d1973L, "-106764659", "%.6d",
-__LINE__, -0x0737641L, "-7566913", "%-d",
-__LINE__, 0x0000037cL, "37c", "%+0x",
-__LINE__, 0x0000012cL, "0000300", "%#3.7d",
-__LINE__, 0x00c12d9bL, "12660123", "%1.5ld",
-__LINE__, 0xe7e5e77dL, "e7e5e77d", "%6x",
-__LINE__, 0x1fe0e820L, "1FE0E820", "%-4X",
-__LINE__, 0xc85a793aL, "C85A793A", "%X",
-__LINE__, 0x05f9fe2cL, "100269612", "%#ld",
-__LINE__, 0x00000032L, "0X32", "%+#4.1X",
-__LINE__, 0xfab4ce81L, "fab4ce81", "%3.x",
-__LINE__, -0x0000009L, "-9", "%2.d",
-__LINE__, 0xffff8d2eL, "ffff8d2e", "% 6x",
-__LINE__, 0xfffffffeL, "0xfffffffe", "%#x",
-__LINE__, 0x02960f60L, "2960f60", "%1.x",
-__LINE__, 0x34cf3cbcL, " 885996732", "% 5ld",
-__LINE__, -0x000006eL, "-110", "% d",
-__LINE__, -0x0000001L, "-1", "%-.0d",
-__LINE__, 0x000000b1L, " B1", "%+7X",
-__LINE__, 0xfffff5b4L, "FFFFF5B4", "%01.7X",
-__LINE__, 0x00000086L, "86", "%0X",
-__LINE__, 0x00074367L, " 74367", "% 6x",
-__LINE__, 0x001000d7L, "+1048791", "%+ld",
-__LINE__, 0x00000f35L, " 3893", "% d",
-__LINE__, -0x00000e1L, "-225", "%d",
-__LINE__, 0xffff6694L, "FFFF6694", "%6.X",
-__LINE__, 0x00019cf7L, "19cf7", "%0.x",
-__LINE__, 0x00000046L, "0046", "%+.4X",
-__LINE__, -0x000001fL, "-31", "%ld",
-__LINE__, 0xfff25859L, "fff25859", "%6x",
-__LINE__, 0x21884061L, "562577505", "%#ld",
-__LINE__, 0x01448b7aL, "1448B7A", "%0.1X",
-__LINE__, 0xffffffc0L, "ffffffc0", "%x",
-__LINE__, 0xfffffed5L, "fffffed5", "% 1.0x",
-__LINE__, 0x0e349767L, "E349767", "%.5X",
-__LINE__, 0x00000330L, "816", "%0d",
-__LINE__, -0x0000016L, "-22", "%d",
-__LINE__, 0xffff9babL, "FFFF9BAB", "%X",
-__LINE__, 0xffffee4eL, "ffffee4e", "%x",
-__LINE__, 0x0026beebL, "2539243", "%6.d",
-__LINE__, 0x00002c6cL, "11372", "%.2d",
-__LINE__, -0x000002cL, "-44", "%ld",
-__LINE__, -0x001dcfaL, "-122106", "% d",
-__LINE__, 0x0001683cL, "92220", "%#4.ld",
-__LINE__, 0x09b51fc9L, "9b51fc9", "%+.7x",
-__LINE__, 0x0000001dL, "29", "%0ld",
-__LINE__, -0x83f17e5L, "-138352613", "%ld",
-__LINE__, 0xfa4e2c1bL, "fa4e2c1b", "%x",
-__LINE__, 0x000001f3L, "499", "%0ld",
-__LINE__, 0xffff03e4L, "ffff03e4", "%x",
-__LINE__, 0x000000acL, "+0172", "%+.4ld",
-__LINE__, 0x03c3903bL, "63148091", "%00d",
-__LINE__, 0x0000000dL, "13", "%#d",
-__LINE__, 0x0000002eL, "0X2E", "%#X",
-__LINE__, 0x00006b2dL, "6B2D", "%X",
-__LINE__, 0x0000010bL, " 0010b", "%7.5x",
-__LINE__, 0x0000017aL, " 17a", "%4x",
-__LINE__, 0xfffffffbL, "fffffffb", "%+x",
-__LINE__, 0xffffac6aL, "ffffac6a", "%-.3x",
-__LINE__, -0x0005870L, "-22640", "%0d",
-__LINE__, 0x189c17bcL, "189c17bc", "%x",
-__LINE__, -0x01bbc38L, "-1817656", "%#6.ld",
-__LINE__, -0x3382b55L, "-54012757", "%d",
-__LINE__, -0x0000007L, "-7", "%-ld",
-__LINE__, -0x000c74bL, "-51019", "%ld",
-__LINE__, 0x0001a6f2L, "+108274", "%+#1.ld",
-__LINE__, 0x00077448L, "77448", "%x",
-__LINE__, 0x00000000L, "0", "%x",
-__LINE__, 0xfffff056L, "FFFFF056", "%.3X",
-__LINE__, -0x6f3f9451L, "-1866437713", "%-#3.0ld",
-__LINE__, 0x000000acL, "AC", "%X",
-__LINE__, 0xffc8752fL, "ffc8752f", "%-x",
-__LINE__, 0xfffffe6dL, "FFFFFE6D", "%2.X",
-__LINE__, -0x377f1a5L, "-58192293", "% .2d",
-__LINE__, -0x0000294L, "-660", "%d",
-__LINE__, 0xfffffffeL, "fffffffe", "%-x",
-__LINE__, 0xfffcbbe8L, "0xfffcbbe8", "%-#4.x",
-__LINE__, 0x0022e510L, "+2286864", "%+ld",
-__LINE__, 0xfffffe2aL, "FFFFFE2A", "%0.3X",
-__LINE__, 0xfe29f7c0L, "fe29f7c0", "%x",
-__LINE__, 0xfffe957eL, "FFFE957E", "%X",
-__LINE__, 0x000080f8L, "33016", "%ld",
-__LINE__, 0x0003ee2cL, " 257580", "%7d",
-__LINE__, 0x000003a1L, "929", "%d",
-__LINE__, 0x0000021fL, "21f", "%+x",
-__LINE__, 0xffffffffL, "ffffffff", "%.5x",
-__LINE__, -0x040a988L, "-4237704", "%-d",
-__LINE__, 0x027c8b69L, "41716585", "%ld",
-__LINE__, 0x00000003L, "3", "%-X",
-__LINE__, -0x0000368L, " -872", "%7.d",
-__LINE__, 0x00000d3cL, "3388", "%0.2d",
-__LINE__, -0x33734ccL, "-53949644", "%2ld",
-__LINE__, 0x000003dbL, "3DB", "%X",
-__LINE__, -0x00f154dL, "-988493", "%5d",
-__LINE__, 0x0000000bL, " 11", "%4.ld",
-__LINE__, 0x00000067L, "103", "%-ld",
-__LINE__, -0x0199fceL, "-1679310", "%4d",
-__LINE__, 0x02b6266bL, "2b6266b", "% x",
-__LINE__, -0x006b39dL, "-439197", "%+d",
-__LINE__, 0x00000007L, "7", "%ld",
-__LINE__, 0x0141fc98L, "21101720", "%0ld",
-__LINE__, -0x0008420L, "-33824", "%d",
-__LINE__, 0x0011622bL, "1139243", "%6ld",
-__LINE__, 0x0000001bL, "27", "%-d",
-__LINE__, -0x0030935L, "-198965", "%3d",
-__LINE__, 0x0000001fL, " 1f", "%4.x",
-__LINE__, -0x10782a19L, "-276310553", "%#ld",
-__LINE__, -0x007eac4L, "-518852", "%06.ld",
-__LINE__, 0x0bc4c681L, "197445249", "%6ld",
-__LINE__, 0x000000f5L, "245", "%.3ld",
-__LINE__, 0x00000197L, "197", "%X",
-__LINE__, 0xfffffeabL, "FFFFFEAB", "% X",
-__LINE__, 0x00000f05L, "F05", "%+X",
-__LINE__, 0xffe1b785L, "0xffe1b785", "%#x",
-__LINE__, -0x02d3581L, "-2962817", "%05d",
-__LINE__, 0xffffb994L, "FFFFB994", "%X",
-__LINE__, 0x03d139a3L, "64043427", "%ld",
-__LINE__, -0x0000002L, " -2", "%+4.d",
-__LINE__, -0x043da83L, "-4446851", "%#ld",
-__LINE__, -0x6aad891L, "-111859857", "%7.ld",
-__LINE__, 0x00003e68L, "15976", "%-4.5ld",
-__LINE__, 0xffe4d3eeL, "FFE4D3EE", "%X",
-__LINE__, 0x00000002L, "000002", "%4.6ld",
-__LINE__, 0xffffee32L, "ffffee32", "%4x",
-__LINE__, 0x0cb7dd25L, "cb7dd25", "%3x",
-__LINE__, 0xf773d422L, "F773D422", "%X",
-__LINE__, -0x0b590f7L, "-11899127", "%#d",
-__LINE__, -0x0002c45L, "-11333", "%-#5ld",
-__LINE__, -0x1efc9e4L, "-32492004", "%ld",
-__LINE__, -0x0003b9cL, "-15260", "%d",
-__LINE__, 0x000001b6L, "0X1B6", "%#4X",
-__LINE__, 0x3ce93ec3L, "1021918915", "%.6d",
-__LINE__, 0xffffffffL, "ffffffff", "%-x",
-__LINE__, 0xfffaf0e4L, "fffaf0e4", "%2.x",
-__LINE__, 0x00000002L, "0x2", "%#x",
-__LINE__, 0x0000e806L, "e806", "%4x",
-__LINE__, 0xfffffff0L, "fffffff0", "% 2.x",
-__LINE__, 0xfffffc0eL, "fffffc0e", "%+.4x",
-__LINE__, 0xfd45716eL, "FD45716E", "%.4X",
-__LINE__, 0xfff96fdaL, "FFF96FDA", "%-X",
-__LINE__, 0xff99d08aL, "FF99D08A", "%.5X",
-__LINE__, 0x00000002L, "2", "%-00.d",
-__LINE__, -0x000000fL, " -15", "%6.ld",
-__LINE__, -0x00d321cL, "-864796", "%#1ld",
-__LINE__, 0xff19ff8dL, "ff19ff8d", "%1.5x",
-__LINE__, 0x00000000L, "0000000", "%-.7x",
-__LINE__, 0x0000f50dL, " F50D", "%5X",
-__LINE__, 0x00001688L, " 5768", "%7.ld",
-__LINE__, 0x00000157L, "343", "%2ld",
-__LINE__, 0xfffffffdL, "0xfffffffd", "%+#3x",
-__LINE__, 0x00000d52L, "3410", "%ld",
-__LINE__, 0x00000003L, "3", "%d",
-__LINE__, 0x0001c6d2L, "01c6d2", "%.6x",
-__LINE__, 0x242d65d2L, "606954962", "%#7.ld",
-__LINE__, 0x00000e9fL, "0000E9F", "%5.7X",
-__LINE__, 0x0002d785L, "2D785", "%0X",
-__LINE__, 0x00000167L, "167", "%0X",
-__LINE__, 0xfffff5e5L, "fffff5e5", "% x",
-__LINE__, 0xffb69a04L, "0xffb69a04", "%#0.x",
-__LINE__, 0xfffa012eL, "FFFA012E", "%X",
-__LINE__, 0x0000001aL, "0x1a", "% #x",
-__LINE__, 0xfffb26d3L, "fffb26d3", "%+x",
-__LINE__, -0x00003e6L, " -998", "%7ld",
-__LINE__, 0x00000004L, "4", "%-d",
-__LINE__, 0xfffffd76L, "0XFFFFFD76", "%#7X",
-__LINE__, 0x00000035L, "53", "%ld",
-__LINE__, 0xffc6c190L, "0XFFC6C190", "%#X",
-__LINE__, 0xffffffe2L, "ffffffe2", "%7.0x",
-__LINE__, 0x03ff1b87L, "67050375", "%2.d",
-__LINE__, 0x00020c47L, "0X20C47", "%#X",
-__LINE__, 0x00000000L, "0", "%d",
-__LINE__, 0x0000000eL, "0X000E", "% #.4X",
-__LINE__, -0x00035cdL, "-13773", "%+2.d",
-__LINE__, 0x00005eecL, "5eec", "%1x",
-__LINE__, 0x001da0ffL, "1941759", "%0d",
-__LINE__, 0xf8a9e96aL, "f8a9e96a", "%+x",
-__LINE__, -0x0000120L, "-288 ", "%-#6.d",
-__LINE__, 0x00000000L, "0", "%-X",
-__LINE__, 0x0000152eL, "152E", "%+X",
-__LINE__, -0x0001077L, "-4215", "% 0d",
-__LINE__, 0xffffffd7L, "FFFFFFD7", "%0X",
-__LINE__, 0xfffe097dL, "FFFE097D", "%2X",
-__LINE__, 0xcb982712L, "cb982712", "%x",
-__LINE__, 0xfff39f2eL, "FFF39F2E", "%.5X",
-__LINE__, -0x0058caeL, "-363694", "%+.1d",
-__LINE__, -0x000002bL, "-043", "%#1.3d",
-__LINE__, -0x001e989L, "-125321", "%1d",
-__LINE__, 0x00959ecdL, "9805517", "%d",
-__LINE__, 0xf49df846L, "F49DF846", "%+3X",
-__LINE__, 0xfffffffdL, "fffffffd", "%+.5x",
-__LINE__, -0x000ac76L, "-44150", "%3.ld",
-__LINE__, 0x00000028L, " 0028", "%06.4x",
-__LINE__, 0x000003e8L, "3E8", "%-02X",
-__LINE__, 0x00000012L, "012", "%.3X",
-__LINE__, 0x00000006L, "0X6", "%#X",
-__LINE__, 0x00ef8479L, "+15697017", "%+0.6d",
-__LINE__, 0xffffffe8L, "FFFFFFE8", "%-X",
-__LINE__, 0x773a90f7L, "773a90f7", "%3.5x",
-__LINE__, 0x00096d44L, "96D44", "%-X",
-__LINE__, -0x08a3d96L, "-9059734", "%ld",
-__LINE__, -0x000001aL, "-26", "%00.ld",
-__LINE__, 0x32f57585L, "32f57585", "% x",
-__LINE__, 0x2825f175L, "2825F175", "%X",
-__LINE__, 0x000054ffL, "21759", "%-2d",
-__LINE__, -0x0266cdcL, "-2518236", "%ld",
-__LINE__, 0x0000031dL, "0X31D", "%+#4X",
-__LINE__, 0x0003fc99L, "3fc99", "%x",
-__LINE__, -0x0064624L, "-411172", "%-#d",
-__LINE__, 0x0001b2d9L, "111321", "%-ld",
-__LINE__, -0x000007cL, "-124", "%#d",
-__LINE__, 0xfffffffaL, "FFFFFFFA", "%+X",
-__LINE__, -0x007a5b8L, "-501176", "%+ld",
-__LINE__, 0x0213b583L, "213B583", "%2.X",
-__LINE__, 0xfff12e51L, "FFF12E51", "%+X",
-__LINE__, 0x00052403L, "0336899", "%-0.7d",
-__LINE__, 0xffffffffL, "ffffffff", "%-04.4x",
-__LINE__, 0x00000010L, "0010", "%0.4X",
-__LINE__, 0xffffffb5L, "FFFFFFB5", "%-1.3X",
-__LINE__, -0x0000001L, "-1", "%d",
-__LINE__, 0x0003a2d1L, "3a2d1", "% x",
-__LINE__, 0x00000424L, "1060", "%0ld",
-__LINE__, -0x0000078L, "-120", "%1d",
-__LINE__, 0x00000000L, "0", "%ld",
-__LINE__, 0x00000414L, "1044", "%ld",
-__LINE__, 0x00000072L, "0x072", "%#5.3x",
-__LINE__, 0x0000007aL, "7A", "% X",
-__LINE__, 0x081542a3L, "135611043", "%0d",
-__LINE__, 0xfffb4ce6L, "fffb4ce6", "%4.6x",
-__LINE__, 0x00002ab2L, "2ab2", "%-1x",
-__LINE__, 0x00000000L, " 0", "% 2x",
-__LINE__, 0xfffffa59L, "FFFFFA59", "%2.X",
-__LINE__, 0xffffe22bL, "ffffe22b", "%-x",
-__LINE__, 0xfffffd52L, "FFFFFD52", "%+.2X",
-__LINE__, 0x0000039fL, "927", "%-d",
-__LINE__, 0x0002dea6L, "2dea6", "%0x",
-__LINE__, 0x000216dbL, "136923", "%ld",
-__LINE__, 0x00000013L, "19", "%0d",
-__LINE__, 0x000047ccL, "18380", "%2.2ld",
-__LINE__, -0x0007d10L, "-32016", "%d",
-__LINE__, 0xff9af906L, "FF9AF906", "%0X",
-__LINE__, 0x02cfa224L, "+47161892", "%+0.7d",
-__LINE__, -0x0000022L, "-34", "%1.d",
-__LINE__, 0xfffffff0L, "FFFFFFF0", "%-4X",
-__LINE__, 0x00000029L, " 41", "%6.ld",
-__LINE__, 0xffffff76L, "ffffff76", "%x",
-__LINE__, 0x00000000L, "0", "%+X",
-__LINE__, 0x00000001L, "1", "%d",
-__LINE__, 0xfff6de5aL, "FFF6DE5A", "%X",
-__LINE__, 0x00000002L, "2", "%ld",
-__LINE__, 0x00000025L, "25", "%+x",
-__LINE__, 0xfffffffbL, "FFFFFFFB", "%5.0X",
-__LINE__, 0x0011bbb5L, "1162165", "%0.0ld",
-__LINE__, 0xfffcdc96L, "0XFFFCDC96", "%#X",
-__LINE__, 0x00008f5fL, "8f5f", "%3.1x",
-__LINE__, 0xffa0fa5dL, "0XFFA0FA5D", "%#X",
-__LINE__, 0x00004534L, "4534", "% 0X",
-__LINE__, 0xfffffff9L, "fffffff9", "%.2x",
-__LINE__, 0xffeeae50L, "ffeeae50", "%-x",
-__LINE__, 0x00002964L, " 0010596", "% 0.7d",
-__LINE__, 0x000021c9L, " 21c9", "%6x",
-__LINE__, 0x00000001L, " 1", "% d",
-__LINE__, 0x0002abd8L, "+175064", "%+d",
-__LINE__, 0xffffffadL, "FFFFFFAD", "%+0X",
-__LINE__, 0x00000003L, "3", "%ld",
-__LINE__, 0x0c036da3L, " 201551267", "% .3d",
-__LINE__, -0x004343cL, "-275516", "%+ld",
-__LINE__, 0x00000003L, "003", "% .3x",
-__LINE__, 0xffffe34eL, "ffffe34e", "%x",
-__LINE__, 0x0000e118L, "e118", "%x",
-__LINE__, -0x007d945L, "-514373", "%+#0ld",
-__LINE__, 0x277f1cc5L, "277f1cc5", "% x",
-__LINE__, 0x00003befL, "03bef", "% 0.5x",
-__LINE__, 0xfffffcb9L, "fffffcb9", "%x",
-__LINE__, 0x0003311aL, "209178", "%ld",
-__LINE__, 0x00000000L, " ", "%3.ld",
-__LINE__, 0x05942225L, "5942225", "%x",
-__LINE__, 0xfffceb4cL, "FFFCEB4C", "%-X",
-__LINE__, 0xffd08633L, "ffd08633", "%2.x",
-__LINE__, -0x0000001L, " -1", "%6d",
-__LINE__, 0x000fdb12L, "1039122", "%d",
-__LINE__, 0x00000003L, "3", "% 0X",
-__LINE__, -0x2fd5bf1L, "-50158577", "% 5.ld",
-__LINE__, -0x0089a03L, "-563715", "%-d",
-__LINE__, 0xfffffffeL, "FFFFFFFE", "% X",
-__LINE__, 0x29fdb2baL, "29fdb2ba", "% 0x",
-__LINE__, 0x0000008fL, "8F", "% X",
-__LINE__, 0x00000003L, "3", "%ld",
-__LINE__, 0xffc58445L, "FFC58445", "%.2X",
-__LINE__, -0x00023f6L, "-9206", "%+d",
-__LINE__, 0x00000011L, "11", "%X",
-__LINE__, -0x0000003L, "-0000003", "%-.7d",
-__LINE__, -0x0000003L, "-3", "%#ld",
-__LINE__, 0x001242d9L, "1242D9", "%X",
-__LINE__, -0x48d0c81L, "-76352641", "%7.d",
-__LINE__, -0x001b675L, "-112245", "%#ld",
-__LINE__, 0x00000003L, "3", "%-d",
-__LINE__, 0xfff93fdfL, "0XFFF93FDF", "% #X",
-__LINE__, 0x001a9414L, "1741844", "%#ld",
-__LINE__, 0x0001fd86L, "130438", "%ld",
-__LINE__, 0x010f37a8L, "17774504", "%4.7d",
-__LINE__, 0x00382838L, "0382838", "%3.7X",
-__LINE__, -0x47fd56c2L, "-1207785154", "%ld",
-__LINE__, 0x001981ddL, "1981dd", "%x",
-__LINE__, 0xffffefbaL, "ffffefba", "% 06.x",
-__LINE__, -0x3f402b29L, "-1061169961", "%+#ld",
-__LINE__, -0x395aae44L, "-962244164", "%-1d",
-__LINE__, 0x1fa39f42L, "530816834", "%#d",
-__LINE__, -0x000358dL, "-13709", "%d",
-__LINE__, -0xdc17b8fL, "-230783887", "%ld",
-__LINE__, -0x23c41583L, "-600053123", "%+3.d",
-__LINE__, 0xfffffc16L, "fffffc16", "%x",
-__LINE__, 0x003f1364L, "4133732", "%7.ld",
-__LINE__, 0xffffe691L, "FFFFE691", "%07X",
-__LINE__, 0x07b31d71L, "129178993", "%.7d",
-__LINE__, -0x0019732L, "-104242", "% ld",
-__LINE__, 0x02428167L, "0x2428167", "%#x",
-__LINE__, -0x06c1ecdL, "-7085773", "%.7ld",
-__LINE__, 0xfb01cb4eL, "fb01cb4e", "%x",
-__LINE__, 0x00005a41L, "+23105", "%+ld",
-__LINE__, 0xfffffff4L, "FFFFFFF4", "%-5.X",
-__LINE__, 0x00000005L, " 5", "%4.ld",
-__LINE__, 0xf4ab4b2dL, "F4AB4B2D", "%0.X",
-__LINE__, -0x000fce3L, "-64739", "%+#3.ld",
-__LINE__, 0x000076eaL, " 30442", "%6.2ld",
-__LINE__, 0x00000cb9L, " cb9", "%4.x",
-__LINE__, 0x002f43efL, "3097583", "%1.1ld",
-__LINE__, 0xf5bd0105L, "F5BD0105", "%+X",
-__LINE__, 0x0037954aL, "3642698", "%d",
-__LINE__, 0xfffffff7L, "0XFFFFFFF7", "%-#X",
-__LINE__, 0xffffcedfL, "0xffffcedf", "%#6.7x",
-__LINE__, 0xfffffde4L, "FFFFFDE4", "%2.4X",
-__LINE__, 0x01a6f103L, "1a6f103", "%5.x",
-__LINE__, 0x00000191L, " 191", "%7.0X",
-__LINE__, 0x00000003L, "03", "% .2X",
-__LINE__, -0xd4e3219L, "-223228441", "%6.ld",
-__LINE__, 0x00b0efbdL, "11595709", "%d",
-__LINE__, -0x00000eaL, "-234", "%#3d",
-__LINE__, 0x00000be8L, "BE8 ", "%-5X",
-__LINE__, 0xffffffffL, "ffffffff", "%5.3x",
-__LINE__, -0x267f8c6L, "-40368326", "%d",
-__LINE__, 0x000006edL, "6ED", "%X",
-__LINE__, 0xfdd6c9b6L, "FDD6C9B6", "%X",
-__LINE__, 0x0007ac29L, "7ac29", "%-x",
-__LINE__, 0x00000014L, "14", "%2x",
-__LINE__, 0x123ca563L, "+305964387", "%+ld",
-__LINE__, 0x00000004L, " 4", "%5.d",
-__LINE__, 0xffff877aL, "ffff877a", "%x",
-__LINE__, -0x00003e7L, "-999", "%+0.3d",
-__LINE__, 0x0a68ba6eL, "a68ba6e", "%3.1x",
-__LINE__, 0xfe29c810L, "FE29C810", "%+X",
-#endif
-
-__LINE__, 0x00000000L, "0", "%o",
-__LINE__, 0000000123L, "123", "%o",
-__LINE__, 0000123456L, "0123456", "%#o",
-__LINE__, 0000123456L, "00123456", "%#.8o",
-__LINE__, 0000123456L, " 00123456", "%#10.8o",
-__LINE__, 0x00000123L, "0x00123", "%#07x",
-
-0,
-};
-
-int main()
-{
- int errcount = 0;
- int testcount = 0;
-#define BSIZE 1024
- char buffer[BSIZE];
- sprint_int_type *iptr;
-#if defined(__cplusplus) && !defined(TEST_LIBIO)
-
- ostrstream sstr(buffer, BSIZE);
-
- for (iptr = sprint_ints; iptr->line; iptr++) {
- sstr.seekp(0);
- sstr.form(iptr->format_string, iptr->value);
- sstr << ends;
- if (strcmp(buffer, iptr->result) != 0) {
- errcount++;
- cerr << "Error in line " << iptr->line;
- cerr << " using \"" << iptr->format_string;
- cerr << "\". Result is \"" << buffer << "\"; should be: \"";
- cerr << iptr->result << "\".\n";
- }
- testcount++;
- }
-
-
- if (errcount == 0) {
- cerr << "Encountered no errors in " << testcount << " tests.\n";
- return 0;
- }
- else {
- cerr << "Encountered " << errcount << " errors in "
- << testcount << " tests.\n";
- return 1;
- }
-#else
- for (iptr = sprint_ints; iptr->line; iptr++)
- {
- if (sizeof(int)==2)
- {
- /* Cheezy, but effective. */
- char buf[30];
- int len = strlen(iptr->format_string);
-
- strcpy(buf, iptr->format_string);
- if(buf[len-2] != 'l') {
- buf[len] = buf[len-1];
- buf[len-1] = 'l';
- buf[len+1] = 0;
- }
- sprintf(buffer, buf, iptr->value);
- }
- else
- {
- sprintf(buffer, iptr->format_string, iptr->value);
- }
- if (strcmp(buffer, iptr->result) != 0) {
- errcount++;
- fprintf(stderr,
- "Error in line %d using \"%s\". Result is \"%s\"; should be: \"%s\".\n",
- iptr->line, iptr->format_string, buffer, iptr->result);
- fprintf(stderr,"%ld\n",iptr->value);
- }
- testcount++;
- }
-
- if (errcount == 0) {
- fprintf(stderr, "Encountered no errors in %d tests.\n", testcount);
- return 0;
- }
- else {
- fprintf(stderr, "Encountered %d errors in %d tests.\n",
- errcount, testcount);
- return 1;
- }
-#endif
-}
diff --git a/contrib/libio/tests/tiomanip.cc b/contrib/libio/tests/tiomanip.cc
deleted file mode 100644
index b7dd08a..0000000
--- a/contrib/libio/tests/tiomanip.cc
+++ /dev/null
@@ -1,35 +0,0 @@
-// test the parametrized manipulators
-
-#include <stdlib.h>
-#include <iomanip.h>
-
-main()
-{
-#ifdef _G_NO_TEMPLATES
- cerr << "(IO manipulators are not supported with this compiler)\n");
- exit(-1);
-#else
-
- cout << dec << 1234 << ' '
- << hex << 1234 << ' '
- << oct << 1234 << endl;
-
- //SMANIP<int> x = setw(4);
- //operator<<(cout, x);
-
- cout
- << "("
- << dec << setw(4) << setfill('*')
- << 12 << ")\n";
-
- cout << "(" << 12 << ")\n";
-
- cout << setiosflags(ios::internal);
- cout << "(" << setw(6) << -12 << ")\n";
-
- exit(0);
-#endif
-}
-
-
-
diff --git a/contrib/libio/tests/tiomanip.exp b/contrib/libio/tests/tiomanip.exp
deleted file mode 100644
index 7a0a7ea5..0000000
--- a/contrib/libio/tests/tiomanip.exp
+++ /dev/null
@@ -1,4 +0,0 @@
-1234 4d2 2322
-(**12)
-(12)
-(-***12)
diff --git a/contrib/libio/tests/tiomisc.cc b/contrib/libio/tests/tiomisc.cc
deleted file mode 100644
index 207a3f16..0000000
--- a/contrib/libio/tests/tiomisc.cc
+++ /dev/null
@@ -1,236 +0,0 @@
-/* Random regression tests etc. */
-
-#include <fstream.h>
-#include <stdio.h>
-#include <strstream.h>
-#include <string.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#define BUF_SIZE 4096
-
-void
-test1 ()
-{
- fstream f;
- char buf[BUF_SIZE];
-
- f.setbuf( buf, BUF_SIZE );
-}
-
-void
-test2 ( )
-{
- char string[BUF_SIZE];
- ostrstream s( string, BUF_SIZE );
-
- s << "Bla bla bla " << 55 << ' ' << 3.23 << '\0' << endl;
- cout << "Test2: " << string << endl;
-}
-
-
-/* Test case from Joe Buck <jbuck@Synopsys.COM>. */
-
-class special_ofstream : public ofstream {
-public:
- special_ofstream() : ofstream() {}
- special_ofstream(int fd) : ofstream(fd) {}
- special_ofstream(const char *name, int mode=ios::out, int prot=0664) {
- open(name,mode,prot);
- }
- void open(const char *name, int mode=ios::out, int prot=0664);
-};
-
-void special_ofstream::open(const char* name, int mode, int prot) {
- if (strcmp(name, "<cout>") == 0) {
- rdbuf()->attach(1);
- }
- else if (strcmp(name, "<cerr>") == 0) {
- rdbuf()->attach(2);
- setf(unitbuf);
- }
- else ofstream::open(name,mode,prot);
-}
-
-void
-test3 ()
-{
- {
- special_ofstream o("<cout>");
- o << "Hello\n";
- // o is destructed now. This should not close cout
- }
- {
- special_ofstream o("<cout>");
- o << "Line 2\n";
- }
-}
-
-void
-getline_test1 ()
-{
- char buf[1000];
- char data[] = "#include <iostream.h>\n#include <fstream.h>\n";
- istrstream infile(data, strlen(data));
- infile.getline(buf,1000);
- infile.getline(buf,1000);
-
- cout << buf << '\n';
-}
-
-// test istream::getline on readng overlong lines.
-void
-getline_test2 ()
-{
- char data[] = "Line one.\nline 2.\n";
- char line[100];
- istrstream strin(data, strlen(data));
- strin.getline(line, 10);
- cout << "line: " << line << ", count: " << strin.gcount () << "\n";
-}
-
-void
-getline_test3 ()
-{
- char data[] = "123456789\nabcdefghijkl.\n";
- char line[10];
- istrstream strin(data, strlen(data));
- strin.getline(line, 10);
- cout << "line: " << line << ", count: " << strin.gcount () << "\n";
- strin.getline(line, 10);
- cout << "line: " << line << ", count: " << strin.gcount () << "\n";
- assert (!strin.good());
- strin.clear ();
- strin.getline(line, 10);
- cout << "line: " << line << ", count: " << strin.gcount () << "\n";
-}
-
-class A : private ostream
-{
-public:
- A(streambuf* s);
- ostream::flush;
-};
-A::A(streambuf* s)
-: ostream(s)
-{
-}
-
-void
-flush1_test()
-{
- A os(cout.rdbuf());
- os.flush();
-}
-
-void
-reread_test ()
-{ // This is PR 5486.
- int tag_char;
- char *fname = "Makefile";
- int mode = O_RDONLY;
- filebuf file_p;
-
- int fd = ::open(fname, mode, 0666);
- file_p.attach(fd);
-
- istream d_istream(&file_p);
-
- // Read a character from the stream, save it and put it back.
- tag_char = d_istream.get();
- int save_char = tag_char;
- d_istream.putback((char) tag_char);
-
- // Uncomment then next statement and the next get will be EOF.
- streampos pos = d_istream.tellg();
-
- // Re-read the first character
- tag_char = d_istream.get();
-
- cout << "reread_test: " << (char)save_char << " " << (char)tag_char << "\n";
- cout.flush();
-
-}
-
-void *danger_pointer;
-void operator delete (void *p) throw()
-{
- if (p)
- {
- if (p == danger_pointer)
- fprintf (stderr, "maybe deleted\n");
-
- free (p);
- }
-}
-
-struct my_ostream: virtual public ios, public ostream
-{
- my_ostream (ostream &s): ios (s.rdbuf()) { }
-};
-
-void
-test_destroy ()
-{
- ofstream fstr ("foo.dat");
- my_ostream wa (fstr);
-
- /* Check that sure wa.rdbuf() is only freed once. */
- danger_pointer = wa.rdbuf ();
-
- wa << "Hi there" << endl;
-#ifdef _IO_NEW_STREAMS
- fprintf (stderr, "maybe deleted\n");
-#endif
-}
-
-/* Submitted by Luke Blanshard <luke@cs.wisc.edu>.
-
- In certain circumstances, the library will write past the end of the
- buffer it has allocated for a file: You must read from the file,
- exactly enough bytes that the read pointer is at the end of the
- buffer. Then you must write to the file, at the same place you just
- finished reading from.
-
- "Your patch looks great, and you're welcome to use the test code for any
- purpose whatever. I hereby renounce my implicit copyright on it." */
-
-void
-test_read_write_flush ()
-{
- fstream f;
- char buf[8192];
-
- for ( int index=0; index < sizeof buf; ++index )
- buf[index] = (index+1)&63? 'x' : '\n';
-
- f.open( "foo.dat", ios::in|ios::out|ios::trunc );
- f.write( buf, sizeof buf );
-
- f.seekg( 0, ios::beg );
- f.read( buf, sizeof buf );
-
-// f.seekp( sizeof buf, ios::beg ); // Present or absent, bug still happens.
- f.write( "a", 1 );
-
- if ( f.rdbuf()->_IO_write_ptr > f.rdbuf()->_IO_buf_end )
- cerr << "test_read_write_flush: it's broken.\n";
- else
- cout << "test_read_write_flush: the problem isn't showing itself.\n";
-}
-
-int main( )
-{
- test1 ();
- test2 ();
- test3 ();
- getline_test1 ();
- getline_test2 ();
- getline_test3 ();
- flush1_test ();
- reread_test ();
- test_destroy ();
- test_read_write_flush ();
- return 0;
-}
diff --git a/contrib/libio/tests/tiomisc.exp b/contrib/libio/tests/tiomisc.exp
deleted file mode 100644
index 26a3acd..0000000
--- a/contrib/libio/tests/tiomisc.exp
+++ /dev/null
@@ -1,11 +0,0 @@
-Test2: Bla bla bla 55 3.23
-Hello
-Line 2
-#include <fstream.h>
-line: Line one., count: 10
-line: 123456789, count: 10
-line: abcdefghi, count: 9
-line: jkl., count: 5
-reread_test: # #
-maybe deleted
-test_read_write_flush: the problem isn't showing itself.
diff --git a/contrib/libio/tests/tstdiomisc.c b/contrib/libio/tests/tstdiomisc.c
deleted file mode 100644
index cd8e88f..0000000
--- a/contrib/libio/tests/tstdiomisc.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef STDIO_H
-#define STDIO_H <iostdio.h>
-#endif
-#include STDIO_H
-
-void
-t1 ()
-{
- int n = -1;
- sscanf ("abc ", "abc %n", &n);
- printf ("t1: count=%d\n", n);
-}
-
-void
-t2 ()
-{
- int n;
- long N;
- int retval;
-#define SCAN(INPUT, FORMAT, VAR) \
- VAR = -1; \
- retval = sscanf (INPUT, FORMAT, &VAR); \
- printf ("sscanf (\"%s\", \"%s\", &x) => %d, x = %ld\n", \
- INPUT, FORMAT, retval, (long)VAR);
-
- SCAN ("12345", "%ld", N);
- SCAN ("12345", "%llllld", N);
- SCAN ("12345", "%LLLLLd", N);
- SCAN ("test ", "%*s%n", n);
- SCAN ("test ", "%2*s%n", n);
- SCAN ("12 ", "%l2d", n);
- SCAN ("12 ", "%2ld", N);
-}
-
-int
-main ()
-{
- t1 ();
- t2 ();
-
- fflush (stdout);
- return 0;
-}
diff --git a/contrib/libio/tests/tstdiomisc.exp b/contrib/libio/tests/tstdiomisc.exp
deleted file mode 100644
index b8ee02d..0000000
--- a/contrib/libio/tests/tstdiomisc.exp
+++ /dev/null
@@ -1,8 +0,0 @@
-t1: count=5
-sscanf ("12345", "%ld", &x) => 1, x = 12345
-sscanf ("12345", "%llllld", &x) => 0, x = -1
-sscanf ("12345", "%LLLLLd", &x) => 0, x = -1
-sscanf ("test ", "%*s%n", &x) => 0, x = 4
-sscanf ("test ", "%2*s%n", &x) => 0, x = -1
-sscanf ("12 ", "%l2d", &x) => 0, x = -1
-sscanf ("12 ", "%2ld", &x) => 1, x = 12
diff --git a/contrib/libio/testsuite/ChangeLog b/contrib/libio/testsuite/ChangeLog
deleted file mode 100644
index ead33b2..0000000
--- a/contrib/libio/testsuite/ChangeLog
+++ /dev/null
@@ -1,99 +0,0 @@
-Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
-
- * gcc-2.95.3 Released.
-
-Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95.2 Released.
-
-Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95.1 Released.
-
-Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95 Released.
-
-Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
-
- * gcc-2.95 Released.
-
-Wed Nov 25 01:00:07 1998 Marc Espie <espie@quatramaran.ens.fr>
-
- * Makefile.in (just-check): Ignore errors.
-
-Sat Jun 27 23:59:35 1998 Carlo Wood <carlo@runaway.xs4all.nl>
-
- * lib/libio.exp (test_libio): Reset ld_library_path before appending
- the same path(s) again.
-
-Tue Jun 9 11:23:42 1998 Gavin Koch <gavin@cygnus.com>
-
- * Makefile.in (EXPECT) : Look for "expect" in the correct
- place.
-
-Sat Sep 6 00:49:31 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/libio.exp (test_libio): Lose -L.. before -lio, may as well
- require things be fully usable. Not ideal, but...also no longer
- have the -liostream approach.
-
-Fri Sep 5 15:38:37 1997 Jeffrey A Law (law@cygnus.com)
-
- * lib/libio.exp (test_libio): Use libstdc++_{include,link}_flags
- instead of g++_{include,link}_flags.
-
-Thu Sep 4 15:22:46 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * lib/libio.exp (test_libio): Add `-L..' before -lio.
- Use `-L.. -liostream' for now.
-
-Fri Jun 27 18:19:21 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/libio.exp(libio_init): New procedure.
- (test_libio): Link with a status wrapper if necessary. Strip
- leading newlines before comparing output. Look for a multilib
- libiberty directory.
-
-Tue Jun 3 15:17:31 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/libio.exp: Don't use global exec_output variable; the output
- is returned from remote_load instead.
-
-Tue May 20 17:59:31 1997 Jeffrey A Law (law@cygnus.com)
-
- * lib/libio.exp: If "slow_simulator" is set, then add
- -DSLOW_SIMULATOR to the compiler's arguments.
-
-Fri May 16 19:33:39 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/libio.exp: Name the executables after the testcases.
-
- * libio.tests/tiomisc.exp: Turn off warnings when conpiling.
-
-Thu May 1 17:01:47 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/libio.exp: Link in libiberty.a.
-
-Tue Apr 29 16:34:37 1997 Mike Stump <mrs@cygnus.com>
-
- * testsuite/lib/libio.exp: Fixup so that we always have the same
- number of testcases, and so that we have meaningful testcase
- names.
-
-Tue Apr 29 13:08:41 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * lib/libio.exp: Add support for --tool_opts.
-
-Mon Apr 28 11:26:06 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * Makefile.in: Removed clean rule, as it is added by configure.
- Remove a lot of unused rules.
-
-Sun Apr 27 15:02:48 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * Makefile.in (clean): Add empty rule for now.
-
-Sat Apr 26 13:41:44 1997 Bob Manson <manson@charmed.cygnus.com>
-
- * New DejaGnu-style testsuite.
diff --git a/contrib/libio/testsuite/Makefile.in b/contrib/libio/testsuite/Makefile.in
deleted file mode 100644
index d1795d0..0000000
--- a/contrib/libio/testsuite/Makefile.in
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation
-#
-# This file is part of the GNU IO Library. This library is free
-# software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU CC; see the file COPYING. If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA. */
-
-srcdir = libio.tests
-
-CFLAGS = -g
-C_FLAGS = $(CFLAGS) -I. -I.. -I$(srcdir) -I$(srcdir)/..
-CXXFLAGS = -g
-CC = gcc
-CXX = gcc
-
-EXPECT = `if [ -f $${rootme}/../../../expect/expect ] ; then \
- echo $${rootme}/../../../expect/expect ; \
- else echo expect ; fi`
-
-RUNTEST = $(RUNTEST_FOR_TARGET)
-
-RUNTESTFLAGS =
-
-RUNTEST_FOR_TARGET = `\
- if [ -f $${srcdir}/../../dejagnu/runtest ]; then \
- echo $${srcdir}/../../dejagnu/runtest; \
- else \
- if [ "$(host_canonical)" = "$(target_canonical)" ]; then \
- echo runtest; \
- else \
- t='$(program_transform_name)'; echo runtest | sed -e '' $$t; \
- fi; \
- fi`
-
-#### package, host, target, and site dependent Makefile fragments come in here.
-##
-
-# See ${MOSTLYCLEAN} in configure.in
-JUNK_TO_CLEAN = tFile tiomisc hounddog putbackdog tiomanip \
- t?format *.out streamfile ftmp* tstdiomisc foo.dat
-
-.PHONY: info
-info:
-.PHONY: clean-info
-clean-info:
-.PHONY: install-info
-install-info:
-
-check: all just-check
-
-site.exp: ./config.status Makefile
- @echo "Making a new config file..."
- -@rm -f ./tmp?
- @touch site.exp
- -@mv site.exp site.bak
- @echo "## these variables are automatically generated by make ##" > ./tmp0
- @echo "# Do not edit here. If you wish to override these values" >> ./tmp0
- @echo "# add them to the last section" >> ./tmp0
- @echo "set host_alias $(host_alias)" >> ./tmp0
- @echo "set host_triplet ${host_canonical}" >> ./tmp0
- @echo "set target_alias $(target_alias)" >> ./tmp0
- @echo "set target_triplet ${target_canonical}" >> ./tmp0
- @echo "set build_triplet ${build_canonical}" >> ./tmp0
- @echo "set srcdir ${srcdir}" >> ./tmp0
- @echo "set tool libio" >> ./tmp0
- @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0
- @cat ./tmp0 > site.exp
- @cat site.bak | sed \
- -e '1,/^## All variables above are.*##/ d' >> site.exp
- -@rm -f ./tmp?
-
-just-check: site.exp
- -rootme=`pwd`; export rootme; \
- srcdir=${srcdir} ; export srcdir ; \
- EXPECT=${EXPECT} ; export EXPECT ; \
- if [ -f $${rootme}/../../../expect/expect ] ; then \
- TCL_LIBRARY=$${srcdir}/../../tcl/library ; \
- export TCL_LIBRARY ; fi ; \
- $(RUNTEST) $(RUNTESTFLAGS)
diff --git a/contrib/libio/testsuite/config/default.exp b/contrib/libio/testsuite/config/default.exp
deleted file mode 100644
index 90967cc..0000000
--- a/contrib/libio/testsuite/config/default.exp
+++ /dev/null
@@ -1 +0,0 @@
-load_lib "standard.exp"
diff --git a/contrib/libio/testsuite/configure.in b/contrib/libio/testsuite/configure.in
deleted file mode 100644
index cd400c8..0000000
--- a/contrib/libio/testsuite/configure.in
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file is a shell script fragment that supplies the information
-# necessary for a configure script to process the program in
-# this directory. For more information, look at ../../configure.
-
-configdirs=
-srctrigger=libio.tests/hounddog.exp
-srcname="test C++ input/output library, dejagnu style"
-package_makefile_frag=Make.pack
-package_makefile_rules_frag=Make.pack.r
-
-# per-host:
-
-# per-target:
-
-TO_TOPDIR=../../
-ALL=' '
-XCINCLUDES='-I. -I.. -I$(srcdir) -I$(srcdir)/..'
-XCXXINCLUDES='-I. -I.. -I$(srcdir) -I$(srcdir)/..'
-MOSTLYCLEAN='*.o core $(JUNK_TO_CLEAN)'
-(. ${srcdir}/../config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag}
-
-# post-target:
diff --git a/contrib/libio/testsuite/lib/libio.exp b/contrib/libio/testsuite/lib/libio.exp
deleted file mode 100644
index d9f01b4..0000000
--- a/contrib/libio/testsuite/lib/libio.exp
+++ /dev/null
@@ -1,167 +0,0 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-lib-g++@prep.ai.mit.edu
-
-# This file was written by Bob Manson. (manson@cygnus.com)
-
-load_lib "libgloss.exp"
-
-global base_dir
-
-proc libio_init { args } {
- global wrapper_file;
- global wrap_compile_flags;
- set wrapper_file "";
- set wrap_compile_flags "";
- if [target_info exists needs_status_wrapper] {
- set result [build_wrapper "testglue.o"];
- if { $result != "" } {
- set wrapper_file [lindex $result 0];
- set wrap_compile_flags [lindex $result 1];
- } else {
- warning "Status wrapper failed to build."
- }
- }
-}
-#
-# Run the test specified by srcfile and resultfile. compile_args and
-# exec_args are additional arguments to be passed in when compiling and
-# running the testcase, respectively.
-#
-
-proc test_libio { srcfile compile_args inpfile resultfile exec_args } {
- global LIBIO
- global srcdir subdir objdir
- global TOOL_OPTIONS
- global wrapper_file wrap_compile_flags
- global ld_library_path
-
- if { $inpfile != "" } {
- set inpfile "$srcdir/../tests/$inpfile"
- }
-
- set args ""
- set ld_library_path ""
- lappend args "additional_flags=-O3";
- lappend args "additional_flags=-I.. -I$srcdir/.."
- lappend args "additional_flags=$wrap_compile_flags";
- lappend args "libs=$wrapper_file";
- if { $compile_args != "" } {
- lappend args "additional_flags=$compile_args"
- }
-
- if [regexp "\.cc$" $srcfile] {
- lappend args "additional_flags=-nostdinc++"
- lappend args "additional_flags=[libstdc++_include_flags]";
- lappend args "additional_flags=[libstdc++_link_flags]";
- lappend args "libs=-lstdc++"
- } else {
- if [info exists LIBIO] {
- lappend args "libdir=$LIBIO"
- } else {
- lappend args "additional_flags=[libio_link_flags]";
- }
- lappend args "additional_flags=[libio_link_flags]";
- lappend args "libs=-lio"
- }
-
- if [target_info exists slow_simulator] then {
- lappend args "additional_flags=-DSLOW_SIMULATOR"
- }
-
- if [info exists TOOL_OPTIONS] {
- lappend args "additional_options=$TOOL_OPTIONS"
- }
-
- set gp [get_multilibs];
- if { $gp != "" } {
- if [file exists $gp/libiberty/libiberty.a] {
- lappend args "libdir=$gp/libiberty";
- set found_libiberty 1;
- }
- }
- if ![info exists found_libiberty] {
- set lib [lookfor_file "$objdir" "libiberty/libiberty.a"];
- if { $lib != "" } {
- lappend args "libdir=[file dirname $lib]";
- }
- }
- lappend args "libs=-liberty"
- lappend args "debug";
-
- set errname "$srcfile"
- set srcfile "$srcdir/../tests/$srcfile"
- regsub "\\..*$" "[file tail $srcfile]" "" executable
- set executable "$objdir/$executable"
-
- if { [target_compile $srcfile $executable executable $args] != "" } {
- fail "$errname compilation $exec_args";
- setup_xfail "*-*-*"
- fail "$errname execution $exec_args"
- if { $resultfile != "" } {
- setup_xfail "*-*-*"
- fail "$errname output $exec_args"
- }
- return;
- }
- pass "$errname compilation $exec_args"
-
- set result [libio_load $executable $exec_args $inpfile];
- set status [lindex $result 0];
- set output [lindex $result 1];
- if { $status == "unsupported" } {
- unsupported "target does not support loading $srcfile"
- return;
- }
- if { $status != "pass" } {
- $status "$errname execution $exec_args"
- setup_xfail "*-*-*"
- fail "$errname output $exec_args"
- return;
- }
- pass "$errname execution $exec_args"
-
- if { $resultfile != "" } {
- set id [open $srcdir/../tests/$resultfile r];
- set expected ""
- append expected [read $id];
- verbose "expected is $expected"
- verbose "actual is $output"
- regsub -all "\r" $output "" output
- regsub "\n+$" $expected "" expected
- regsub "\n+$" $output "" output
- regsub "^\n+" $expected "" expected
- regsub "^\n+" $output "" output
- if { $expected == $output } {
- pass "$errname output $exec_args"
- } else {
- fail "$errname output $exec_args"
- }
- close $id;
- }
-}
-
-#
-# libio_version -- extract and print the version number of libio
-#
-proc default_libio_version {} {
- global LIBIO
-}
-
-proc default_libio_start { } {
-}
diff --git a/contrib/libio/testsuite/libio.tests/hounddog.exp b/contrib/libio/testsuite/libio.tests/hounddog.exp
deleted file mode 100644
index b51f9f0..0000000
--- a/contrib/libio/testsuite/libio.tests/hounddog.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-test_libio hounddog.cc "" hounddog.inp hounddog.exp ""
-test_libio hounddog.cc "" hounddog.inp hounddog.exp "-b0"
-test_libio hounddog.cc "" hounddog.inp hounddog.exp "-b2"
diff --git a/contrib/libio/testsuite/libio.tests/putbackdog.exp b/contrib/libio/testsuite/libio.tests/putbackdog.exp
deleted file mode 100644
index 30d91a8..0000000
--- a/contrib/libio/testsuite/libio.tests/putbackdog.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-test_libio putbackdog.cc "" hounddog.inp hounddog.exp ""
-test_libio putbackdog.cc "" hounddog.inp hounddog.exp "-b0"
-test_libio putbackdog.cc "" hounddog.inp hounddog.exp "-b2"
diff --git a/contrib/libio/testsuite/libio.tests/tFile.exp b/contrib/libio/testsuite/libio.tests/tFile.exp
deleted file mode 100644
index f190916..0000000
--- a/contrib/libio/testsuite/libio.tests/tFile.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-test_libio tFile.cc "" tFile.inp tFile.exp ""
-test_libio tFile.cc "" tFile.inp tFile.exp "-b0"
-test_libio tFile.cc "" tFile.inp tFile.exp "-b3"
diff --git a/contrib/libio/testsuite/libio.tests/tfformat.exp b/contrib/libio/testsuite/libio.tests/tfformat.exp
deleted file mode 100644
index f0f7113..0000000
--- a/contrib/libio/testsuite/libio.tests/tfformat.exp
+++ /dev/null
@@ -1 +0,0 @@
-test_libio tfformat.c "-DTEST_LIBIO -DTEST_EXACTNESS" "" "" ""
diff --git a/contrib/libio/testsuite/libio.tests/tiformat.exp b/contrib/libio/testsuite/libio.tests/tiformat.exp
deleted file mode 100644
index f2d14db..0000000
--- a/contrib/libio/testsuite/libio.tests/tiformat.exp
+++ /dev/null
@@ -1 +0,0 @@
-test_libio tiformat.c "-DTEST_LIBIO" "" "" ""
diff --git a/contrib/libio/testsuite/libio.tests/tiomanip.exp b/contrib/libio/testsuite/libio.tests/tiomanip.exp
deleted file mode 100644
index 856cefc..0000000
--- a/contrib/libio/testsuite/libio.tests/tiomanip.exp
+++ /dev/null
@@ -1 +0,0 @@
-test_libio tiomanip.cc "" "" tiomanip.exp ""
diff --git a/contrib/libio/testsuite/libio.tests/tiomisc.exp b/contrib/libio/testsuite/libio.tests/tiomisc.exp
deleted file mode 100644
index 7130995..0000000
--- a/contrib/libio/testsuite/libio.tests/tiomisc.exp
+++ /dev/null
@@ -1 +0,0 @@
-test_libio tiomisc.cc "-w" "" tiomisc.exp ""
diff --git a/contrib/libio/testsuite/libio.tests/tstdiomisc.exp b/contrib/libio/testsuite/libio.tests/tstdiomisc.exp
deleted file mode 100644
index 01dae9f..0000000
--- a/contrib/libio/testsuite/libio.tests/tstdiomisc.exp
+++ /dev/null
@@ -1 +0,0 @@
-test_libio tstdiomisc.c "" "" tstdiomisc.exp ""
OpenPOWER on IntegriCloud