mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-27 11:43:34 +08:00
Update.
* stdlib/strfmon.c [USE_IN_LIBIO]: Define lock variable and store point in FILE structure before calling _IO_init. * stdlib/Makefile: Add -D_IO_MTSAFE_IO to CFLAGS for strfmon and strfmon_l if necessary. Reported by Jury Gerold <gjury@grips.com>.
This commit is contained in:
parent
054d2bf7cc
commit
917e27b827
@ -1,5 +1,11 @@
|
||||
2001-02-07 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* stdlib/strfmon.c [USE_IN_LIBIO]: Define lock variable and store
|
||||
point in FILE structure before calling _IO_init.
|
||||
* stdlib/Makefile: Add -D_IO_MTSAFE_IO to CFLAGS for strfmon and
|
||||
strfmon_l if necessary.
|
||||
Reported by Jury Gerold <gjury@grips.com>.
|
||||
|
||||
* sysdeps/gnu/netinet/tcp.h: Correct values of TCP_ macros.
|
||||
Patch by Pekka.Pietikainen@cern.ch.
|
||||
|
||||
|
@ -74,6 +74,13 @@ CFLAGS-bsearch.c = $(exceptions)
|
||||
CFLAGS-msort.c = $(exceptions)
|
||||
CFLAGS-qsort.c = $(exceptions)
|
||||
|
||||
include ../Makeconfig
|
||||
|
||||
ifneq (,$(filter %REENTRANT, $(defines)))
|
||||
CFLAGS-strfmon.c = -D_IO_MTSAFE_IO
|
||||
CFLAGS-strfmon_l.c = -D_IO_MTSAFE_IO
|
||||
endif
|
||||
|
||||
include ../Rules
|
||||
|
||||
|
||||
|
@ -101,6 +101,9 @@ __strfmon_l (char *s, size_t maxsize, __locale_t loc, const char *format, ...)
|
||||
#endif
|
||||
#ifdef USE_IN_LIBIO
|
||||
_IO_strfile f;
|
||||
# ifdef _IO_MTSAFE_IO
|
||||
_IO_lock_t lock;
|
||||
# endif
|
||||
#else
|
||||
FILE f;
|
||||
#endif
|
||||
@ -525,6 +528,9 @@ __strfmon_l (char *s, size_t maxsize, __locale_t loc, const char *format, ...)
|
||||
|
||||
/* Print the number. */
|
||||
#ifdef USE_IN_LIBIO
|
||||
# ifdef _IO_MTSAFE_IO
|
||||
f._sbf._f._lock = &lock;
|
||||
# endif
|
||||
_IO_init ((_IO_FILE *) &f, 0);
|
||||
_IO_JUMPS ((struct _IO_FILE_plus *) &f) = &_IO_str_jumps;
|
||||
_IO_str_init_static ((_IO_strfile *) &f, dest, (s + maxsize) - dest, dest);
|
||||
|
Loading…
Reference in New Issue
Block a user