]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fix refactoring error in archive_matching. archive_matching_exclude_entry
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>
Tue, 7 Feb 2012 16:07:58 +0000 (01:07 +0900)
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>
Tue, 7 Feb 2012 16:07:58 +0000 (01:07 +0900)
made opposite effect.

libarchive/archive_matching.c
libarchive/test/test_archive_matching_time.c

index a3532386c3ff2d203dbc01d9052c9c75bf5ce34e..a28fdd5548b4d4a364d6223517b301f2a4a780c1 100644 (file)
@@ -1336,40 +1336,40 @@ time_excluded(struct archive_matching *a, struct archive_entry *entry)
        if (f->flag & ARCHIVE_MATCHING_CTIME) {
                sec = archive_entry_ctime(entry);
                if (f->ctime_sec > sec) {
-                       if (f->flag & ARCHIVE_MATCHING_NEWER)
+                       if (f->flag & ARCHIVE_MATCHING_OLDER)
                                return (1);
                } else if (f->ctime_sec < sec) {
-                       if (f->flag & ARCHIVE_MATCHING_OLDER)
+                       if (f->flag & ARCHIVE_MATCHING_NEWER)
                                return (1);
                } else {
                        nsec = archive_entry_ctime_nsec(entry);
                        if (f->ctime_nsec > nsec) {
-                               if (f->flag & ARCHIVE_MATCHING_NEWER)
+                               if (f->flag & ARCHIVE_MATCHING_OLDER)
                                        return (1);
                        } else if (f->ctime_nsec < nsec) {
-                               if (f->flag & ARCHIVE_MATCHING_OLDER)
+                               if (f->flag & ARCHIVE_MATCHING_NEWER)
                                        return (1);
-                       } else if ((f->flag & ARCHIVE_MATCHING_EQUAL) == 0)
+                       } else if (f->flag & ARCHIVE_MATCHING_EQUAL)
                                return (1);
                }
        }
        if (f->flag & ARCHIVE_MATCHING_MTIME) {
                sec = archive_entry_mtime(entry);
                if (f->mtime_sec > sec) {
-                       if (f->flag & ARCHIVE_MATCHING_NEWER)
+                       if (f->flag & ARCHIVE_MATCHING_OLDER)
                                return (1);
                } else if (f->mtime_sec < sec) {
-                       if (f->flag & ARCHIVE_MATCHING_OLDER)
+                       if (f->flag & ARCHIVE_MATCHING_NEWER)
                                return (1);
                } else {
                        nsec = archive_entry_mtime_nsec(entry);
                        if (f->mtime_nsec > nsec) {
-                               if (f->flag & ARCHIVE_MATCHING_NEWER)
+                               if (f->flag & ARCHIVE_MATCHING_OLDER)
                                        return (1);
                        } else if (f->mtime_nsec < nsec) {
-                               if (f->flag & ARCHIVE_MATCHING_OLDER)
+                               if (f->flag & ARCHIVE_MATCHING_NEWER)
                                        return (1);
-                       } else if ((f->flag & ARCHIVE_MATCHING_EQUAL) == 0)
+                       } else if (f->flag & ARCHIVE_MATCHING_EQUAL)
                                return (1);
                }
        }
index 92ce47cda15198ceb57a73f138c4bf49f8e57ba3..1cb2c59df1715c9d7d97e5220ac46d6fb70ed0ed 100644 (file)
@@ -1272,15 +1272,18 @@ test_pathname_newer_mtime(void)
        archive_entry_copy_pathname(ae, "file1");
        archive_entry_set_mtime(ae, 7880, 0);
        assertEqualIntA(m, 0, archive_matching_exclude_entry(m,
-           ARCHIVE_MATCHING_MTIME | ARCHIVE_MATCHING_NEWER, ae));
+           ARCHIVE_MATCHING_MTIME | ARCHIVE_MATCHING_OLDER |
+           ARCHIVE_MATCHING_EQUAL, ae));
        archive_entry_copy_pathname(ae, "file2");
        archive_entry_set_mtime(ae, 1, 0);
        assertEqualIntA(m, 0, archive_matching_exclude_entry(m,
-           ARCHIVE_MATCHING_MTIME | ARCHIVE_MATCHING_NEWER, ae));
+           ARCHIVE_MATCHING_MTIME | ARCHIVE_MATCHING_OLDER |
+           ARCHIVE_MATCHING_EQUAL, ae));
        archive_entry_copy_pathname(ae, "file3");
        archive_entry_set_mtime(ae, 99999, 0);
        assertEqualIntA(m, 0, archive_matching_exclude_entry(m,
-           ARCHIVE_MATCHING_MTIME | ARCHIVE_MATCHING_NEWER, ae));
+           ARCHIVE_MATCHING_MTIME | ARCHIVE_MATCHING_OLDER |
+           ARCHIVE_MATCHING_EQUAL, ae));
 
        excluded(m);