Update.
1997-03-25 02:15 Ulrich Drepper <drepper@cygnus.com>
* gmon/gmon.c: Optimize a bit by using more sets of records to
write in a single writev call.
* math/math.h: Add definitions of macros __MATHCALLX and __MATHDECLX.
* math/mathcalls.h: Use __MATHCALLX for fabs, infnan, copysign,
nan, isnan, nextafter, trunc, __fpclassify and signbit to mark as
`const'.
Use __MATHDECLX for isinf and finite.
* sysdeps/generic/setenv.c [_LIBC]: Define __clearenv and make
clearenv a weak alias.
Implement complex exponential function.
* sysdeps/libm-ieee754/s_cexp.c: New file.
* sysdeps/libm-ieee754/s_cexpf.c: New file.
* sysdeps/libm-ieee754/s_cexpl.c: New file.
* sysdeps/libm-ieee754/s_nan.c: Define function as __nan and make
nan a weak alias.
* sysdeps/libm-ieee754/s_nanf.c: Likewise for nanf.
* sysdeps/libm-ieee754/s_nanl.c: Likewise for nanl.
* sysdeps/unix/sysv/linux/iovec.h: Don't use kernel header because
of type clashes. Add all definitions here.
* sysdeps/unix/sysv/linux/shmat.c: Likewise. Correct types according
to XPG4.2.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysvipc/sys/shm.h (shmat, shmdt): Correct types.
* sysdeps/unix/sysv/linux/sys/kd.h: Define _LINUX_TYPES_H to avoid
use of kernel types.
1997-03-25 00:00 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/netinet/ip.h (struct ip_timestamp):
Correct typos. Reported by a sun <asun@zoology.washington.edu>.
1997-03-20 21:58 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_asinhl.c: Fix sign of result.
1997-03-20 16:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_atan2l.c: Fix typo.
1997-03-20 14:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h (__logb, logb): Don't define.
* sysdeps/m68k/fpu/s_logb.c: Removed.
* sysdeps/m68k/fpu/s_logbf.c: Removed.
* sysdeps/m68k/fpu/s_logbl.c: Removed.
* sysdeps/m68k/fpu/__math.h (__ieee754_atan2, __ieee754_pow):
Don't define here.
* sysdeps/m68k/fpu/e_atan2.c: Rewritten.
* sysdeps/m68k/fpu/e_pow.c: Likewise.
* sysdeps/m68k/fpu/e_atan2f.c: Based on e_atan2.c.
* sysdeps/m68k/fpu/e_atan2l.c: Likewise.
* sysdeps/m68k/fpu/e_powf.c: Based on e_pow.c.
* sysdeps/m68k/fpu/e_powl.c: Likewise.
* sysdeps/m68k/fpu/s_log2.c: New file.
* sysdeps/m68k/fpu/s_log2f.c: New file.
* sysdeps/m68k/fpu/s_log2l.c: New file.
* sysdeps/m68k/fpu/s_exp2.c: New file.
* sysdeps/m68k/fpu/s_exp2f.c: New file.
* sysdeps/m68k/fpu/s_exp2l.c: New file.
1997-03-20 14:46 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig (all): Make sure this is always the default goal.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c: Increase epsilon in many places. Fix many
typos. Allow optinal argument also for short option.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile ($(objpfx)$(tests)): Link against libm.
1997-03-24 23:14 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_fpclassifyl.c: Correct recognition of
denormalized numbers.
* sysdeps/i386/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-19 15:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-24 23:09 Ulrich Drepper <drepper@cygnus.com>
* inet/rcmd.c (iruserok): Use access instead of euidaccess.
1997-03-15 18:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/cmathcalls.h: Remove whitespace before function name in use
of __MATHDECL macro, to make it compilable with a traditional
preprocessor.
1997-03-24 15:31 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Use AC_PROG_CC instead of AC_PROG_TOOL to find
compiler.
1997-03-24 02:34 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_finitel.c (__finitel): Shift return value
by 31 positions to get 0/1 result.
Patch by Joe Keane <jgk@jgk.org>.
1997-03-23 12:15 H.J. Lu <hjl@gnu.ai.mit.edu>
* posix/getopt.c (__getopt_nonoption_flags): Make it extern
to prevent from ld linking in getopt.o even if there is another
incompatible one.
* posix/getopt_init.c (__getopt_nonoption_flags): Remove extern.
1997-03-23 23:30 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c (__do_niscall): Print message if cold start file
does not exist.
* nis/nis_file.c: Don't print error messages.
* nis/nis_local_name.c (nis_local_host): Fix pointer errors.
* nis/rpcsvc/ypclnt.h: Fix copyright and prototypes.
* nis/rpcsvc/nis.h: Likewise.
* nis/ypclnt.c: Fix prototypes.
1997-03-24 01:36 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-i387/e_scalb.S: Pop additional result before
returning.
* sysdeps/libm-i387/e_scalbf.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.
Reported by Andreas Jaeger <aj@arthur.pfalz.de>.
* elf/rtld.c (dl_main): Set main_map->l_opencount to 1 also if
dynamic linker was called implicitly by the kernel.
Reported by Eric Youngdale <eric@andante.jic.com>.
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-longdouble.c): New variables. Set to -fno-inline to
prevent clever optimizations which corrupt the tests.
1997-03-23 21:33 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (scalb_test): New function.
(sqrt_test): New function.
(scalbn_test): New function.
(ilogb_test): New function.
(main): Added calls for new test functions.
(ldexp_test): Add another test for ldexp(x,0).
1997-03-23 12:35 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (remquo_test): Correct messages so that they
match the tests.
(copysign_test): Likewise.
1997-03-23 16:28 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/Makefile (routines): Add printf_size.
* stdio-common/printf.h: Add declarations for printf_size and
printf_size_info.
* stdio-common/printf-parse.h (__printf_arginfo_table): Correct
declaration.
(parse_one_spec): Test whether __printf_function_table is not NULL
before using registered handlers and don't test
__printf_arginfo_table. Update nargs also when handler is
registered.
* stdio-common/vfprintf.c (vfprintf): Count number of specifiers
processed in fast loop.
* stdio-common/printf_size: New file.
1997-03-22 04:53 Ulgmon_out_readrich Drepper <drepper@cygnus.com>
1997-03-25 01:45:04 +00:00
|
|
|
|
/* Print size value using units for orders of magnitude.
|
Update.
* Versions.def: Add GLIBC_2.2 for libc.
* iconv/gconv.h: Make header suitable for inclusion in public header
by protecting all names with __.
* iconv/gconv.c: Adapt for symbol name changes.
* iconv/gconv.h: Likewise.
* iconv/gconv_builtin.c: Likewise.
* iconv/gconv_close.c: Likewise.
* iconv/gconv_db.c: Likewise.
* iconv/gconv_dl.c: Likewise.
* iconv/gconv_int.h: Likewise.
* iconv/gconv_open.c: Likewise.
* iconv/gconv_simple.c: Likewise.
* iconv/iconv.c: Likewise.
* iconv/iconv_close.c: Likewise.
* iconv/iconv_open.c: Likewise.
* iconv/loop.c: Likewise.
* iconv/skeleton.c: Likewise.
* iconvdata/8bit-gap.c: Likewise.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/ansi_x3.110.c: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/cns11643.h: Likewise.
* iconvdata/cns11643l1.h: Likewise.
* iconvdata/euc-cn.c: Likewise.
* iconvdata/euc-jp.c: Likewise.
* iconvdata/euc-kr.c: Likewise.
* iconvdata/euc-tw.c: Likewise.
* iconvdata/gb2312.h: Likewise.
* iconvdata/iso-2022-jp.c: Likewise.
* iconvdata/iso-2022-kr.c: Likewise.
* iconvdata/iso646.c: Likewise.
* iconvdata/iso8859-1.c: Likewise.
* iconvdata/iso_6937-2.c: Likewise.
* iconvdata/iso_6937.c: Likewise.
* iconvdata/jis0201.h: Likewise.
* iconvdata/jis0208.h: Likewise.
* iconvdata/jis0212.h: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/ksc5601.h: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t.61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* stdlib/mblen.c: Likewise.
* stdlib/mbtowc.c: Likewise.
* stdlib/wctomb.c: Likewise.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wchar.h: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsmbsload.c: Likewise.
* wcsmbs/wcsmbsload.h: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* include/limits.h (MB_LEN_MAX): Increase to 16.
* sysdeps/generic/_G_config.h: Define _G_fpos_t as struct. Define
_G_iconv_t.
* sysdeps/unix/sysv/linux/_G_config.h: Likewise.
* include/wchar.h: Change mbstate_t to __mbstate_t.
* libio/Makefile (routines): Add wfiledoalloc, oldiofgetpos,
oldiofgetpos64, oldiofsetpos, oldiofsetpos64, fputwc, fputwc_u,
getwc, getwc_u, getwchar, getwchar_u, iofgetws, iofgetws_u,
iofputws, iofputws_u, iogetwline, iowpadn, ioungetwc, putwc, putwc_u,
putchar, putchar_u, swprintf, vwprintf, wprintf, wscanf, fwscanf,
vwscanf, vswprintf, iovswscanf, swscanf, wgenops, wstrops, wfileops,
and iofwide.
(tests): Add tst_swprintf, tst_wprintf, tst_swscanf, and tst_wscanf.
* libio/Versions: Add _IO_fgetpos, _IO_fgetpos64, _IO_fsetpos,
_IO_fsetpos64, fgetpos, fgetpos64, fgetwc, fgetwc_unlocked, fgetws,
fgetws_unlocked, fputwc, fputwc_unlocked, fputws, fputws_unlocked,
fsetpos, fsetpos64, fwide, fwprintf, fwscanf, getwc, getwc_unlocked,
getwchar, getwchar_unlocked, putwc, putwc_unlocked, putwchar,
putwchar_unlocked, swprintf, swscanf, ungetwc, vfwprintf, vswprintf,
vwprintf, vfwscanf, vswscanf, vwscanf, wprintf, and wscanf to
GLIBC_2.2 for libc.
* libio/libio.h: Define codecvt struct. Define _IO_wide_data.
Extend _IO_file contain pointer to codecvt, widedata and mode.
(_IO_getwc_unlocked): New macro.
(_IO_putwc_unlocked): New macro.
(_IO_fwide): New macro.
* libio/libioP.h: Add new prototypes and adjust existing declarations.
* libio/fileops.c (_IO_new_file_close_it): Reset normal or widedata
buffers based on mode.
(new_do_write): Set _IO_write_end to _IO_buf_end if stream is wide
oriented.
(_IO_new_file_overflow): Don't depend only on _IO_CURRENTLY_PUTTING
flag to be enough to signal unallocated buffer. For wide oriented
stream don't make it linebuffered. Don't use _IO_do_flush, use
_IO_new_do_write directly.
(_IO_new_file_seekoff): Change return value type to _IO_off64_t.
(_IO_file_seek): Likewise.
* libio/genops.c (_IO_least_marker): Make global.
(__underflow): Orient stream if not already done.
(__uflow): Likewise.
(_IO_default_seekpos): Change to type _IO_off64_t.
(_IO_default_seekoff): Likewise.
(_IO_default_seek): Likewise.
(_IO_no_init): New function. Similar to _IO_init but allows to orient
in initialization.
* libio/iolibio.h: Add prototype for _IO_vswprintf. Change _IO_pos_BAD
to use _IO_off64_t.
* libio/ftello.c: Use _IO_off_t. For now abort when use with wide
char stream.
* libio/ftello64.c: Likewise.
* libio/ioftell.c: Likewise.
* libio/iofopncook.c: Likewise.
* libio/ioseekoff.c: Likewise.
* libio/ioseekpos.c: Likewise.
* libio/oldfileops.c: Likewise.
* libio/iofgetpos.c: Store state of conversion if necessary.
* libio/iofgetpos64.c: Likewise.
* libio/iofsetpos.c: Restore conversion state if necessary.
* libio/iofsetpos64.c: Likewise.
* libio/iofdopen.c: Initialize so that stream can be wide oriented.
* libio/iofopen.c: Likewise.
* libio/iofopen64.c: Likewise.
* libio/iopopen.c: Likewise.
* libio/iovdprintf.c: Likewise.
* libio/iovsprintf.c: Likewise.
* libio/iovsscanf.c: Likewise.
* libio/memstream.c: Likewise.
* libio/obprintf.c: Likewise.
* libio/iofputs.c: Orient stream if not already happened.
* libio/iofputs_u.c: Likewise.
* libio/iofwrite.c: Likewise.
* libio/iofwrite_u.c: Likewise.
* libio/ioputs.c: Likewise.
* libio/iosetbuffer.c: Handle not yet oriented stream.
* libio/iosetvbuf.c: Likewise.
* libio/oldstdfiles.c: Adjust FILEBUF_LITERAL call.
* libio/stdfiles.c: Likewise.
* libio/strops.c (_IO_str_overflow): Correctly free buffer after
failed allocation.
(_IO_str_seekoff): Use _IO_off64_t.
* libio/vasprintf.c: Pre-orient stream.
* libio/vsnprintf.c: Likewise.
* libio/fputwc.c: New file.
* libio/fputwc_u.c: New file.
* libio/fwprintf.c: New file.
* libio/fwscanf.c: New file.
* libio/getwc.c: New file.
* libio/getwc_u.c: New file.
* libio/getwchar.c: New file.
* libio/getwchar_u.c: New file.
* libio/iofgetws.c: New file.
* libio/iofgetws_u.c: New file.
* libio/iofputws.c: New file.
* libio/iofputws_u.c: New file.
* libio/iofwide.c: New file.
* libio/iogetwline.c: New file.
* libio/ioungetwc.c: New file.
* libio/iovswscanf.c: New file.
* libio/iowpadn.c: New file.
* libio/oldiofgetpos.c: New file.
* libio/oldiofgetpos64.c: New file.
* libio/oldiofsetpos.c: New file.
* libio/oldiofsetpos64.c: New file.
* libio/putwc.c: New file.
* libio/putwc_u.c: New file.
* libio/putwchar.c: New file.
* libio/putwchar_u.c: New file.
* libio/swprintf.c: New file.
* libio/swscanf.c: New file.
* libio/tst_swprintf.c: New file.
* libio/tst_swscanf.c: New file.
* libio/tst_wprintf.c: New file.
* libio/tst_wscanf.c: New file.
* libio/tst_wscanf.input: New file.
* libio/vswprintf.c: New file.
* libio/vwprintf.c: New file.
* libio/vwscanf.c: New file.
* libio/wfiledoalloc.c: New file.
* libio/wfileops.c: New file.
* libio/wgenops.c: New file.
* libio/wprintf.c: New file.
* libio/wscanf.c: New file.
* libio/wstrops.c: New file.
* stdio-common/Makefile (routines): Add _itowa, itowa-digits,
vfwprintf, and vfwscanf.
* stdio-common/_itoa.c (base_table): Rename to _IO_base_table and
make global.
* stdio-common/_itowa.c: New file.
* stdio-common/_itowa.h: New file.
* stdio-common/itoa-digits.c: Minimal optimization.
* stdio-common/itowa-digits.c: New file.
* stdio-common/printf-parse.h: Allow use in wide character context.
* stdio-common/printf-prs.c: Define ISASCII and MBRLEN.
* stdio-common/printf.h (printf_info): Add wide bit.
* stdio-common/printf_fp.c: Determine from wide bit whether stream
is wide oriented or not.
* stdio-common/printf_size.c: Likewise.
* sysdeps/generic/printf_fphex.c: Likewise.
* stdlib/strfmon.c: Call __printf_fp with wide bit cleared.
* stdio-common/vfprintf.c: Rewrite to allow use in wide character
context.
* stdio-common/vfscand.c: Likewise.
* stdio-common/vfwprintf.c: New file.
* stdio-common/vfwscanf.c: New file.
* time/Makefile (routines): Add wcsftime.
(tests): Add tst_wcsftime.
* time/Versions: Add wcsftime to GLIBC_2.2 for libc.
* time/strftime.c: Make usable as wcsftime.
* time/wcsftime.c: New file.
* time/tst_wcsftime.c: New file.
* wcsmbs/Makefile (routines): Add wmempcpy and wcschrnul.
* wcsmbs/Versions: Add wmempcpy and wcschrnul to GLIBC_2.2 for libc.
* wcsmbs/wcschrnul.c: New file.
* wcsmbs/wmemcpy.c: New file.
* wcsmbs/wmemcpy.c: Rename to __wmemcpy and make wmemcpy weak alias.
* wcsmbs/wmemmove.c: Likewise for wmemmove.
* manual/stdio.texi: Document is_char and wide element if printf_info.
* manual/time.texi: Document wcsftime.
* include/wchar.h: Add prototypes for __wmemcpy, __wmempcpy,
__wmemmove, __wcschrnul, and __vfwscanf.
* locale/langinfo.h: Add new LC_TIME entries for wchar_t data.
* locale/C-time.c: Adapt for above change.
* locale/categories.def: Likewise.
* locale/localeinfo.h: Likewise.
* localedata/Makefile: Don't run tests for now.
1999-06-16 22:55:47 +00:00
|
|
|
|
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
Update.
1997-03-25 02:15 Ulrich Drepper <drepper@cygnus.com>
* gmon/gmon.c: Optimize a bit by using more sets of records to
write in a single writev call.
* math/math.h: Add definitions of macros __MATHCALLX and __MATHDECLX.
* math/mathcalls.h: Use __MATHCALLX for fabs, infnan, copysign,
nan, isnan, nextafter, trunc, __fpclassify and signbit to mark as
`const'.
Use __MATHDECLX for isinf and finite.
* sysdeps/generic/setenv.c [_LIBC]: Define __clearenv and make
clearenv a weak alias.
Implement complex exponential function.
* sysdeps/libm-ieee754/s_cexp.c: New file.
* sysdeps/libm-ieee754/s_cexpf.c: New file.
* sysdeps/libm-ieee754/s_cexpl.c: New file.
* sysdeps/libm-ieee754/s_nan.c: Define function as __nan and make
nan a weak alias.
* sysdeps/libm-ieee754/s_nanf.c: Likewise for nanf.
* sysdeps/libm-ieee754/s_nanl.c: Likewise for nanl.
* sysdeps/unix/sysv/linux/iovec.h: Don't use kernel header because
of type clashes. Add all definitions here.
* sysdeps/unix/sysv/linux/shmat.c: Likewise. Correct types according
to XPG4.2.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysvipc/sys/shm.h (shmat, shmdt): Correct types.
* sysdeps/unix/sysv/linux/sys/kd.h: Define _LINUX_TYPES_H to avoid
use of kernel types.
1997-03-25 00:00 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/netinet/ip.h (struct ip_timestamp):
Correct typos. Reported by a sun <asun@zoology.washington.edu>.
1997-03-20 21:58 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_asinhl.c: Fix sign of result.
1997-03-20 16:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_atan2l.c: Fix typo.
1997-03-20 14:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h (__logb, logb): Don't define.
* sysdeps/m68k/fpu/s_logb.c: Removed.
* sysdeps/m68k/fpu/s_logbf.c: Removed.
* sysdeps/m68k/fpu/s_logbl.c: Removed.
* sysdeps/m68k/fpu/__math.h (__ieee754_atan2, __ieee754_pow):
Don't define here.
* sysdeps/m68k/fpu/e_atan2.c: Rewritten.
* sysdeps/m68k/fpu/e_pow.c: Likewise.
* sysdeps/m68k/fpu/e_atan2f.c: Based on e_atan2.c.
* sysdeps/m68k/fpu/e_atan2l.c: Likewise.
* sysdeps/m68k/fpu/e_powf.c: Based on e_pow.c.
* sysdeps/m68k/fpu/e_powl.c: Likewise.
* sysdeps/m68k/fpu/s_log2.c: New file.
* sysdeps/m68k/fpu/s_log2f.c: New file.
* sysdeps/m68k/fpu/s_log2l.c: New file.
* sysdeps/m68k/fpu/s_exp2.c: New file.
* sysdeps/m68k/fpu/s_exp2f.c: New file.
* sysdeps/m68k/fpu/s_exp2l.c: New file.
1997-03-20 14:46 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig (all): Make sure this is always the default goal.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c: Increase epsilon in many places. Fix many
typos. Allow optinal argument also for short option.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile ($(objpfx)$(tests)): Link against libm.
1997-03-24 23:14 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_fpclassifyl.c: Correct recognition of
denormalized numbers.
* sysdeps/i386/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-19 15:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-24 23:09 Ulrich Drepper <drepper@cygnus.com>
* inet/rcmd.c (iruserok): Use access instead of euidaccess.
1997-03-15 18:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/cmathcalls.h: Remove whitespace before function name in use
of __MATHDECL macro, to make it compilable with a traditional
preprocessor.
1997-03-24 15:31 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Use AC_PROG_CC instead of AC_PROG_TOOL to find
compiler.
1997-03-24 02:34 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_finitel.c (__finitel): Shift return value
by 31 positions to get 0/1 result.
Patch by Joe Keane <jgk@jgk.org>.
1997-03-23 12:15 H.J. Lu <hjl@gnu.ai.mit.edu>
* posix/getopt.c (__getopt_nonoption_flags): Make it extern
to prevent from ld linking in getopt.o even if there is another
incompatible one.
* posix/getopt_init.c (__getopt_nonoption_flags): Remove extern.
1997-03-23 23:30 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c (__do_niscall): Print message if cold start file
does not exist.
* nis/nis_file.c: Don't print error messages.
* nis/nis_local_name.c (nis_local_host): Fix pointer errors.
* nis/rpcsvc/ypclnt.h: Fix copyright and prototypes.
* nis/rpcsvc/nis.h: Likewise.
* nis/ypclnt.c: Fix prototypes.
1997-03-24 01:36 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-i387/e_scalb.S: Pop additional result before
returning.
* sysdeps/libm-i387/e_scalbf.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.
Reported by Andreas Jaeger <aj@arthur.pfalz.de>.
* elf/rtld.c (dl_main): Set main_map->l_opencount to 1 also if
dynamic linker was called implicitly by the kernel.
Reported by Eric Youngdale <eric@andante.jic.com>.
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-longdouble.c): New variables. Set to -fno-inline to
prevent clever optimizations which corrupt the tests.
1997-03-23 21:33 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (scalb_test): New function.
(sqrt_test): New function.
(scalbn_test): New function.
(ilogb_test): New function.
(main): Added calls for new test functions.
(ldexp_test): Add another test for ldexp(x,0).
1997-03-23 12:35 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (remquo_test): Correct messages so that they
match the tests.
(copysign_test): Likewise.
1997-03-23 16:28 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/Makefile (routines): Add printf_size.
* stdio-common/printf.h: Add declarations for printf_size and
printf_size_info.
* stdio-common/printf-parse.h (__printf_arginfo_table): Correct
declaration.
(parse_one_spec): Test whether __printf_function_table is not NULL
before using registered handlers and don't test
__printf_arginfo_table. Update nargs also when handler is
registered.
* stdio-common/vfprintf.c (vfprintf): Count number of specifiers
processed in fast loop.
* stdio-common/printf_size: New file.
1997-03-22 04:53 Ulgmon_out_readrich Drepper <drepper@cygnus.com>
1997-03-25 01:45:04 +00:00
|
|
|
|
This file is part of the GNU C Library.
|
|
|
|
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
|
|
|
|
Based on a proposal by Larry McVoy <lm@sgi.com>.
|
|
|
|
|
|
|
|
|
|
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 <ctype.h>
|
|
|
|
|
#include <ieee754.h>
|
|
|
|
|
#include <math.h>
|
|
|
|
|
#include <printf.h>
|
|
|
|
|
#ifdef USE_IN_LIBIO
|
|
|
|
|
# include <libioP.h>
|
|
|
|
|
#else
|
|
|
|
|
# include <stdio.h>
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* This defines make it possible to use the same code for GNU C library and
|
|
|
|
|
the GNU I/O library. */
|
|
|
|
|
#ifdef USE_IN_LIBIO
|
|
|
|
|
# define PUT(f, s, n) _IO_sputn (f, s, n)
|
|
|
|
|
# define PAD(f, c, n) _IO_padn (f, c, n)
|
|
|
|
|
/* We use this file GNU C library and GNU I/O library. So make
|
|
|
|
|
names equal. */
|
|
|
|
|
# undef putc
|
|
|
|
|
# define putc(c, f) _IO_putc_unlocked (c, f)
|
|
|
|
|
# define size_t _IO_size_t
|
|
|
|
|
# define FILE _IO_FILE
|
|
|
|
|
#else /* ! USE_IN_LIBIO */
|
|
|
|
|
# define PUT(f, s, n) fwrite (s, 1, n, f)
|
|
|
|
|
# define PAD(f, c, n) __printf_pad (f, c, n)
|
|
|
|
|
ssize_t __printf_pad __P ((FILE *, char pad, int n)); /* In vfprintf.c. */
|
|
|
|
|
#endif /* USE_IN_LIBIO */
|
|
|
|
|
|
|
|
|
|
/* Macros for doing the actual output. */
|
|
|
|
|
|
|
|
|
|
#define outchar(ch) \
|
|
|
|
|
do \
|
|
|
|
|
{ \
|
|
|
|
|
register const int outc = (ch); \
|
|
|
|
|
if (putc (outc, fp) == EOF) \
|
|
|
|
|
return -1; \
|
|
|
|
|
++done; \
|
|
|
|
|
} while (0)
|
|
|
|
|
|
|
|
|
|
#define PRINT(ptr, len) \
|
|
|
|
|
do \
|
|
|
|
|
{ \
|
|
|
|
|
register size_t outlen = (len); \
|
|
|
|
|
if (len > 20) \
|
|
|
|
|
{ \
|
|
|
|
|
if (PUT (fp, ptr, outlen) != outlen) \
|
|
|
|
|
return -1; \
|
|
|
|
|
ptr += outlen; \
|
|
|
|
|
done += outlen; \
|
|
|
|
|
} \
|
|
|
|
|
else \
|
|
|
|
|
{ \
|
|
|
|
|
while (outlen-- > 0) \
|
|
|
|
|
outchar (*ptr++); \
|
|
|
|
|
} \
|
|
|
|
|
} while (0)
|
|
|
|
|
|
|
|
|
|
#define PADN(ch, len) \
|
|
|
|
|
do \
|
|
|
|
|
{ \
|
|
|
|
|
if (PAD (fp, ch, len) != len) \
|
|
|
|
|
return -1; \
|
|
|
|
|
done += len; \
|
|
|
|
|
} \
|
|
|
|
|
while (0)
|
|
|
|
|
|
|
|
|
|
/* Prototype for helper functions. */
|
|
|
|
|
extern int __printf_fp (FILE *fp, const struct printf_info *info,
|
|
|
|
|
const void *const *args);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
printf_size (FILE *fp, const struct printf_info *info, const void *const *args)
|
|
|
|
|
{
|
|
|
|
|
/* Units for the both formats. */
|
1997-04-30 15:51:34 +00:00
|
|
|
|
#define BINARY_UNITS " kmgtpezy"
|
|
|
|
|
#define DECIMAL_UNITS " KMGTPEZY"
|
|
|
|
|
static const char units[2][sizeof (BINARY_UNITS)] =
|
Update.
1997-03-25 02:15 Ulrich Drepper <drepper@cygnus.com>
* gmon/gmon.c: Optimize a bit by using more sets of records to
write in a single writev call.
* math/math.h: Add definitions of macros __MATHCALLX and __MATHDECLX.
* math/mathcalls.h: Use __MATHCALLX for fabs, infnan, copysign,
nan, isnan, nextafter, trunc, __fpclassify and signbit to mark as
`const'.
Use __MATHDECLX for isinf and finite.
* sysdeps/generic/setenv.c [_LIBC]: Define __clearenv and make
clearenv a weak alias.
Implement complex exponential function.
* sysdeps/libm-ieee754/s_cexp.c: New file.
* sysdeps/libm-ieee754/s_cexpf.c: New file.
* sysdeps/libm-ieee754/s_cexpl.c: New file.
* sysdeps/libm-ieee754/s_nan.c: Define function as __nan and make
nan a weak alias.
* sysdeps/libm-ieee754/s_nanf.c: Likewise for nanf.
* sysdeps/libm-ieee754/s_nanl.c: Likewise for nanl.
* sysdeps/unix/sysv/linux/iovec.h: Don't use kernel header because
of type clashes. Add all definitions here.
* sysdeps/unix/sysv/linux/shmat.c: Likewise. Correct types according
to XPG4.2.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysvipc/sys/shm.h (shmat, shmdt): Correct types.
* sysdeps/unix/sysv/linux/sys/kd.h: Define _LINUX_TYPES_H to avoid
use of kernel types.
1997-03-25 00:00 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/netinet/ip.h (struct ip_timestamp):
Correct typos. Reported by a sun <asun@zoology.washington.edu>.
1997-03-20 21:58 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_asinhl.c: Fix sign of result.
1997-03-20 16:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_atan2l.c: Fix typo.
1997-03-20 14:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h (__logb, logb): Don't define.
* sysdeps/m68k/fpu/s_logb.c: Removed.
* sysdeps/m68k/fpu/s_logbf.c: Removed.
* sysdeps/m68k/fpu/s_logbl.c: Removed.
* sysdeps/m68k/fpu/__math.h (__ieee754_atan2, __ieee754_pow):
Don't define here.
* sysdeps/m68k/fpu/e_atan2.c: Rewritten.
* sysdeps/m68k/fpu/e_pow.c: Likewise.
* sysdeps/m68k/fpu/e_atan2f.c: Based on e_atan2.c.
* sysdeps/m68k/fpu/e_atan2l.c: Likewise.
* sysdeps/m68k/fpu/e_powf.c: Based on e_pow.c.
* sysdeps/m68k/fpu/e_powl.c: Likewise.
* sysdeps/m68k/fpu/s_log2.c: New file.
* sysdeps/m68k/fpu/s_log2f.c: New file.
* sysdeps/m68k/fpu/s_log2l.c: New file.
* sysdeps/m68k/fpu/s_exp2.c: New file.
* sysdeps/m68k/fpu/s_exp2f.c: New file.
* sysdeps/m68k/fpu/s_exp2l.c: New file.
1997-03-20 14:46 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig (all): Make sure this is always the default goal.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c: Increase epsilon in many places. Fix many
typos. Allow optinal argument also for short option.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile ($(objpfx)$(tests)): Link against libm.
1997-03-24 23:14 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_fpclassifyl.c: Correct recognition of
denormalized numbers.
* sysdeps/i386/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-19 15:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-24 23:09 Ulrich Drepper <drepper@cygnus.com>
* inet/rcmd.c (iruserok): Use access instead of euidaccess.
1997-03-15 18:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/cmathcalls.h: Remove whitespace before function name in use
of __MATHDECL macro, to make it compilable with a traditional
preprocessor.
1997-03-24 15:31 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Use AC_PROG_CC instead of AC_PROG_TOOL to find
compiler.
1997-03-24 02:34 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_finitel.c (__finitel): Shift return value
by 31 positions to get 0/1 result.
Patch by Joe Keane <jgk@jgk.org>.
1997-03-23 12:15 H.J. Lu <hjl@gnu.ai.mit.edu>
* posix/getopt.c (__getopt_nonoption_flags): Make it extern
to prevent from ld linking in getopt.o even if there is another
incompatible one.
* posix/getopt_init.c (__getopt_nonoption_flags): Remove extern.
1997-03-23 23:30 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c (__do_niscall): Print message if cold start file
does not exist.
* nis/nis_file.c: Don't print error messages.
* nis/nis_local_name.c (nis_local_host): Fix pointer errors.
* nis/rpcsvc/ypclnt.h: Fix copyright and prototypes.
* nis/rpcsvc/nis.h: Likewise.
* nis/ypclnt.c: Fix prototypes.
1997-03-24 01:36 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-i387/e_scalb.S: Pop additional result before
returning.
* sysdeps/libm-i387/e_scalbf.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.
Reported by Andreas Jaeger <aj@arthur.pfalz.de>.
* elf/rtld.c (dl_main): Set main_map->l_opencount to 1 also if
dynamic linker was called implicitly by the kernel.
Reported by Eric Youngdale <eric@andante.jic.com>.
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-longdouble.c): New variables. Set to -fno-inline to
prevent clever optimizations which corrupt the tests.
1997-03-23 21:33 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (scalb_test): New function.
(sqrt_test): New function.
(scalbn_test): New function.
(ilogb_test): New function.
(main): Added calls for new test functions.
(ldexp_test): Add another test for ldexp(x,0).
1997-03-23 12:35 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (remquo_test): Correct messages so that they
match the tests.
(copysign_test): Likewise.
1997-03-23 16:28 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/Makefile (routines): Add printf_size.
* stdio-common/printf.h: Add declarations for printf_size and
printf_size_info.
* stdio-common/printf-parse.h (__printf_arginfo_table): Correct
declaration.
(parse_one_spec): Test whether __printf_function_table is not NULL
before using registered handlers and don't test
__printf_arginfo_table. Update nargs also when handler is
registered.
* stdio-common/vfprintf.c (vfprintf): Count number of specifiers
processed in fast loop.
* stdio-common/printf_size: New file.
1997-03-22 04:53 Ulgmon_out_readrich Drepper <drepper@cygnus.com>
1997-03-25 01:45:04 +00:00
|
|
|
|
{
|
1997-04-30 15:51:34 +00:00
|
|
|
|
BINARY_UNITS, /* For binary format. */
|
|
|
|
|
DECIMAL_UNITS /* For decimal format. */
|
Update.
1997-03-25 02:15 Ulrich Drepper <drepper@cygnus.com>
* gmon/gmon.c: Optimize a bit by using more sets of records to
write in a single writev call.
* math/math.h: Add definitions of macros __MATHCALLX and __MATHDECLX.
* math/mathcalls.h: Use __MATHCALLX for fabs, infnan, copysign,
nan, isnan, nextafter, trunc, __fpclassify and signbit to mark as
`const'.
Use __MATHDECLX for isinf and finite.
* sysdeps/generic/setenv.c [_LIBC]: Define __clearenv and make
clearenv a weak alias.
Implement complex exponential function.
* sysdeps/libm-ieee754/s_cexp.c: New file.
* sysdeps/libm-ieee754/s_cexpf.c: New file.
* sysdeps/libm-ieee754/s_cexpl.c: New file.
* sysdeps/libm-ieee754/s_nan.c: Define function as __nan and make
nan a weak alias.
* sysdeps/libm-ieee754/s_nanf.c: Likewise for nanf.
* sysdeps/libm-ieee754/s_nanl.c: Likewise for nanl.
* sysdeps/unix/sysv/linux/iovec.h: Don't use kernel header because
of type clashes. Add all definitions here.
* sysdeps/unix/sysv/linux/shmat.c: Likewise. Correct types according
to XPG4.2.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysvipc/sys/shm.h (shmat, shmdt): Correct types.
* sysdeps/unix/sysv/linux/sys/kd.h: Define _LINUX_TYPES_H to avoid
use of kernel types.
1997-03-25 00:00 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/netinet/ip.h (struct ip_timestamp):
Correct typos. Reported by a sun <asun@zoology.washington.edu>.
1997-03-20 21:58 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_asinhl.c: Fix sign of result.
1997-03-20 16:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_atan2l.c: Fix typo.
1997-03-20 14:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h (__logb, logb): Don't define.
* sysdeps/m68k/fpu/s_logb.c: Removed.
* sysdeps/m68k/fpu/s_logbf.c: Removed.
* sysdeps/m68k/fpu/s_logbl.c: Removed.
* sysdeps/m68k/fpu/__math.h (__ieee754_atan2, __ieee754_pow):
Don't define here.
* sysdeps/m68k/fpu/e_atan2.c: Rewritten.
* sysdeps/m68k/fpu/e_pow.c: Likewise.
* sysdeps/m68k/fpu/e_atan2f.c: Based on e_atan2.c.
* sysdeps/m68k/fpu/e_atan2l.c: Likewise.
* sysdeps/m68k/fpu/e_powf.c: Based on e_pow.c.
* sysdeps/m68k/fpu/e_powl.c: Likewise.
* sysdeps/m68k/fpu/s_log2.c: New file.
* sysdeps/m68k/fpu/s_log2f.c: New file.
* sysdeps/m68k/fpu/s_log2l.c: New file.
* sysdeps/m68k/fpu/s_exp2.c: New file.
* sysdeps/m68k/fpu/s_exp2f.c: New file.
* sysdeps/m68k/fpu/s_exp2l.c: New file.
1997-03-20 14:46 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig (all): Make sure this is always the default goal.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c: Increase epsilon in many places. Fix many
typos. Allow optinal argument also for short option.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile ($(objpfx)$(tests)): Link against libm.
1997-03-24 23:14 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_fpclassifyl.c: Correct recognition of
denormalized numbers.
* sysdeps/i386/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-19 15:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-24 23:09 Ulrich Drepper <drepper@cygnus.com>
* inet/rcmd.c (iruserok): Use access instead of euidaccess.
1997-03-15 18:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/cmathcalls.h: Remove whitespace before function name in use
of __MATHDECL macro, to make it compilable with a traditional
preprocessor.
1997-03-24 15:31 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Use AC_PROG_CC instead of AC_PROG_TOOL to find
compiler.
1997-03-24 02:34 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_finitel.c (__finitel): Shift return value
by 31 positions to get 0/1 result.
Patch by Joe Keane <jgk@jgk.org>.
1997-03-23 12:15 H.J. Lu <hjl@gnu.ai.mit.edu>
* posix/getopt.c (__getopt_nonoption_flags): Make it extern
to prevent from ld linking in getopt.o even if there is another
incompatible one.
* posix/getopt_init.c (__getopt_nonoption_flags): Remove extern.
1997-03-23 23:30 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c (__do_niscall): Print message if cold start file
does not exist.
* nis/nis_file.c: Don't print error messages.
* nis/nis_local_name.c (nis_local_host): Fix pointer errors.
* nis/rpcsvc/ypclnt.h: Fix copyright and prototypes.
* nis/rpcsvc/nis.h: Likewise.
* nis/ypclnt.c: Fix prototypes.
1997-03-24 01:36 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-i387/e_scalb.S: Pop additional result before
returning.
* sysdeps/libm-i387/e_scalbf.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.
Reported by Andreas Jaeger <aj@arthur.pfalz.de>.
* elf/rtld.c (dl_main): Set main_map->l_opencount to 1 also if
dynamic linker was called implicitly by the kernel.
Reported by Eric Youngdale <eric@andante.jic.com>.
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-longdouble.c): New variables. Set to -fno-inline to
prevent clever optimizations which corrupt the tests.
1997-03-23 21:33 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (scalb_test): New function.
(sqrt_test): New function.
(scalbn_test): New function.
(ilogb_test): New function.
(main): Added calls for new test functions.
(ldexp_test): Add another test for ldexp(x,0).
1997-03-23 12:35 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (remquo_test): Correct messages so that they
match the tests.
(copysign_test): Likewise.
1997-03-23 16:28 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/Makefile (routines): Add printf_size.
* stdio-common/printf.h: Add declarations for printf_size and
printf_size_info.
* stdio-common/printf-parse.h (__printf_arginfo_table): Correct
declaration.
(parse_one_spec): Test whether __printf_function_table is not NULL
before using registered handlers and don't test
__printf_arginfo_table. Update nargs also when handler is
registered.
* stdio-common/vfprintf.c (vfprintf): Count number of specifiers
processed in fast loop.
* stdio-common/printf_size: New file.
1997-03-22 04:53 Ulgmon_out_readrich Drepper <drepper@cygnus.com>
1997-03-25 01:45:04 +00:00
|
|
|
|
};
|
|
|
|
|
const char *tag = units[isupper (info->spec) != 0];
|
|
|
|
|
int divisor = isupper (info->spec) ? 1000 : 1024;
|
|
|
|
|
|
|
|
|
|
/* The floating-point value to output. */
|
|
|
|
|
union
|
|
|
|
|
{
|
|
|
|
|
union ieee754_double dbl;
|
|
|
|
|
union ieee854_long_double ldbl;
|
|
|
|
|
}
|
|
|
|
|
fpnum;
|
|
|
|
|
const void *ptr = &fpnum;
|
|
|
|
|
|
|
|
|
|
int negative = 0;
|
|
|
|
|
|
|
|
|
|
/* "NaN" or "Inf" for the special cases. */
|
|
|
|
|
const char *special = NULL;
|
|
|
|
|
|
|
|
|
|
struct printf_info fp_info;
|
|
|
|
|
int done = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Fetch the argument value. */
|
1998-12-12 17:15:19 +00:00
|
|
|
|
#ifndef __NO_LONG_DOUBLE_MATH
|
Update.
1997-03-25 02:15 Ulrich Drepper <drepper@cygnus.com>
* gmon/gmon.c: Optimize a bit by using more sets of records to
write in a single writev call.
* math/math.h: Add definitions of macros __MATHCALLX and __MATHDECLX.
* math/mathcalls.h: Use __MATHCALLX for fabs, infnan, copysign,
nan, isnan, nextafter, trunc, __fpclassify and signbit to mark as
`const'.
Use __MATHDECLX for isinf and finite.
* sysdeps/generic/setenv.c [_LIBC]: Define __clearenv and make
clearenv a weak alias.
Implement complex exponential function.
* sysdeps/libm-ieee754/s_cexp.c: New file.
* sysdeps/libm-ieee754/s_cexpf.c: New file.
* sysdeps/libm-ieee754/s_cexpl.c: New file.
* sysdeps/libm-ieee754/s_nan.c: Define function as __nan and make
nan a weak alias.
* sysdeps/libm-ieee754/s_nanf.c: Likewise for nanf.
* sysdeps/libm-ieee754/s_nanl.c: Likewise for nanl.
* sysdeps/unix/sysv/linux/iovec.h: Don't use kernel header because
of type clashes. Add all definitions here.
* sysdeps/unix/sysv/linux/shmat.c: Likewise. Correct types according
to XPG4.2.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysvipc/sys/shm.h (shmat, shmdt): Correct types.
* sysdeps/unix/sysv/linux/sys/kd.h: Define _LINUX_TYPES_H to avoid
use of kernel types.
1997-03-25 00:00 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/netinet/ip.h (struct ip_timestamp):
Correct typos. Reported by a sun <asun@zoology.washington.edu>.
1997-03-20 21:58 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_asinhl.c: Fix sign of result.
1997-03-20 16:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_atan2l.c: Fix typo.
1997-03-20 14:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h (__logb, logb): Don't define.
* sysdeps/m68k/fpu/s_logb.c: Removed.
* sysdeps/m68k/fpu/s_logbf.c: Removed.
* sysdeps/m68k/fpu/s_logbl.c: Removed.
* sysdeps/m68k/fpu/__math.h (__ieee754_atan2, __ieee754_pow):
Don't define here.
* sysdeps/m68k/fpu/e_atan2.c: Rewritten.
* sysdeps/m68k/fpu/e_pow.c: Likewise.
* sysdeps/m68k/fpu/e_atan2f.c: Based on e_atan2.c.
* sysdeps/m68k/fpu/e_atan2l.c: Likewise.
* sysdeps/m68k/fpu/e_powf.c: Based on e_pow.c.
* sysdeps/m68k/fpu/e_powl.c: Likewise.
* sysdeps/m68k/fpu/s_log2.c: New file.
* sysdeps/m68k/fpu/s_log2f.c: New file.
* sysdeps/m68k/fpu/s_log2l.c: New file.
* sysdeps/m68k/fpu/s_exp2.c: New file.
* sysdeps/m68k/fpu/s_exp2f.c: New file.
* sysdeps/m68k/fpu/s_exp2l.c: New file.
1997-03-20 14:46 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig (all): Make sure this is always the default goal.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c: Increase epsilon in many places. Fix many
typos. Allow optinal argument also for short option.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile ($(objpfx)$(tests)): Link against libm.
1997-03-24 23:14 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_fpclassifyl.c: Correct recognition of
denormalized numbers.
* sysdeps/i386/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-19 15:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-24 23:09 Ulrich Drepper <drepper@cygnus.com>
* inet/rcmd.c (iruserok): Use access instead of euidaccess.
1997-03-15 18:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/cmathcalls.h: Remove whitespace before function name in use
of __MATHDECL macro, to make it compilable with a traditional
preprocessor.
1997-03-24 15:31 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Use AC_PROG_CC instead of AC_PROG_TOOL to find
compiler.
1997-03-24 02:34 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_finitel.c (__finitel): Shift return value
by 31 positions to get 0/1 result.
Patch by Joe Keane <jgk@jgk.org>.
1997-03-23 12:15 H.J. Lu <hjl@gnu.ai.mit.edu>
* posix/getopt.c (__getopt_nonoption_flags): Make it extern
to prevent from ld linking in getopt.o even if there is another
incompatible one.
* posix/getopt_init.c (__getopt_nonoption_flags): Remove extern.
1997-03-23 23:30 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c (__do_niscall): Print message if cold start file
does not exist.
* nis/nis_file.c: Don't print error messages.
* nis/nis_local_name.c (nis_local_host): Fix pointer errors.
* nis/rpcsvc/ypclnt.h: Fix copyright and prototypes.
* nis/rpcsvc/nis.h: Likewise.
* nis/ypclnt.c: Fix prototypes.
1997-03-24 01:36 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-i387/e_scalb.S: Pop additional result before
returning.
* sysdeps/libm-i387/e_scalbf.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.
Reported by Andreas Jaeger <aj@arthur.pfalz.de>.
* elf/rtld.c (dl_main): Set main_map->l_opencount to 1 also if
dynamic linker was called implicitly by the kernel.
Reported by Eric Youngdale <eric@andante.jic.com>.
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-longdouble.c): New variables. Set to -fno-inline to
prevent clever optimizations which corrupt the tests.
1997-03-23 21:33 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (scalb_test): New function.
(sqrt_test): New function.
(scalbn_test): New function.
(ilogb_test): New function.
(main): Added calls for new test functions.
(ldexp_test): Add another test for ldexp(x,0).
1997-03-23 12:35 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (remquo_test): Correct messages so that they
match the tests.
(copysign_test): Likewise.
1997-03-23 16:28 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/Makefile (routines): Add printf_size.
* stdio-common/printf.h: Add declarations for printf_size and
printf_size_info.
* stdio-common/printf-parse.h (__printf_arginfo_table): Correct
declaration.
(parse_one_spec): Test whether __printf_function_table is not NULL
before using registered handlers and don't test
__printf_arginfo_table. Update nargs also when handler is
registered.
* stdio-common/vfprintf.c (vfprintf): Count number of specifiers
processed in fast loop.
* stdio-common/printf_size: New file.
1997-03-22 04:53 Ulgmon_out_readrich Drepper <drepper@cygnus.com>
1997-03-25 01:45:04 +00:00
|
|
|
|
if (info->is_long_double && sizeof (long double) > sizeof (double))
|
|
|
|
|
{
|
|
|
|
|
fpnum.ldbl.d = *(const long double *) args[0];
|
|
|
|
|
|
|
|
|
|
/* Check for special values: not a number or infinity. */
|
|
|
|
|
if (__isnanl (fpnum.ldbl.d))
|
|
|
|
|
{
|
|
|
|
|
special = "nan";
|
|
|
|
|
negative = 0;
|
|
|
|
|
}
|
|
|
|
|
else if (__isinfl (fpnum.ldbl.d))
|
|
|
|
|
{
|
|
|
|
|
special = "inf";
|
|
|
|
|
|
|
|
|
|
negative = fpnum.ldbl.d < 0;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
while (fpnum.ldbl.d >= divisor && tag[1] != '\0')
|
|
|
|
|
{
|
|
|
|
|
fpnum.ldbl.d /= divisor;
|
|
|
|
|
++tag;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
1998-12-12 17:15:19 +00:00
|
|
|
|
#endif /* no long double */
|
Update.
1997-03-25 02:15 Ulrich Drepper <drepper@cygnus.com>
* gmon/gmon.c: Optimize a bit by using more sets of records to
write in a single writev call.
* math/math.h: Add definitions of macros __MATHCALLX and __MATHDECLX.
* math/mathcalls.h: Use __MATHCALLX for fabs, infnan, copysign,
nan, isnan, nextafter, trunc, __fpclassify and signbit to mark as
`const'.
Use __MATHDECLX for isinf and finite.
* sysdeps/generic/setenv.c [_LIBC]: Define __clearenv and make
clearenv a weak alias.
Implement complex exponential function.
* sysdeps/libm-ieee754/s_cexp.c: New file.
* sysdeps/libm-ieee754/s_cexpf.c: New file.
* sysdeps/libm-ieee754/s_cexpl.c: New file.
* sysdeps/libm-ieee754/s_nan.c: Define function as __nan and make
nan a weak alias.
* sysdeps/libm-ieee754/s_nanf.c: Likewise for nanf.
* sysdeps/libm-ieee754/s_nanl.c: Likewise for nanl.
* sysdeps/unix/sysv/linux/iovec.h: Don't use kernel header because
of type clashes. Add all definitions here.
* sysdeps/unix/sysv/linux/shmat.c: Likewise. Correct types according
to XPG4.2.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysvipc/sys/shm.h (shmat, shmdt): Correct types.
* sysdeps/unix/sysv/linux/sys/kd.h: Define _LINUX_TYPES_H to avoid
use of kernel types.
1997-03-25 00:00 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/netinet/ip.h (struct ip_timestamp):
Correct typos. Reported by a sun <asun@zoology.washington.edu>.
1997-03-20 21:58 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_asinhl.c: Fix sign of result.
1997-03-20 16:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_atan2l.c: Fix typo.
1997-03-20 14:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h (__logb, logb): Don't define.
* sysdeps/m68k/fpu/s_logb.c: Removed.
* sysdeps/m68k/fpu/s_logbf.c: Removed.
* sysdeps/m68k/fpu/s_logbl.c: Removed.
* sysdeps/m68k/fpu/__math.h (__ieee754_atan2, __ieee754_pow):
Don't define here.
* sysdeps/m68k/fpu/e_atan2.c: Rewritten.
* sysdeps/m68k/fpu/e_pow.c: Likewise.
* sysdeps/m68k/fpu/e_atan2f.c: Based on e_atan2.c.
* sysdeps/m68k/fpu/e_atan2l.c: Likewise.
* sysdeps/m68k/fpu/e_powf.c: Based on e_pow.c.
* sysdeps/m68k/fpu/e_powl.c: Likewise.
* sysdeps/m68k/fpu/s_log2.c: New file.
* sysdeps/m68k/fpu/s_log2f.c: New file.
* sysdeps/m68k/fpu/s_log2l.c: New file.
* sysdeps/m68k/fpu/s_exp2.c: New file.
* sysdeps/m68k/fpu/s_exp2f.c: New file.
* sysdeps/m68k/fpu/s_exp2l.c: New file.
1997-03-20 14:46 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig (all): Make sure this is always the default goal.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c: Increase epsilon in many places. Fix many
typos. Allow optinal argument also for short option.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile ($(objpfx)$(tests)): Link against libm.
1997-03-24 23:14 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_fpclassifyl.c: Correct recognition of
denormalized numbers.
* sysdeps/i386/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-19 15:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-24 23:09 Ulrich Drepper <drepper@cygnus.com>
* inet/rcmd.c (iruserok): Use access instead of euidaccess.
1997-03-15 18:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/cmathcalls.h: Remove whitespace before function name in use
of __MATHDECL macro, to make it compilable with a traditional
preprocessor.
1997-03-24 15:31 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Use AC_PROG_CC instead of AC_PROG_TOOL to find
compiler.
1997-03-24 02:34 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_finitel.c (__finitel): Shift return value
by 31 positions to get 0/1 result.
Patch by Joe Keane <jgk@jgk.org>.
1997-03-23 12:15 H.J. Lu <hjl@gnu.ai.mit.edu>
* posix/getopt.c (__getopt_nonoption_flags): Make it extern
to prevent from ld linking in getopt.o even if there is another
incompatible one.
* posix/getopt_init.c (__getopt_nonoption_flags): Remove extern.
1997-03-23 23:30 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c (__do_niscall): Print message if cold start file
does not exist.
* nis/nis_file.c: Don't print error messages.
* nis/nis_local_name.c (nis_local_host): Fix pointer errors.
* nis/rpcsvc/ypclnt.h: Fix copyright and prototypes.
* nis/rpcsvc/nis.h: Likewise.
* nis/ypclnt.c: Fix prototypes.
1997-03-24 01:36 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-i387/e_scalb.S: Pop additional result before
returning.
* sysdeps/libm-i387/e_scalbf.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.
Reported by Andreas Jaeger <aj@arthur.pfalz.de>.
* elf/rtld.c (dl_main): Set main_map->l_opencount to 1 also if
dynamic linker was called implicitly by the kernel.
Reported by Eric Youngdale <eric@andante.jic.com>.
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-longdouble.c): New variables. Set to -fno-inline to
prevent clever optimizations which corrupt the tests.
1997-03-23 21:33 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (scalb_test): New function.
(sqrt_test): New function.
(scalbn_test): New function.
(ilogb_test): New function.
(main): Added calls for new test functions.
(ldexp_test): Add another test for ldexp(x,0).
1997-03-23 12:35 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (remquo_test): Correct messages so that they
match the tests.
(copysign_test): Likewise.
1997-03-23 16:28 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/Makefile (routines): Add printf_size.
* stdio-common/printf.h: Add declarations for printf_size and
printf_size_info.
* stdio-common/printf-parse.h (__printf_arginfo_table): Correct
declaration.
(parse_one_spec): Test whether __printf_function_table is not NULL
before using registered handlers and don't test
__printf_arginfo_table. Update nargs also when handler is
registered.
* stdio-common/vfprintf.c (vfprintf): Count number of specifiers
processed in fast loop.
* stdio-common/printf_size: New file.
1997-03-22 04:53 Ulgmon_out_readrich Drepper <drepper@cygnus.com>
1997-03-25 01:45:04 +00:00
|
|
|
|
{
|
|
|
|
|
fpnum.dbl.d = *(const double *) args[0];
|
|
|
|
|
|
|
|
|
|
/* Check for special values: not a number or infinity. */
|
|
|
|
|
if (__isnan (fpnum.dbl.d))
|
|
|
|
|
{
|
|
|
|
|
special = "nan";
|
|
|
|
|
negative = 0;
|
|
|
|
|
}
|
|
|
|
|
else if (__isinf (fpnum.dbl.d))
|
|
|
|
|
{
|
|
|
|
|
special = "inf";
|
|
|
|
|
|
|
|
|
|
negative = fpnum.dbl.d < 0;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
while (fpnum.dbl.d >= divisor && tag[1] != '\0')
|
|
|
|
|
{
|
|
|
|
|
fpnum.dbl.d /= divisor;
|
|
|
|
|
++tag;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (special)
|
|
|
|
|
{
|
|
|
|
|
int width = info->prec > info->width ? info->prec : info->width;
|
|
|
|
|
|
|
|
|
|
if (negative || info->showsign || info->space)
|
|
|
|
|
--width;
|
|
|
|
|
width -= 3;
|
|
|
|
|
|
|
|
|
|
if (!info->left && width > 0)
|
|
|
|
|
PADN (' ', width);
|
|
|
|
|
|
|
|
|
|
if (negative)
|
|
|
|
|
outchar ('-');
|
|
|
|
|
else if (info->showsign)
|
|
|
|
|
outchar ('+');
|
|
|
|
|
else if (info->space)
|
|
|
|
|
outchar (' ');
|
|
|
|
|
|
|
|
|
|
PRINT (special, 3);
|
|
|
|
|
|
|
|
|
|
if (info->left && width > 0)
|
|
|
|
|
PADN (' ', width);
|
|
|
|
|
|
|
|
|
|
return done;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Prepare to print the number. We want to use `__printf_fp' so we
|
|
|
|
|
have to prepare a `printf_info' structure. */
|
|
|
|
|
fp_info.spec = 'f';
|
|
|
|
|
fp_info.prec = info->prec < 0 ? 3 : info->prec;
|
|
|
|
|
fp_info.is_long_double = info->is_long_double;
|
|
|
|
|
fp_info.is_short = info->is_short;
|
|
|
|
|
fp_info.is_long = info->is_long;
|
|
|
|
|
fp_info.alt = info->alt;
|
|
|
|
|
fp_info.space = info->space;
|
|
|
|
|
fp_info.left = info->left;
|
|
|
|
|
fp_info.showsign = info->showsign;
|
|
|
|
|
fp_info.group = info->group;
|
|
|
|
|
fp_info.extra = info->extra;
|
|
|
|
|
fp_info.pad = info->pad;
|
Update.
* Versions.def: Add GLIBC_2.2 for libc.
* iconv/gconv.h: Make header suitable for inclusion in public header
by protecting all names with __.
* iconv/gconv.c: Adapt for symbol name changes.
* iconv/gconv.h: Likewise.
* iconv/gconv_builtin.c: Likewise.
* iconv/gconv_close.c: Likewise.
* iconv/gconv_db.c: Likewise.
* iconv/gconv_dl.c: Likewise.
* iconv/gconv_int.h: Likewise.
* iconv/gconv_open.c: Likewise.
* iconv/gconv_simple.c: Likewise.
* iconv/iconv.c: Likewise.
* iconv/iconv_close.c: Likewise.
* iconv/iconv_open.c: Likewise.
* iconv/loop.c: Likewise.
* iconv/skeleton.c: Likewise.
* iconvdata/8bit-gap.c: Likewise.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/ansi_x3.110.c: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/cns11643.h: Likewise.
* iconvdata/cns11643l1.h: Likewise.
* iconvdata/euc-cn.c: Likewise.
* iconvdata/euc-jp.c: Likewise.
* iconvdata/euc-kr.c: Likewise.
* iconvdata/euc-tw.c: Likewise.
* iconvdata/gb2312.h: Likewise.
* iconvdata/iso-2022-jp.c: Likewise.
* iconvdata/iso-2022-kr.c: Likewise.
* iconvdata/iso646.c: Likewise.
* iconvdata/iso8859-1.c: Likewise.
* iconvdata/iso_6937-2.c: Likewise.
* iconvdata/iso_6937.c: Likewise.
* iconvdata/jis0201.h: Likewise.
* iconvdata/jis0208.h: Likewise.
* iconvdata/jis0212.h: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/ksc5601.h: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t.61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* stdlib/mblen.c: Likewise.
* stdlib/mbtowc.c: Likewise.
* stdlib/wctomb.c: Likewise.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wchar.h: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsmbsload.c: Likewise.
* wcsmbs/wcsmbsload.h: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* include/limits.h (MB_LEN_MAX): Increase to 16.
* sysdeps/generic/_G_config.h: Define _G_fpos_t as struct. Define
_G_iconv_t.
* sysdeps/unix/sysv/linux/_G_config.h: Likewise.
* include/wchar.h: Change mbstate_t to __mbstate_t.
* libio/Makefile (routines): Add wfiledoalloc, oldiofgetpos,
oldiofgetpos64, oldiofsetpos, oldiofsetpos64, fputwc, fputwc_u,
getwc, getwc_u, getwchar, getwchar_u, iofgetws, iofgetws_u,
iofputws, iofputws_u, iogetwline, iowpadn, ioungetwc, putwc, putwc_u,
putchar, putchar_u, swprintf, vwprintf, wprintf, wscanf, fwscanf,
vwscanf, vswprintf, iovswscanf, swscanf, wgenops, wstrops, wfileops,
and iofwide.
(tests): Add tst_swprintf, tst_wprintf, tst_swscanf, and tst_wscanf.
* libio/Versions: Add _IO_fgetpos, _IO_fgetpos64, _IO_fsetpos,
_IO_fsetpos64, fgetpos, fgetpos64, fgetwc, fgetwc_unlocked, fgetws,
fgetws_unlocked, fputwc, fputwc_unlocked, fputws, fputws_unlocked,
fsetpos, fsetpos64, fwide, fwprintf, fwscanf, getwc, getwc_unlocked,
getwchar, getwchar_unlocked, putwc, putwc_unlocked, putwchar,
putwchar_unlocked, swprintf, swscanf, ungetwc, vfwprintf, vswprintf,
vwprintf, vfwscanf, vswscanf, vwscanf, wprintf, and wscanf to
GLIBC_2.2 for libc.
* libio/libio.h: Define codecvt struct. Define _IO_wide_data.
Extend _IO_file contain pointer to codecvt, widedata and mode.
(_IO_getwc_unlocked): New macro.
(_IO_putwc_unlocked): New macro.
(_IO_fwide): New macro.
* libio/libioP.h: Add new prototypes and adjust existing declarations.
* libio/fileops.c (_IO_new_file_close_it): Reset normal or widedata
buffers based on mode.
(new_do_write): Set _IO_write_end to _IO_buf_end if stream is wide
oriented.
(_IO_new_file_overflow): Don't depend only on _IO_CURRENTLY_PUTTING
flag to be enough to signal unallocated buffer. For wide oriented
stream don't make it linebuffered. Don't use _IO_do_flush, use
_IO_new_do_write directly.
(_IO_new_file_seekoff): Change return value type to _IO_off64_t.
(_IO_file_seek): Likewise.
* libio/genops.c (_IO_least_marker): Make global.
(__underflow): Orient stream if not already done.
(__uflow): Likewise.
(_IO_default_seekpos): Change to type _IO_off64_t.
(_IO_default_seekoff): Likewise.
(_IO_default_seek): Likewise.
(_IO_no_init): New function. Similar to _IO_init but allows to orient
in initialization.
* libio/iolibio.h: Add prototype for _IO_vswprintf. Change _IO_pos_BAD
to use _IO_off64_t.
* libio/ftello.c: Use _IO_off_t. For now abort when use with wide
char stream.
* libio/ftello64.c: Likewise.
* libio/ioftell.c: Likewise.
* libio/iofopncook.c: Likewise.
* libio/ioseekoff.c: Likewise.
* libio/ioseekpos.c: Likewise.
* libio/oldfileops.c: Likewise.
* libio/iofgetpos.c: Store state of conversion if necessary.
* libio/iofgetpos64.c: Likewise.
* libio/iofsetpos.c: Restore conversion state if necessary.
* libio/iofsetpos64.c: Likewise.
* libio/iofdopen.c: Initialize so that stream can be wide oriented.
* libio/iofopen.c: Likewise.
* libio/iofopen64.c: Likewise.
* libio/iopopen.c: Likewise.
* libio/iovdprintf.c: Likewise.
* libio/iovsprintf.c: Likewise.
* libio/iovsscanf.c: Likewise.
* libio/memstream.c: Likewise.
* libio/obprintf.c: Likewise.
* libio/iofputs.c: Orient stream if not already happened.
* libio/iofputs_u.c: Likewise.
* libio/iofwrite.c: Likewise.
* libio/iofwrite_u.c: Likewise.
* libio/ioputs.c: Likewise.
* libio/iosetbuffer.c: Handle not yet oriented stream.
* libio/iosetvbuf.c: Likewise.
* libio/oldstdfiles.c: Adjust FILEBUF_LITERAL call.
* libio/stdfiles.c: Likewise.
* libio/strops.c (_IO_str_overflow): Correctly free buffer after
failed allocation.
(_IO_str_seekoff): Use _IO_off64_t.
* libio/vasprintf.c: Pre-orient stream.
* libio/vsnprintf.c: Likewise.
* libio/fputwc.c: New file.
* libio/fputwc_u.c: New file.
* libio/fwprintf.c: New file.
* libio/fwscanf.c: New file.
* libio/getwc.c: New file.
* libio/getwc_u.c: New file.
* libio/getwchar.c: New file.
* libio/getwchar_u.c: New file.
* libio/iofgetws.c: New file.
* libio/iofgetws_u.c: New file.
* libio/iofputws.c: New file.
* libio/iofputws_u.c: New file.
* libio/iofwide.c: New file.
* libio/iogetwline.c: New file.
* libio/ioungetwc.c: New file.
* libio/iovswscanf.c: New file.
* libio/iowpadn.c: New file.
* libio/oldiofgetpos.c: New file.
* libio/oldiofgetpos64.c: New file.
* libio/oldiofsetpos.c: New file.
* libio/oldiofsetpos64.c: New file.
* libio/putwc.c: New file.
* libio/putwc_u.c: New file.
* libio/putwchar.c: New file.
* libio/putwchar_u.c: New file.
* libio/swprintf.c: New file.
* libio/swscanf.c: New file.
* libio/tst_swprintf.c: New file.
* libio/tst_swscanf.c: New file.
* libio/tst_wprintf.c: New file.
* libio/tst_wscanf.c: New file.
* libio/tst_wscanf.input: New file.
* libio/vswprintf.c: New file.
* libio/vwprintf.c: New file.
* libio/vwscanf.c: New file.
* libio/wfiledoalloc.c: New file.
* libio/wfileops.c: New file.
* libio/wgenops.c: New file.
* libio/wprintf.c: New file.
* libio/wscanf.c: New file.
* libio/wstrops.c: New file.
* stdio-common/Makefile (routines): Add _itowa, itowa-digits,
vfwprintf, and vfwscanf.
* stdio-common/_itoa.c (base_table): Rename to _IO_base_table and
make global.
* stdio-common/_itowa.c: New file.
* stdio-common/_itowa.h: New file.
* stdio-common/itoa-digits.c: Minimal optimization.
* stdio-common/itowa-digits.c: New file.
* stdio-common/printf-parse.h: Allow use in wide character context.
* stdio-common/printf-prs.c: Define ISASCII and MBRLEN.
* stdio-common/printf.h (printf_info): Add wide bit.
* stdio-common/printf_fp.c: Determine from wide bit whether stream
is wide oriented or not.
* stdio-common/printf_size.c: Likewise.
* sysdeps/generic/printf_fphex.c: Likewise.
* stdlib/strfmon.c: Call __printf_fp with wide bit cleared.
* stdio-common/vfprintf.c: Rewrite to allow use in wide character
context.
* stdio-common/vfscand.c: Likewise.
* stdio-common/vfwprintf.c: New file.
* stdio-common/vfwscanf.c: New file.
* time/Makefile (routines): Add wcsftime.
(tests): Add tst_wcsftime.
* time/Versions: Add wcsftime to GLIBC_2.2 for libc.
* time/strftime.c: Make usable as wcsftime.
* time/wcsftime.c: New file.
* time/tst_wcsftime.c: New file.
* wcsmbs/Makefile (routines): Add wmempcpy and wcschrnul.
* wcsmbs/Versions: Add wmempcpy and wcschrnul to GLIBC_2.2 for libc.
* wcsmbs/wcschrnul.c: New file.
* wcsmbs/wmemcpy.c: New file.
* wcsmbs/wmemcpy.c: Rename to __wmemcpy and make wmemcpy weak alias.
* wcsmbs/wmemmove.c: Likewise for wmemmove.
* manual/stdio.texi: Document is_char and wide element if printf_info.
* manual/time.texi: Document wcsftime.
* include/wchar.h: Add prototypes for __wmemcpy, __wmempcpy,
__wmemmove, __wcschrnul, and __vfwscanf.
* locale/langinfo.h: Add new LC_TIME entries for wchar_t data.
* locale/C-time.c: Adapt for above change.
* locale/categories.def: Likewise.
* locale/localeinfo.h: Likewise.
* localedata/Makefile: Don't run tests for now.
1999-06-16 22:55:47 +00:00
|
|
|
|
fp_info.wide = 0;
|
Update.
1997-03-25 02:15 Ulrich Drepper <drepper@cygnus.com>
* gmon/gmon.c: Optimize a bit by using more sets of records to
write in a single writev call.
* math/math.h: Add definitions of macros __MATHCALLX and __MATHDECLX.
* math/mathcalls.h: Use __MATHCALLX for fabs, infnan, copysign,
nan, isnan, nextafter, trunc, __fpclassify and signbit to mark as
`const'.
Use __MATHDECLX for isinf and finite.
* sysdeps/generic/setenv.c [_LIBC]: Define __clearenv and make
clearenv a weak alias.
Implement complex exponential function.
* sysdeps/libm-ieee754/s_cexp.c: New file.
* sysdeps/libm-ieee754/s_cexpf.c: New file.
* sysdeps/libm-ieee754/s_cexpl.c: New file.
* sysdeps/libm-ieee754/s_nan.c: Define function as __nan and make
nan a weak alias.
* sysdeps/libm-ieee754/s_nanf.c: Likewise for nanf.
* sysdeps/libm-ieee754/s_nanl.c: Likewise for nanl.
* sysdeps/unix/sysv/linux/iovec.h: Don't use kernel header because
of type clashes. Add all definitions here.
* sysdeps/unix/sysv/linux/shmat.c: Likewise. Correct types according
to XPG4.2.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysvipc/sys/shm.h (shmat, shmdt): Correct types.
* sysdeps/unix/sysv/linux/sys/kd.h: Define _LINUX_TYPES_H to avoid
use of kernel types.
1997-03-25 00:00 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/netinet/ip.h (struct ip_timestamp):
Correct typos. Reported by a sun <asun@zoology.washington.edu>.
1997-03-20 21:58 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/s_asinhl.c: Fix sign of result.
1997-03-20 16:20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_atan2l.c: Fix typo.
1997-03-20 14:23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h (__logb, logb): Don't define.
* sysdeps/m68k/fpu/s_logb.c: Removed.
* sysdeps/m68k/fpu/s_logbf.c: Removed.
* sysdeps/m68k/fpu/s_logbl.c: Removed.
* sysdeps/m68k/fpu/__math.h (__ieee754_atan2, __ieee754_pow):
Don't define here.
* sysdeps/m68k/fpu/e_atan2.c: Rewritten.
* sysdeps/m68k/fpu/e_pow.c: Likewise.
* sysdeps/m68k/fpu/e_atan2f.c: Based on e_atan2.c.
* sysdeps/m68k/fpu/e_atan2l.c: Likewise.
* sysdeps/m68k/fpu/e_powf.c: Based on e_pow.c.
* sysdeps/m68k/fpu/e_powl.c: Likewise.
* sysdeps/m68k/fpu/s_log2.c: New file.
* sysdeps/m68k/fpu/s_log2f.c: New file.
* sysdeps/m68k/fpu/s_log2l.c: New file.
* sysdeps/m68k/fpu/s_exp2.c: New file.
* sysdeps/m68k/fpu/s_exp2f.c: New file.
* sysdeps/m68k/fpu/s_exp2l.c: New file.
1997-03-20 14:46 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig (all): Make sure this is always the default goal.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c: Increase epsilon in many places. Fix many
typos. Allow optinal argument also for short option.
1997-03-20 11:09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/Makefile ($(objpfx)$(tests)): Link against libm.
1997-03-24 23:14 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_fpclassifyl.c: Correct recognition of
denormalized numbers.
* sysdeps/i386/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-19 15:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/huge_val.h: Remove references to byte order macros.
Don't include <endian.h>.
1997-03-24 23:09 Ulrich Drepper <drepper@cygnus.com>
* inet/rcmd.c (iruserok): Use access instead of euidaccess.
1997-03-15 18:08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/cmathcalls.h: Remove whitespace before function name in use
of __MATHDECL macro, to make it compilable with a traditional
preprocessor.
1997-03-24 15:31 Ulrich Drepper <drepper@cygnus.com>
* configure.in: Use AC_PROG_CC instead of AC_PROG_TOOL to find
compiler.
1997-03-24 02:34 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/s_finitel.c (__finitel): Shift return value
by 31 positions to get 0/1 result.
Patch by Joe Keane <jgk@jgk.org>.
1997-03-23 12:15 H.J. Lu <hjl@gnu.ai.mit.edu>
* posix/getopt.c (__getopt_nonoption_flags): Make it extern
to prevent from ld linking in getopt.o even if there is another
incompatible one.
* posix/getopt_init.c (__getopt_nonoption_flags): Remove extern.
1997-03-23 23:30 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nis_call.c (__do_niscall): Print message if cold start file
does not exist.
* nis/nis_file.c: Don't print error messages.
* nis/nis_local_name.c (nis_local_host): Fix pointer errors.
* nis/rpcsvc/ypclnt.h: Fix copyright and prototypes.
* nis/rpcsvc/nis.h: Likewise.
* nis/ypclnt.c: Fix prototypes.
1997-03-24 01:36 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-i387/e_scalb.S: Pop additional result before
returning.
* sysdeps/libm-i387/e_scalbf.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.
Reported by Andreas Jaeger <aj@arthur.pfalz.de>.
* elf/rtld.c (dl_main): Set main_map->l_opencount to 1 also if
dynamic linker was called implicitly by the kernel.
Reported by Eric Youngdale <eric@andante.jic.com>.
* math/Makefile (CFLAGS-test-float.c, CFLAGS-test-double.c,
CFLAGS-test-longdouble.c): New variables. Set to -fno-inline to
prevent clever optimizations which corrupt the tests.
1997-03-23 21:33 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (scalb_test): New function.
(sqrt_test): New function.
(scalbn_test): New function.
(ilogb_test): New function.
(main): Added calls for new test functions.
(ldexp_test): Add another test for ldexp(x,0).
1997-03-23 12:35 Andreas Jaeger <aj@arthur.pfalz.de>
* math/libm-test.c (remquo_test): Correct messages so that they
match the tests.
(copysign_test): Likewise.
1997-03-23 16:28 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/Makefile (routines): Add printf_size.
* stdio-common/printf.h: Add declarations for printf_size and
printf_size_info.
* stdio-common/printf-parse.h (__printf_arginfo_table): Correct
declaration.
(parse_one_spec): Test whether __printf_function_table is not NULL
before using registered handlers and don't test
__printf_arginfo_table. Update nargs also when handler is
registered.
* stdio-common/vfprintf.c (vfprintf): Count number of specifiers
processed in fast loop.
* stdio-common/printf_size: New file.
1997-03-22 04:53 Ulgmon_out_readrich Drepper <drepper@cygnus.com>
1997-03-25 01:45:04 +00:00
|
|
|
|
|
|
|
|
|
if (fp_info.left && fp_info.pad == L' ')
|
|
|
|
|
{
|
|
|
|
|
/* We must do the padding ourself since the unit character must
|
|
|
|
|
be placed before the padding spaces. */
|
|
|
|
|
fp_info.width = 0;
|
|
|
|
|
|
|
|
|
|
done = __printf_fp (fp, &fp_info, &ptr);
|
|
|
|
|
if (done > 0)
|
|
|
|
|
{
|
|
|
|
|
outchar (*tag);
|
|
|
|
|
if (info->width > done)
|
|
|
|
|
PADN (' ', info->width - done);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
/* We can let __printf_fp do all the printing and just add our
|
|
|
|
|
unit character afterwards. */
|
|
|
|
|
fp_info.width = info->width - 1;
|
|
|
|
|
|
|
|
|
|
done = __printf_fp (fp, &fp_info, &ptr);
|
|
|
|
|
if (done > 0)
|
|
|
|
|
outchar (*tag);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return done;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* This is the function used by `vfprintf' to determine number and
|
|
|
|
|
type of the arguments. */
|
|
|
|
|
int
|
|
|
|
|
printf_size_info (const struct printf_info *info, size_t n, int *argtypes)
|
|
|
|
|
{
|
|
|
|
|
/* We need only one double or long double argument. */
|
|
|
|
|
if (n >= 1)
|
|
|
|
|
argtypes[0] = PA_DOUBLE | (info->is_long_double ? PA_FLAG_LONG_DOUBLE : 0);
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
}
|