From 74e0bcfc0f3fc3c38941675d2338b3d11f41989a Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 12 Dec 2011 10:48:29 +0000 Subject: * libc/time/strftime.c (get_era_info): Fix off-by-one error in month calculation. --- newlib/libc/time/strftime.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'newlib/libc/time/strftime.c') diff --git a/newlib/libc/time/strftime.c b/newlib/libc/time/strftime.c index f4704b62d..840e310db 100644 --- a/newlib/libc/time/strftime.c +++ b/newlib/libc/time/strftime.c @@ -426,7 +426,7 @@ get_era_info (const struct tm *tim_p, const char *era) /* Adjust offset for negative gregorian dates. */ if (stm.tm_year <= -YEAR_BASE) ++stm.tm_year; - stm.tm_mon = ERA_STRTOL (c + 1, &c, 10); + stm.tm_mon = ERA_STRTOL (c + 1, &c, 10) - 1; stm.tm_mday = ERA_STRTOL (c + 1, &c, 10); stm.tm_hour = stm.tm_min = stm.tm_sec = 0; era = c + 1; @@ -440,7 +440,7 @@ get_era_info (const struct tm *tim_p, const char *era) else if (era[0] == '+' && era[1] == '*') { etm.tm_year = INT_MAX; - etm.tm_mon = 12; + etm.tm_mon = 11; etm.tm_mday = 31; etm.tm_hour = 23; etm.tm_min = etm.tm_sec = 59; @@ -452,7 +452,7 @@ get_era_info (const struct tm *tim_p, const char *era) /* Adjust offset for negative gregorian dates. */ if (etm.tm_year <= -YEAR_BASE) ++etm.tm_year; - etm.tm_mon = ERA_STRTOL (c + 1, &c, 10); + etm.tm_mon = ERA_STRTOL (c + 1, &c, 10) - 1; etm.tm_mday = ERA_STRTOL (c + 1, &c, 10); etm.tm_mday = 31; etm.tm_hour = 23; -- cgit v1.2.3