diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-12-04 20:58:15 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-12-04 20:58:15 +0000 |
commit | a6ff34d7b0b59a1ad501dca25558ba21f6e539bb (patch) | |
tree | eabe576c69bb878112d903d1e08836bab8c8aed1 /time/strptime.c | |
parent | fcb7e0a5f7722609d78739d8ef590fcfd2ed2109 (diff) | |
download | glibc-a6ff34d7b0b59a1ad501dca25558ba21f6e539bb.tar.gz |
Update.
1998-12-04 Ulrich Drepper <drepper@cygnus.com>
* argp/argp.h: Add __retrict.
* dirent/dirent.h: Likewise.
* elf/dlfcn.h: Likewise.
* grp/grp.h: Likewise.
* iconv/iconv.h: Likewise.
* inet/aliases.h: Likewise.
* libio/libio.h: Likewise.
* libio/stdio.h: Likewise.
* locale/locale.h: Likewise.
* misc/mntent.h: Likewise.
* posix/wordexp.h: Likewise.
* pwd/pwd.h: Likewise.
* resolv/netdb.h: Likewise.
* rt/aio.h: Likewise.
* stdio-common/printf.h: Likewise.
* stdlib/monetary.h: Likewise.
* stdlib/stdlib.h: Likewise.
* string/argz.h: Likewise.
* string/envz.h: Likewise.
* string/string.h: Likewise.
* time/time.h: Likewise.
1998-12-04 Zack Weinberg <zack@rabi.phys.columbia.edu>
* misc/sys/cdefs.h: Only include features.h if _FEATURES_H isn't
defined. gcc's redundant include optimizer isn't clever enough to
prevent a reinclusion here.
Define __restrict to the empty string only if not GCC or
GCC version less than 2.92.
1998-12-03 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/configure.in: Fix last change.
1998-12-03 Mark Kettenis <kettenis@phys.uva.nl>
* time/strptime.c (strptime_internal): Make use of `%C' format
specifier if it is seen together with the `%y' specifier.
1998-12-04 Ulrich Drepper <drepper@cygnus.com>
* po/sk.po: New file.
1998-12-03 Scott Bambrough <scottb@corelcomputer.com>
* sysdeps/arm/dl-machine.h (dl_start_user): Incorrect address
for _dl_main_searchlist passed to _dl_init_next.
1998-12-02 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* math/libm-test.c: Expand literal tabs in strings. Normalize
whitespace.
1998-12-02 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/sys/fsuid.h: Fix spelling.
Diffstat (limited to 'time/strptime.c')
-rw-r--r-- | time/strptime.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/time/strptime.c b/time/strptime.c index d126b14616..a26da5a88c 100644 --- a/time/strptime.c +++ b/time/strptime.c @@ -203,10 +203,13 @@ strptime_internal (buf, format, tm, decided) int cnt; size_t val; int have_I, is_pm; + int century, want_century; rp = buf; fmt = format; have_I = is_pm = 0; + century = -1; + want_century = 0; while (*fmt != '\0') { @@ -343,7 +346,7 @@ strptime_internal (buf, format, tm, decided) case 'C': /* Match century number. */ get_number (0, 99); - /* We don't need the number. */ + century = val; break; case 'd': case 'e': @@ -548,11 +551,14 @@ strptime_internal (buf, format, tm, decided) /* The "Year 2000 :The Millennium Rollover" paper suggests that values in the range 69-99 refer to the twentieth century. */ tm->tm_year = val >= 69 ? val : val + 100; + /* Indicate that we want to use the century, if specified + want_century = 1; break; case 'Y': /* Match year including century number. */ get_number (0, 9999); tm->tm_year = val - 1900; + want_century = 0; break; case 'Z': /* XXX How to handle this? */ @@ -725,6 +731,9 @@ strptime_internal (buf, format, tm, decided) if (have_I && is_pm) tm->tm_hour += 12; + if (want_century && century != -1) + tm->tm_year = tm->tm_year % 100 + (century - 19) * 100; + return (char *) rp; } |