diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | linuxthreads/condvar.c | 2 | ||||
-rw-r--r-- | stdio-common/vfprintf.c | 12 |
3 files changed, 10 insertions, 7 deletions
@@ -1,5 +1,8 @@ 2000-02-14 Ulrich Drepper <drepper@redhat.com> + * stdio-common/vfprintf.c (vfprintf): Initialize thousands_sep. + Define and initialize use_outdigits in the inner loops. + * sysdeps/posix/sigwait.c: Don't look for signal 0 since it does not exist. Patch by Miloslav Trmac <mitr@volny.cz> (PR libc/1601). diff --git a/linuxthreads/condvar.c b/linuxthreads/condvar.c index 6d54291de6..410ca65af0 100644 --- a/linuxthreads/condvar.c +++ b/linuxthreads/condvar.c @@ -257,7 +257,7 @@ pthread_cond_timedwait_relative_old(pthread_cond_t *cond, static int pthread_cond_timedwait_relative_new(pthread_cond_t *cond, pthread_mutex_t *mutex, - struct timespec * reltime) + const struct timespec * abstime) { volatile pthread_descr self = thread_self(); sigset_t unblock, initial_mask; diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c index d17367fd15..51fd3115ee 100644 --- a/stdio-common/vfprintf.c +++ b/stdio-common/vfprintf.c @@ -232,9 +232,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap) { /* The character used as thousands separator. */ #ifdef COMPILE_WPRINTF - wchar_t thousands_sep; + wchar_t thousands_sep = L'\0'; #else - const char *thousands_sep; + const char *thousands_sep = NULL; #endif /* The string describing the size of groups of digits. */ @@ -267,10 +267,6 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap) /* Count number of specifiers we already processed. */ int nspecs_done; - /* This flag is set by the 'I' modifier and selects the use of the - `outdigits' as determined by the current locale. */ - int use_outdigits; - /* For the %m format we may need the current `errno' value. */ int save_errno = errno; @@ -1292,6 +1288,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap) int is_char = 0; /* Argument is promoted (unsigned) char. */ int width = 0; /* Width of output; 0 means none specified. */ int prec = -1; /* Precision of output; -1 means none specified. */ + /* This flag is set by the 'I' modifier and selects the use of the + `outdigits' as determined by the current locale. */ + int use_outdigits = 0; UCHAR_T pad = L_(' ');/* Padding character. */ CHAR_T spec; @@ -1680,6 +1679,7 @@ do_positional: int is_long = specs[nspecs_done].info.is_long; int width = specs[nspecs_done].info.width; int prec = specs[nspecs_done].info.prec; + int use_outdigits = specs[nspecs_done].info.i18n; char pad = specs[nspecs_done].info.pad; CHAR_T spec = specs[nspecs_done].info.spec; |