Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-12-12 14:48:29 +0400
committerCorinna Vinschen <corinna@vinschen.de>2011-12-12 14:48:29 +0400
commit74e0bcfc0f3fc3c38941675d2338b3d11f41989a (patch)
treef370e2137bee45d3a257447729f0be224f50507c /newlib/libc
parentcdce73f183d46a202c632486d5bd82d515cb05be (diff)
* libc/time/strftime.c (get_era_info): Fix off-by-one error in month
calculation.
Diffstat (limited to 'newlib/libc')
-rw-r--r--newlib/libc/time/strftime.c6
1 files changed, 3 insertions, 3 deletions
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;