Fix an obvious typo that broke time specifications of the form
"2 hours ago".
This commit is contained in:
parent
de52ceebca
commit
3fd25813ed
@ -369,8 +369,8 @@ relunitphrase(struct gdstate *gds)
|
||||
&& gds->tokenp[1].token == tSEC_UNIT) {
|
||||
/* "1 day" */
|
||||
gds->HaveRel++;
|
||||
gds->RelSeconds += gds->tokenp[1].value * gds->tokenp[2].value;
|
||||
gds->tokenp += 3;
|
||||
gds->RelSeconds += gds->tokenp[0].value * gds->tokenp[1].value;
|
||||
gds->tokenp += 2;
|
||||
return 1;
|
||||
}
|
||||
if (gds->tokenp[0].token == '-'
|
||||
@ -403,7 +403,7 @@ relunitphrase(struct gdstate *gds)
|
||||
/* "now", "tomorrow" */
|
||||
gds->HaveRel++;
|
||||
gds->RelSeconds += gds->tokenp[0].value;
|
||||
++gds->tokenp;
|
||||
gds->tokenp += 1;
|
||||
return 1;
|
||||
}
|
||||
if (gds->tokenp[0].token == tMONTH_UNIT) {
|
||||
@ -1022,10 +1022,11 @@ int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
time_t d;
|
||||
time_t now = time(NULL);
|
||||
|
||||
while (*++argv != NULL) {
|
||||
(void)printf("Input: %s\n", *argv);
|
||||
d = get_date(*argv);
|
||||
d = get_date(now, *argv);
|
||||
if (d == -1)
|
||||
(void)printf("Bad format - couldn't convert.\n");
|
||||
else
|
||||
|
@ -43,6 +43,8 @@ DEFINE_TEST(test_archive_getdate)
|
||||
assertEqualInt(get_date(now, "2004/01/29 513 mest"), 1075345980);
|
||||
assertEqualInt(get_date(now, "99/02/17 7pm utc"), 919278000);
|
||||
assertEqualInt(get_date(now, "02/17/99 7:11am est"), 919253460);
|
||||
assertEqualInt(get_date(now, "now - 2 hours"),
|
||||
get_date(now, "2 hours ago"));
|
||||
/* It's important that we handle ctime() format. */
|
||||
assertEqualInt(get_date(now, "Sun Feb 22 17:38:26 PST 2009"),
|
||||
1235353106);
|
||||
@ -77,5 +79,6 @@ DEFINE_TEST(test_archive_getdate)
|
||||
/* "last tuesday" is one week before "tuesday" */
|
||||
assertEqualInt(get_date(now, "last tuesday UTC"),
|
||||
now - 6 * 24 * 60 * 60);
|
||||
|
||||
/* TODO: Lots more tests here. */
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user