* time/strptime_l.c (__strptime_internal): Silently ignore
	strftime modifiers and field width in recursive calls.
This commit is contained in:
Ulrich Drepper 2007-07-28 19:10:22 +00:00
parent fa69dc9caf
commit ae1ad762f0
2 changed files with 16 additions and 0 deletions

View File

@ -1,5 +1,9 @@
2007-07-20 Jakub Jelinek <jakub@redhat.com>
[BZ #4772]
* time/strptime_l.c (__strptime_internal): Silently ignore
strftime modifiers and field width in recursive calls.
* include/time.h (enum ptime_locale_status): Remove.
(__strptime_internal): Remove decided and era_cnt arguments,
add statep argument.

View File

@ -330,6 +330,18 @@ __strptime_internal (rp, fmt, tmp, statep LOCALE_PARAM)
}
++fmt;
if (statep != NULL)
{
/* In recursive calls silently discard strftime modifiers. */
while (*fmt == '-' || *fmt == '_' || *fmt == '0'
|| *fmt == '^' || *fmt == '#')
++fmt;
/* And field width. */
while (*fmt >= '0' && *fmt <= '9')
++fmt;
}
#ifndef _NL_CURRENT
/* We need this for handling the `E' modifier. */
start_over: