From c3966b88eeb1e0b5726ca16a70a94269d40ee152 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 31 Jul 1998 11:14:46 +0000 Subject: Update. 1998-07-31 11:10 Ulrich Drepper * elf/elf.h: Add lots of new symbols from Irix and Solaris. * sysdeps/unix/sysv/linux/sigstack.c: Include stddef.h to get NULL definition. 1998-07-31 Thorsten Kukuk * sunrpc/xcrypt.c: Use only the first 8 characters of the password. 1998-07-30 21:06 -0400 Zack Weinberg * sysdeps/generic/glob.c: Undefine strdup before defining it, because bits/string2.h may have defined it already. 1998-07-29 Andreas Schwab * stdio-common/vfscanf.c: Optimize looking for type modifiers. Fix recognition of 'a' modifier vs. 'a' format. (TYPEMOD): Removed. * stdio-common/printf-parse.h (parse_one_spec): Optimize looking for type modifiers. Fix recognition of 'hh' modifier. 1998-07-31 Thorsten Kukuk * sunrpc/svc_unix.c: Fix typo. 1998-07-31 Thorsten Kukuk * sysdeps/unix/sysv/linux/recvmsg.c: Don't check for SCM_CREDS before syscall. --- stdio-common/printf-parse.h | 94 ++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 47 deletions(-) (limited to 'stdio-common/printf-parse.h') diff --git a/stdio-common/printf-parse.h b/stdio-common/printf-parse.h index 61468eb..4f217ab 100644 --- a/stdio-common/printf-parse.h +++ b/stdio-common/printf-parse.h @@ -271,54 +271,54 @@ parse_one_spec (const UCHAR_T *format, size_t posn, struct printf_spec *spec, spec->info.is_long = 0; spec->info.is_char = 0; - if (*format == L_('h') || *format == L_('l') || *format == L_('L') || - *format == L_('Z') || *format == L_('q') || *format == L_('z') || - *format == L_('t') || *format == L_('j')) - switch (*format++) - { - case L_('h'): - /* int's are short int's. */ - if (spec->info.is_short == 0) - spec->info.is_short = 1; - else - { - spec->info.is_short = 0; - spec->info.is_char = 1; - } - break; - case L_('l'): - /* int's are long int's. */ - spec->info.is_long = 1; - if (*format != L_('l')) - break; - ++format; - /* FALLTHROUGH */ - case L_('L'): - /* double's are long double's, and int's are long long int's. */ - case L_('q'): - /* 4.4 uses this for long long. */ - spec->info.is_long_double = 1; - break; - case L_('z'): - case L_('Z'): - /* int's are size_t's. */ - assert (sizeof (size_t) <= sizeof (unsigned long long int)); - spec->info.is_longlong = sizeof (size_t) > sizeof (unsigned long int); - spec->info.is_long = sizeof (size_t) > sizeof (unsigned int); - break; - case L_('t'): - assert (sizeof (ptrdiff_t) <= sizeof (unsigned long long int)); - spec->info.is_longlong = (sizeof (ptrdiff_t) - > sizeof (unsigned long int)); - spec->info.is_long = sizeof (ptrdiff_t) > sizeof (unsigned int); - break; - case L_('j'): - assert (sizeof (intmax_t) <= sizeof (unsigned long long int)); - spec->info.is_longlong = (sizeof (intmax_t) - > sizeof (unsigned long int)); - spec->info.is_long = sizeof (intmax_t) > sizeof (unsigned int); + switch (*format++) + { + case L_('h'): + /* ints are short ints or chars. */ + if (*format != L_('h')) + spec->info.is_short = 1; + else + { + ++format; + spec->info.is_char = 1; + } + break; + case L_('l'): + /* ints are long ints. */ + spec->info.is_long = 1; + if (*format != L_('l')) break; - } + ++format; + /* FALLTHROUGH */ + case L_('L'): + /* doubles are long doubles, and ints are long long ints. */ + case L_('q'): + /* 4.4 uses this for long long. */ + spec->info.is_long_double = 1; + break; + case L_('z'): + case L_('Z'): + /* ints are size_ts. */ + assert (sizeof (size_t) <= sizeof (unsigned long long int)); + spec->info.is_longlong = sizeof (size_t) > sizeof (unsigned long int); + spec->info.is_long = sizeof (size_t) > sizeof (unsigned int); + break; + case L_('t'): + assert (sizeof (ptrdiff_t) <= sizeof (long long int)); + spec->info.is_longlong = (sizeof (ptrdiff_t) > sizeof (long int)); + spec->info.is_long = sizeof (ptrdiff_t) > sizeof (int); + break; + case L_('j'): + assert (sizeof (uintmax_t) <= sizeof (unsigned long long int)); + spec->info.is_longlong = (sizeof (uintmax_t) + > sizeof (unsigned long int)); + spec->info.is_long = sizeof (uintmax_t) > sizeof (unsigned int); + break; + default: + /* Not a recognized modifier. Backup. */ + --format; + break; + } /* Get the format specification. */ spec->info.spec = (wchar_t) *format++; -- cgit v1.1