Roland McGrath
5615eaf264
Quash some new warnings from GCC 4.6.
2011-06-10 22:44:20 -07:00
Ulrich Drepper
aec84f5395
Set stream errors in more cases
...
Also avoid unnecessarily setting errno when testing for TTY.
2011-05-21 00:42:06 -04:00
Petr Baudis
84a4211850
Fix allocation when handling positional parameters in printf.
2011-02-20 07:59:49 -05:00
Samuel Thibault
f75286c696
Conditionalize use of SIGRTMIN in psiginfo.
2011-02-16 14:41:58 -08:00
Jakub Jelinek
c1d0e639a9
Fix two printf handler issues.
2011-02-15 13:51:48 -05:00
Ulrich Drepper
f57e41a5b8
Fix grouping when rounding increases number of integer digits.
2011-01-12 20:37:51 -05:00
Ulrich Drepper
07eb4b716e
Always allow overwriting printf modifiers etc.
2010-12-24 19:28:32 -05:00
Ulrich Drepper
b76b818e6f
psiginfo relied too much on sys_siglist.
2010-10-11 10:58:31 -04:00
Ulrich Drepper
af3259695d
Unify psiginfo output.
2010-10-11 09:10:41 -04:00
Roland McGrath
c98d4212d0
tst-fmemopen: Do not write test file in $srcdir.
2010-04-19 13:48:00 -07:00
Richard Henderson
68cf34be99
Fix printf format warning for si_band.
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2010-03-26 09:48:44 -07:00
Ulrich Drepper
f095bb7204
Add support for XPG7 testing.
...
The header conformance testing code needed extending for XPG7. This
exposed a few bugs in the headers. There are more changes to come.
2010-01-09 10:56:41 -08:00
Ulrich Drepper
1c52a97a1e
Avoid warning in scanf test.
2009-10-30 09:23:24 -07:00
Ulrich Drepper
7f3146e789
Implement mkstemps and mkstemps64.
2009-10-30 00:11:07 -07:00
Andreas Schwab
199eb0de8d
Check for integer overflows in formatting functions
2009-09-29 06:11:59 -07:00
Ulrich Drepper
003c9895a8
Print sign of NaN values.
2009-08-23 11:57:52 -07:00
Ulrich Drepper
b48a267b8f
Preserve SSE registers in runtime relocations on x86-64.
...
SSE registers are used for passing parameters and must be preserved
in runtime relocations. This is inside ld.so enforced through the
tests in tst-xmmymm.sh. But the malloc routines used after startup
come from libc.so and can be arbitrarily complex. It's overkill
to save the SSE registers all the time because of that. These calls
are rare. Instead we save them on demand. The new infrastructure
put in place in this patch makes this possible and efficient.
2009-07-29 08:33:03 -07:00
Jim Meyering
edeabc047e
remove subsumed .gitignore entries and files
2009-05-16 10:41:40 +02:00
Jim Meyering
8636153326
remove mpn-copy.mk from .gitignore files
2009-05-16 10:38:54 +02:00
Jim Meyering
bb87237534
remove COPYING* from .gitignore files
2009-05-16 10:38:53 +02:00
Jim Meyering
2e180a2622
rename each .cvsignore file to .gitignore
2009-05-15 18:13:37 +02:00
Ulrich Drepper
f521be31b9
* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
...
Avoid warning by using may_alias attribute on ptrhack.
2009-04-26 18:06:47 +00:00
Ulrich Drepper
0c59a1963e
* sysdeps/i386/fpu/s_cos.S: Set errno for ±Inf.
...
* sysdeps/i386/fpu/s_cosf.S: Likewise.
* sysdeps/i386/fpu/s_cosl.S: Likewise.
* sysdeps/i386/fpu/s_sin.S: Likewise.
* sysdeps/i386/fpu/s_sinf.S: Likewise.
* sysdeps/i386/fpu/s_sinl.S: Likewise.
* sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
* sysdeps/ieee754/flt-32/s_cosf.c: Likewise.
* sysdeps/ieee754/flt-32/s_sinf.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_cosl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_sinl.c: Likewise.
* sysdeps/x86_64/fpu/s_cosl.S: Likewise.
* sysdeps/x86_64/fpu/s_sinl.S: Likewise.
* math/libm-test.inc: Add tests for errno after sin/cos calls with
±Inf.
2009-04-26 01:04:54 +00:00
Ulrich Drepper
af9f1c486e
* stdio-common/stdio_lim.h.in (L_cuserid): Not part of POSIX since
...
the 2001 revision.
2009-04-25 16:59:29 +00:00
Ulrich Drepper
57d2da1c67
* stdio-common/psiginfo.c: Include <errno.h>.
2009-04-24 14:05:25 +00:00
Ulrich Drepper
debafa10bc
* stdio-common/printf.h: Add missing const to register_printf_modifier.
...
* stdio-common/reg-modifier.c: Likewise.
2009-04-22 Andrew Stubbs <ams@codesourcery.com>
* sysdeps/sh/sh4/setjmp.S (__sigsetjmp): Adjust JB_SIZE when there
is no FPU.
2009-04-23 01:14:33 +00:00
Ulrich Drepper
84aa52d7e9
* sysdeps/x86-64/strrchr.S: New file.
2009-04-14 05:58:16 +00:00
Ulrich Drepper
9d26efa90c
* stdio-common/printf.h (struct printf_info): Add user element.
...
New types printf_arginfo_size_function, printf_va_arg_function.
Declare register_printf_specifier, register_printf_modifier,
register_printf_type.
* stdio-common/printf-parse.h (struct printf_spec): Add size element.
(union printf_arg): Add pa_user element.
Adjust __printf_arginfo_table type.
Add __printf_va_arg_table, __printf_modifier_table,
__handle_registered_modifier_mb, and __handle_registered_modifier_wc
declarations.
* stdio-common/printf-parsemb.c: Recognize registered modifiers.
If registered arginfo call failed try normal specifier.
* stdio-common/printf-prs.c: Pass additional parameter to arginfo
function.
* stdio-common/Makefile (routines): Add reg-modifier and reg-type.
* stdio-common/Versions: Export register_printf_modifier,
register_printf_type, and register_printf_specifier for GLIBC_2.10.
* stdio-common/reg-modifier.c: New file.
* stdio-common/reg-type.c: New file.
* stdio-common/reg-printf.c (__register_printf_specifier): New
function. Mostly the old __register_printf_function function but
uses locking and type of third parameter changed.
(__register_printf_function): Implement using
__register_printf_specifier.
* stdio-common/vfprintf.c (vfprintf): Collect argument sizes in
calls to arginfo functions. Allocate enough memory for user-defined
types. Call new va_arg functions to get user-defined types.
Try installed handlers even for existing format specifiers first.
2009-04-11 05:34:20 +00:00
Ulrich Drepper
1d498daa95
Simplified code and possible copy problem fixed.
2009-04-10 03:56:06 +00:00
Ulrich Drepper
e9b4d069c1
* stdio-common/vfprintf.c (vfprintf): Slightly more compact code.
2009-04-10 02:51:29 +00:00
Ulrich Drepper
f503060bbb
* libio/stdio.h: dprintf, fmemopen, getdelim, getline,
...
open_memstream, and vdprintf are in POSIX 2008.
2009-02-26 15:44:18 +00:00
Ulrich Drepper
1f04d00542
* locale/langinfo.h: nl_langinfo_l is in POSIX 2008.
...
* locale/xlocale.h: Define locale_t type.
* locale/locale.h: duplocale, freelocale, newlocale, uselocale are
in POSIX 2008. Don't define locale_t here.
* stdlib/monetary.h: strfmon_l is in POSIX 2008.
* signal/signal.h: Declare psignal and psiginfo for POSIX 2008.
* stdio-common/psiginfo.c: New file.
* stdio-common/psiginfo-data.h: New file.
* stdio-common/psiginfo-define.h: New file.
* stdio-common/Makefile (routines): Add psiginfo.
* stdio-common/Versions: Export psiginfo for GLIBC_2.10.
2009-02-26 06:18:24 +00:00
Ulrich Drepper
88a3b8f9ac
[BZ #9823 ]
...
2009-02-06 Ulrich Drepper <drepper@redhat.com>
[BZ #9823 ]
* stdio-common/psignal.c (psignal): Fix test for empty string.
2009-02-06 16:04:28 +00:00
Ulrich Drepper
1311b164df
* stdio-common/printf_fp.c (___printf_fp): Give wide outout code
...
the same treatment as narow output code in last patch.
2008-07-26 16:32:59 +00:00
Ulrich Drepper
3703468e36
[BZ #6698 ]
...
* stdio-common/_i18n_number.h (_i18n_number_rewrite): Take additional
parameter for end of buffer. If temporary copy is too large use
malloc.
* stdio-common/vfprintf.c: Adjust for _i18n_number_rewrite
interface change.
* stdio-common/printf_fp.c (__printf_fp): Likewise.. Account for
string rewrite when allocating buffer.
2008-07-25 23:39:16 +00:00
Ulrich Drepper
9f558b8051
* locale/setlocale.c (setlocale): Take the setlocale lock earlier.
2008-07-20 08:49:18 +00:00
Ulrich Drepper
2486b4965b
* stdio-common/vfprintf.c (_IO_helper_overflow): In case _IO_sputn
...
doesn't manage to write anything, fail.
2008-07-15 18:13:22 +00:00
Ulrich Drepper
75684bd7a8
* stdio-common/Makefile: Add rules to build and run tst-setvbuf1.
...
* stdio-common/tst-setvbuf1.c: New file.
* stdio-common/tst-setvbuf1.expect: New file.
2008-07-08 16:32:55 +00:00
Jakub Jelinek
ad8a551196
* libio/stdio.h (vscanf): Fix -std=c99 redirect.
...
* stdio-common/Makefile (tests): Add scanf16 and scanf17.
(CFLAGS-scanf17.c): New.
* stdio-common/scanf14.c (main): Add fscanf and scanf tests.
* stdio-common/scanf15.c (main): Likewise.
* stdio-common/scanf16.c: New test.
* stdio-common/scanf17.c: New test.
2008-05-24 Jakub Jelinek <jakub@redhat.com>
* libio/stdio.h (vscanf): Fix -std=c99 redirect.
* stdio-common/Makefile (tests): Add scanf16 and scanf17.
(CFLAGS-scanf17.c): New.
* stdio-common/scanf14.c (main): Add fscanf and scanf tests.
* stdio-common/scanf15.c (main): Likewise.
* stdio-common/scanf16.c: New test.
* stdio-common/scanf17.c: New test.
2008-05-24 18:14:36 +00:00
Ulrich Drepper
43f6bec195
* stdio-common/vfprintf.c (vfprintf): Correct overflow test.
2008-03-30 05:39:35 +00:00
Ulrich Drepper
b4354cf420
[BZ #5424 , BZ #5428 , BZ #5451 ]
...
2007-12-08 Ulrich Drepper <drepper@redhat.com>
[BZ #5424 ]
* stdio-common/vfprintf.c: Do not overflow when adding to done.
* stdio-common/Makefile (tests): Add bug22.
* stdio-common/bug22.c: New file.
[BZ #5451 ]
* time/getdate.c: Fix filling in default values.
* time/bug-getdate1.c: New file.
* time/Makefile: Add rules to build and run bug-getdate1.
* iconvdata/ebcdic-is-friss.c: Use 8bit-gap instead of 8bit-generic.
* iconvdata/ebcdic-es.c: Likewise.
* iconvdata/ebcdic-es-a.c: Likewise.
* iconvdata/ebcdic-uk.c: Likewise.
* iconvdata/iso8859-16.c: Likewise.
* iconvdata/viscii.c: Likewise.
* iconvdata/iso8859-9e.c: Likewise.
* iconvdata/Makefile: Adjust appropriately.
[BZ #5428 ]
* wcsmbs/wchar.h: Unconditionally undefine __need_mbstate and
__need_wint_t.
* iconvdata/gconv-modules: Likewise.
2007-12-10 01:43:40 +00:00
Ulrich Drepper
26e21e7554
[BZ #5441 , BZ #5452 , BZ #5454 ]
...
2007-12-07 Ulrich Drepper <drepper@redhat.com>
[BZ #5441 ]
* stdio-common/vfscanf.c (_IO_vfwscanf): Don't free ptrs_to_free
structure, it's allocated with alloca.
* stdio-common/Makefile (tests): Add bug21.
* stdio-common/bug21.c: New file.
2007-12-06 Aurelien Jarno <aurelien@aurel32.net>
[BZ #5452 ]
* sysdeps/unix/sysv/linux/bits/sched.h: Use __extension__
keyword for gcc's braced-groups.
2007-12-07 Ulrich Drepper <drepper@redhat.com>
[BZ #5454 ]
* inet/ether_line.c: Strip hostname of whitespaces.
* inet/Makefile (tests): Add tst-ether_line.
* inet/tst-ether_line.c: New file.
2007-12-07 16:50:11 +00:00
Ulrich Drepper
9ca230d62f
* stdio-common/vfprintf.c (vfprintf): Compute necessary buffer size
...
with size_t type.
* stdio-common/printf_fp.c (__print_fp): Change chars_needed type to
size_t. Add casts where needed.
2007-11-06 21:38:49 +00:00
Ulrich Drepper
22c915ac42
* stdio-common/Makefile (tests): Add bug20.
...
* stdio-common/bug20.c: New file.
2007-10-28 16:45:27 +00:00
Ulrich Drepper
4c6b2202cb
[BZ #5225 ]
...
* stdio-common/vfscanf.c (_IO_vfwscanf): Don't misuse wp pointer
to keep track of end of %[ format string element.
2007-10-28 08:58:24 +00:00
Ulrich Drepper
c06b7169e4
* stdio-common/printf-parse.h: Include string.h and wchar.h.
...
(__find_specwc): Change into __extern_always_inline function.
(__find_specmb): Likewise. Remove ps argument. Use __strchrnul.
(__parse_one_specmb): Remove ps argument.
* stdio-common/vfprintf.c (vfprintf): Remove mbstate variable.
Adjust __find_specmb and __parse_one_specmb callers.
* stdio-common/printf-prs.c (parse_printf_format): Likewise.
* stdio-common/printf-parsemb.c (__find_specwc, __find_specmb):
Removed.
(__parse_one_specmb): Remove ps argument, adjust __find_specmb
caller.
2007-10-10 20:14:12 +00:00
Ulrich Drepper
874aa52349
* include/stdio.h (__isoc99_fscanf, __isoc99_scanf,
...
__isoc99_sscanf, __isoc99_vscanf): New prototypes.
(__isoc99_vsscanf, __isoc99_vfscanf): New prototypes, add
libc_hidden_proto.
* include/wchar.h (__isoc99_fwscanf, __isoc99_wscanf,
__isoc99_swscanf, __isoc99_vwscanf): New prototypes.
(__isoc99_vswscanf, __isoc99_vfwscanf): New prototypes,
add libc_hidden_proto.
* libio/stdio.h (fscanf, scanf, sscanf, vfscanf, vscanf,
vsscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX
conformance requested.
* wcsmbs/wchar.h (fwscanf, wscanf, swscanf, vfwscanf, vwscanf,
vswscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX
conformance requested.
* libio/bits/stdio-ldbl.h (fscanf, scanf, sscanf, vfscanf, vscanf,
vsscanf): Redirect to __nldbl___isoc99_* if strict ISO C99 or POSIX
conformance requested.
* wcsmbs/bits/wchar-ldbl.h (fwscanf, wscanf, swscanf, vfwscanf,
vwscanf, vswscanf): Redirect to __nldbl___isoc99_* if strict
ISO C99 or POSIX conformance requested.
* stdio-common/Versions (libc): Export __isoc99_scanf@@GLIBC_2.7,
__isoc99_vscanf@@GLIBC_2.7, __isoc99_fscanf@@GLIBC_2.7,
__isoc99_vfscanf@@GLIBC_2.7, __isoc99_sscanf@@GLIBC_2.7
and __isoc99_vsscanf@@GLIBC_2.7.
* stdio-common/Makefile (routines): Add isoc99_scanf, isoc99_vscanf,
isoc99_fscanf, isoc99_vfscanf, isoc99_sscanf and isoc99_vsscanf.
(tests): Add scanf14.
(CFLAGS-vfprintf.c, CFLAGS-fprintf.c, CFLAGS-printf.c,
CFLAGS-vfwprintf.c, CFLAGS-vfscanf.c, CFLAGS-vfwscanf.c,
CFLAGS-fscanf.c, CFLAGS-scanf.c, CFLAGS-isoc99_vfscanf.c,
CFLAGS-isoc99_vscanf.c, CFLAGS-isoc99_fscanf.c,
CFLAGS-isoc99_scanf.c): Add $(exceptions).
(CFLAGS-scanf15.c): Add various -I paths to prevent the compiler
from using internal headers.
* wcsmbs/Versions (libc): Export __isoc99_wscanf@@GLIBC_2.7,
__isoc99_vwscanf@@GLIBC_2.7, __isoc99_fwscanf@@GLIBC_2.7,
__isoc99_vfwscanf@@GLIBC_2.7, __isoc99_swscanf@@GLIBC_2.7
and __isoc99_vswscanf@@GLIBC_2.7.
* wcsmbs/Makefile (routines): Add isoc99_wscanf, isoc99_vwscanf,
isoc99_fwscanf, isoc99_vfwscanf, isoc99_swscanf and isoc99_vswscanf.
(CFLAGS-isoc99_wscanf.c, CFLAGS-isoc99_fwscanf.c,
CFLAGS-isoc99_vwscanf.c, CFLAGS-isoc99_vfwscanf.c): Add $(exceptions).
(CPPFLAGS): Add -D_IO_MTSAFE_IO if needed.
* stdio-common/isoc99_scanf.c: New file.
* stdio-common/isoc99_vsscanf.c: New file.
* stdio-common/isoc99_vscanf.c: New file.
* stdio-common/isoc99_vfscanf.c: New file.
* stdio-common/isoc99_fscanf.c: New file.
* stdio-common/isoc99_sscanf.c: New file.
* wcsmbs/isoc99_fwscanf.c: New file.
* wcsmbs/isoc99_vswscanf.c: New file.
* wcsmbs/isoc99_swscanf.c: New file.
* wcsmbs/isoc99_wscanf.c: New file.
* wcsmbs/isoc99_vwscanf.c: New file.
* wcsmbs/isoc99_vfwscanf.c: New file.
* libio/libio.h (_IO_FLAGS2_SCANF_STD): Define.
* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Also
clear _IO_FLAGS2_SCANF_STD bit from _flags2.
* stdio-common/vfscanf.c (_IO_vfscanf_internal): Don't
handle %as, %aS and %a[ if _IO_FLAGS2_SCANF_STD is set in _flags2.
* stdio-common/scanf14.c: New test.
* stdio-common/scanf15.c: New test.
* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add
isoc99_scanf, isoc99_fscanf, isoc99_sscanf,
isoc99_vscanf, isoc99_vfscanf, isoc99_vsscanf,
isoc99_wscanf, isoc99_fwscanf, isoc99_swscanf,
isoc99_vwscanf, isoc99_vfwscanf and isoc99_vswscanf.
* sysdeps/ieee754/ldbl-opt/Versions (libc): Export
__nldbl___isoc99_scanf@@GLIBC_2.7,
__nldbl___isoc99_fscanf@@GLIBC_2.7,
__nldbl___isoc99_sscanf@@GLIBC_2.7,
__nldbl___isoc99_vscanf@@GLIBC_2.7,
__nldbl___isoc99_vfscanf@@GLIBC_2.7,
__nldbl___isoc99_vsscanf@@GLIBC_2.7,
__nldbl___isoc99_wscanf@@GLIBC_2.7,
__nldbl___isoc99_fwscanf@@GLIBC_2.7,
__nldbl___isoc99_swscanf@@GLIBC_2.7,
__nldbl___isoc99_vwscanf@@GLIBC_2.7,
__nldbl___isoc99_vfwscanf@@GLIBC_2.7
and __nldbl___isoc99_vswscanf@@GLIBC_2.7.
* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__isoc99_scanf,
__isoc99_fscanf, __isoc99_sscanf, __isoc99_vscanf,
__isoc99_vfscanf, __isoc99_vsscanf, __isoc99_wscanf,
__isoc99_fwscanf, __isoc99_swscanf, __isoc99_vwscanf,
__isoc99_vfwscanf, __isoc99_vswscanf): Add NLDBL_DECL.
* sysdeps/ieee754/ldbl-opt/nldbl-compat.c
(__nldbl___isoc99_scanf, __nldbl___isoc99_fscanf,
__nldbl___isoc99_sscanf, __nldbl___isoc99_vscanf,
__nldbl___isoc99_vfscanf, __nldbl___isoc99_vsscanf,
__nldbl___isoc99_wscanf, __nldbl___isoc99_fwscanf,
__nldbl___isoc99_swscanf, __nldbl___isoc99_vwscanf,
__nldbl___isoc99_vfwscanf, __nldbl___isoc99_vswscanf): New
functions.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_swscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vwscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_wscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_scanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_sscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vsscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fwscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfwscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vswscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vscanf.c: New file.
* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fscanf.c: New file.
* stdio-common/Makefile (tests): Add scanf13.
(scanf13-ENV): New.
* stdio-common/vfscanf.c (_IO_vfscanf_internal): Handle
m modifier followed by l.
(STRING_ARG): Add width argument.
(_IO_vfscanf_internal) <case L_('c')>: Handle %mc.
<case L_('C')>: Handle %mlc and %mC.
<case L_('s'), case L_('S'), case L_('[')>: Adjust STRING_ARG
arguments.
* stdio-common/scanf13.c: New test.
* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Clear
the _IO_FLAGS2_FORTIFY bit from _flags2 rather than _flags.
type and __THROW marker of splice, vmsplice, and tee.
2007-09-18 19:04:01 +00:00
Ulrich Drepper
267c54dcef
* stdio-common/vfscanf.c (_IO_vfwscanf): Add support for 'm'
...
modifier. Patch by Jakub Jelinek.
2007-09-15 22:49:46 +00:00
Ulrich Drepper
01339a6709
* stdio-common/Makefile: Avoid format string warning for tst-sprint.
2007-08-26 01:49:11 +00:00
Ulrich Drepper
7d55c9eb43
[BZ #4588 ]
...
* stdio-common/tempnam.c: Fix comment, it is not checked that
TMPDIR points to a writable directory.
2007-08-22 06:49:40 +00:00