diff options
author | Stuart Bishop <stuart@stuartbishop.net> | 2008-03-10 15:13:56 +0700 |
---|---|---|
committer | Stuart Bishop <stuart@stuartbishop.net> | 2008-03-10 15:13:56 +0700 |
commit | 9dfa298381fde0a85eebde06bb31286112bf9ff3 (patch) | |
tree | fab8870c5de014937162de5f497f3fb289f254dd /elsie.nci.nih.gov/src/localtime.c | |
parent | 63ad70f3ccb324810c704fc59edfb1d7ea363f91 (diff) | |
download | pytz-9dfa298381fde0a85eebde06bb31286112bf9ff3.tar.gz |
Update to 2008a
Diffstat (limited to 'elsie.nci.nih.gov/src/localtime.c')
-rw-r--r-- | elsie.nci.nih.gov/src/localtime.c | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/elsie.nci.nih.gov/src/localtime.c b/elsie.nci.nih.gov/src/localtime.c index cfebf8b..d186080 100644 --- a/elsie.nci.nih.gov/src/localtime.c +++ b/elsie.nci.nih.gov/src/localtime.c @@ -5,7 +5,7 @@ #ifndef lint #ifndef NOID -static char elsieid[] = "@(#)localtime.c 8.8"; +static char elsieid[] = "@(#)localtime.c 8.9"; #endif /* !defined NOID */ #endif /* !defined lint */ @@ -555,16 +555,23 @@ register const int doextend; sp->ttis[sp->typecnt++] = ts.ttis[1]; } } - i = 2 * YEARSPERREPEAT; - sp->goback = sp->goahead = sp->timecnt > i; - sp->goback = sp->goback && - typesequiv(sp, sp->types[i], sp->types[0]) && - differ_by_repeat(sp->ats[i], sp->ats[0]); - sp->goahead = sp->goahead && - typesequiv(sp, sp->types[sp->timecnt - 1], - sp->types[sp->timecnt - 1 - i]) && - differ_by_repeat(sp->ats[sp->timecnt - 1], - sp->ats[sp->timecnt - 1 - i]); + sp->goback = sp->goahead = FALSE; + if (sp->timecnt > 1) { + for (i = 1; i < sp->timecnt; ++i) + if (typesequiv(sp, sp->types[i], sp->types[0]) && + differ_by_repeat(sp->ats[i], sp->ats[0])) { + sp->goback = TRUE; + break; + } + for (i = sp->timecnt - 2; i >= 0; --i) + if (typesequiv(sp, sp->types[sp->timecnt - 1], + sp->types[i]) && + differ_by_repeat(sp->ats[sp->timecnt - 1], + sp->ats[i])) { + sp->goahead = TRUE; + break; + } + } return 0; } |