glibc/libio/iovsprintf.c
Ulrich Drepper d38cd08ca3 update from main archive 961229
Mon Dec 30 01:32:59 1996  Ulrich Drepper  <drepper@cygnus.com>

	* tme/localtime.c: Rewrite so that localtime_r does not call tzset,
	but localtime does.

	* features.h: Rename ANSI C to ISO C.
	Mention __GLIBC__ and __GLIBC_MINOR__ macros.

	* gnu-versions.h: Add _GNU_GETOPT_INTERFACE_VERSION.
	* posix/getopt.c: Use _GNU_GETOPT_INTERFACE_VERSION to check
	whether we can elide the code.
	* posix/getopt1.c: Likewise.
	* posix/Makefile: Correct copyright.

	* elf/dl-error.c (_dl_catch_error): Clear `catch' also when error
	occurred.
	* elf/dl-support.c (_dl_sysdep_open_zero_fill): Don't define if
	MAP_ANON is defined.
	* elf/eval.c: Use __getline instead of getline.
	* elf/rtld.c (dl_main): Check return value of _dl_new_object
	function for NULL.
	* sysdeps/generic/dl-cache.c: Update copyright.

	* signal/Makefile: Correct copyright.
	(routines): Remove gsignal and ssignal.  Add bsd_signal.
	* signal/gsignal.c: Removed.  Now is made an alias.
	* signal/ssignal.c: Likewise.
	* sysdeps/posix/raise.c: Add alias gsignal.
	* sysdeps/stub/raise.c: Likewise.
	* sysdeps/posix/signal.c: Add alias ssignal.
	* sysdeps/stub/signal.c: Likewise.
	* signal/signal.h: Declare bsd_signal.  Define signal as bsd_signal
	if __FAVOR_BSD.
	* sysdeps/posix/bsd_signal.c: New file.  Implementation of XPG
	function.

	* sysdeps/unix/sysv/linux/signal.c: Add explanation.

	* socket/sys/un.h: Define SUN_LEN according to POSIX.1g.

	* stdio-common/Makefile (tests): Add scanf10.
	* stdio-common/scanf10.c: New file.
	* stdio-common/vfscanf.c: Decrement counter if EOF is read while
	reading string.

	* sysdeps/libm-i387/e_acos.S: Use END, not PSEUDO_END.
	* sysdeps/libm-i387/e_acosl.S: Likewise.
	* sysdeps/libm-i387/e_asin.S: Likewise.
	* sysdeps/libm-i387/e_asinl.S: Likewise.
	* sysdeps/libm-i387/e_atan2.S: Likewise.
	* sysdeps/libm-i387/e_atan2f.S: Likewise.
	* sysdeps/libm-i387/e_atan2l.S: Likewise.
	* sysdeps/libm-i387/e_exp.S: Likewise.
	* sysdeps/libm-i387/e_expl.S: Likewise.
	* sysdeps/libm-i387/e_fmod.S: Likewise.
	* sysdeps/libm-i387/e_fmodl.S: Likewise.
	* sysdeps/libm-i387/e_log.S: Likewise.
	* sysdeps/libm-i387/e_log10.S: Likewise.
	* sysdeps/libm-i387/e_log10l.S: Likewise.
	* sysdeps/libm-i387/e_logl.S: Likewise.
	* sysdeps/libm-i387/e_remainder.S: Likewise.
	* sysdeps/libm-i387/e_remainderf.S: Likewise.
	* sysdeps/libm-i387/e_remainderl.S: Likewise.
	* sysdeps/libm-i387/e_scalb.S: Likewise.
	* sysdeps/libm-i387/e_scalbl.S: Likewise.
	* sysdeps/libm-i387/e_sqrt.S: Likewise.
	* sysdeps/libm-i387/e_sqrtf.S: Likewise.
	* sysdeps/libm-i387/e_sqrtl.S: Likewise.
	* sysdeps/libm-i387/s_atan.S: Likewise.
	* sysdeps/libm-i387/s_atanf.S: Likewise.
	* sysdeps/libm-i387/s_atanl.S: Likewise.
	* sysdeps/libm-i387/s_ceil.S: Likewise.
	* sysdeps/libm-i387/s_ceilf.S: Likewise.
	* sysdeps/libm-i387/s_ceill.S: Likewise.
	* sysdeps/libm-i387/s_copysign.S: Likewise.
	* sysdeps/libm-i387/s_copysignf.S: Likewise.
	* sysdeps/libm-i387/s_copysignl.S: Likewise.
	* sysdeps/libm-i387/s_cos.S: Likewise.
	* sysdeps/libm-i387/s_cosf.S: Likewise.
	* sysdeps/libm-i387/s_cosl.S: Likewise.
	* sysdeps/libm-i387/s_finite.S: Likewise.
	* sysdeps/libm-i387/s_finitef.S: Likewise.
	* sysdeps/libm-i387/s_finitel.S: Likewise.
	* sysdeps/libm-i387/s_floor.S: Likewise.
	* sysdeps/libm-i387/s_floorf.S: Likewise.
	* sysdeps/libm-i387/s_floorl.S: Likewise.
	* sysdeps/libm-i387/s_ilogb.S: Likewise.
	* sysdeps/libm-i387/s_ilogbf.S: Likewise.
	* sysdeps/libm-i387/s_ilogbl.S: Likewise.
	* sysdeps/libm-i387/s_log1p.S: Likewise.
	* sysdeps/libm-i387/s_log1pf.S: Likewise.
	* sysdeps/libm-i387/s_log1pl.S: Likewise.
	* sysdeps/libm-i387/s_logb.S: Likewise.
	* sysdeps/libm-i387/s_logbf.S: Likewise.
	* sysdeps/libm-i387/s_logbl.S: Likewise.
	* sysdeps/libm-i387/s_rint.S: Likewise.
	* sysdeps/libm-i387/s_rintf.S: Likewise.
	* sysdeps/libm-i387/s_rintl.S: Likewise.
	* sysdeps/libm-i387/s_scalbn.S: Likewise.
	* sysdeps/libm-i387/s_scalbnf.S: Likewise.
	* sysdeps/libm-i387/s_scalbnl.S: Likewise.
	* sysdeps/libm-i387/s_significand.S: Likewise.
	* sysdeps/libm-i387/s_significandf.S: Likewise.
	* sysdeps/libm-i387/s_significandl.S: Likewise.
	* sysdeps/libm-i387/s_sin.S: Likewise.
	* sysdeps/libm-i387/s_sinf.S: Likewise.
	* sysdeps/libm-i387/s_sinl.S: Likewise.

	* sysdeps/libm-i387/e_log.S: Use fyl2xp1 instruction for values
	near 1 to increase precision.
	* sysdeps/libm-i387/e_log10.S: Likewise.
	* sysdeps/libm-i387/e_log10l.S: Likewise.
	* sysdeps/libm-i387/e_logl.S: Likewise.

	* sysdeps/libm-i387/s_cos.S: Use testl instead of andw.
	* sysdeps/libm-i387/s_cosl.S: Likewise.
	* sysdeps/libm-i387/s_sin.S: Likewise.
	* sysdeps/libm-i387/s_sinl.S: Likewise.
	* sysdeps/libm-i387/s_tan.S: Likewise.
	* sysdeps/libm-i387/s_tanl.S: Likewise.

	* sysdeps/libm-i387/e_acosf.S: New file.  Add float versions.
	* sysdeps/libm-i387/e_asinf.S: Likewise.
	* sysdeps/libm-i387/e_expf.S: Likewise.
	* sysdeps/libm-i387/e_fmodf.S: Likewise.
	* sysdeps/libm-i387/e_log10f.S: Likewise.
	* sysdeps/libm-i387/e_logf.S: Likewise.
	* sysdeps/libm-i387/e_scalbf.S: Likewise.

	* sysdeps/libm-i387/e_acosh.S: New file.  Highly optimized versions.
	* sysdeps/libm-i387/e_acoshf.S: Likewise.
	* sysdeps/libm-i387/e_acoshl.S: Likewise.
	* sysdeps/libm-i387/e_atanh.S: Likewise.
	* sysdeps/libm-i387/e_atanhf.S: Likewise.
	* sysdeps/libm-i387/e_atanhl.S: Likewise.
	* sysdeps/libm-i387/e_asinh.S: Likewise.
	* sysdeps/libm-i387/e_asinhf.S: Likewise.
	* sysdeps/libm-i387/e_asinhl.S: Likewise.

	* sysdeps/libm-ieee754/s_asinhf.c: Tweak a bit.  Use lower levels
	for simplified handling.

	* sysdeps/unix/sysv/linux/syscalls.list: Add query_module.

Sun Dec 22 01:39:29 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* inet/rcmd.c (rcmd): Set h_errno before calling herror.
	* inet/rexec.c (rexec): Likewise.

Sat Dec 21 21:47:08 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/m68k/setjmp.c (__setjmp): Make it really
	compatible.

Sun Dec 22 03:23:33 1996  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/libm-i387/s_log1p.S: Use fyl2xp1 for numbers in range
	-0.29 <= x <= 0.29, otherwise the old method.
	* sysdeps/libm-i387/s_log1pf.S: Likewise.
	* sysdeps/libm-i387/s_log1pl.S: Likewise.
1996-12-30 01:47:46 +00:00

55 lines
1.8 KiB
C

/*
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 "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;
}
weak_alias (_IO_vsprintf, vsprintf)