diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-07-28 19:10:22 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-07-28 19:10:22 +0000 |
commit | ae1ad762f0687afb37761085cb6e83305afe4521 (patch) | |
tree | 973b7a88bdce24bdb712ad21f82a569900e7a733 /time/strptime_l.c | |
parent | fa69dc9caf8fff3e7ebb6da6dbbe144b314277f4 (diff) | |
download | glibc-ae1ad762f0687afb37761085cb6e83305afe4521.zip glibc-ae1ad762f0687afb37761085cb6e83305afe4521.tar.gz glibc-ae1ad762f0687afb37761085cb6e83305afe4521.tar.bz2 |
[BZ #4772]
* time/strptime_l.c (__strptime_internal): Silently ignore
strftime modifiers and field width in recursive calls.
Diffstat (limited to 'time/strptime_l.c')
-rw-r--r-- | time/strptime_l.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/time/strptime_l.c b/time/strptime_l.c index 0305fd5..59a557c 100644 --- a/time/strptime_l.c +++ b/time/strptime_l.c @@ -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: |