Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Feb 2013 06:06:40 +0000 (UTC)
From:      Tim Kientzle <kientzle@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r246229 - in head/contrib/libarchive/libarchive: . test
Message-ID:  <201302020606.r1266eFA027035@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kientzle
Date: Sat Feb  2 06:06:39 2013
New Revision: 246229
URL: http://svnweb.freebsd.org/changeset/base/246229

Log:
  Fix an obvious typo that broke time specifications of the form
  "2 hours ago".

Modified:
  head/contrib/libarchive/libarchive/archive_getdate.c
  head/contrib/libarchive/libarchive/test/test_archive_getdate.c

Modified: head/contrib/libarchive/libarchive/archive_getdate.c
==============================================================================
--- head/contrib/libarchive/libarchive/archive_getdate.c	Sat Feb  2 06:01:57 2013	(r246228)
+++ head/contrib/libarchive/libarchive/archive_getdate.c	Sat Feb  2 06:06:39 2013	(r246229)
@@ -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

Modified: head/contrib/libarchive/libarchive/test/test_archive_getdate.c
==============================================================================
--- head/contrib/libarchive/libarchive/test/test_archive_getdate.c	Sat Feb  2 06:01:57 2013	(r246228)
+++ head/contrib/libarchive/libarchive/test/test_archive_getdate.c	Sat Feb  2 06:06:39 2013	(r246229)
@@ -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. */
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302020606.r1266eFA027035>