Merge pull request #2924 from stoeckmann/pathmatch_pm
pathmatch: Anchors within pattern not special
(cherry picked from commit 34f7d8c73e)
This commit is contained in:
1 parent
bea79d8f82
commit
58a4f7c43b
2 files changed
+20
-2
No files matched your search
@@ -202,7 +202,7 @@ pm(const char *p, const char *s, int flags)
|
||||
if (*p == '\0')
|
||||
return (1);
|
||||
while (*s) {
|
||||
if (archive_pathmatch(p, s, flags))
|
||||
if (pm(p, s, flags))
|
||||
return (1);
|
||||
++s;
|
||||
}
|
||||
@@ -307,7 +307,7 @@ pm_w(const wchar_t *p, const wchar_t *s, int flags)
|
||||
if (*p == L'\0')
|
||||
return (1);
|
||||
while (*s) {
|
||||
if (archive_pathmatch_w(p, s, flags))
|
||||
if (pm_w(p, s, flags))
|
||||
return (1);
|
||||
++s;
|
||||
}
|
||||
|
||||
@@ -285,4 +285,22 @@ DEFINE_TEST(test_archive_pathmatch)
|
||||
archive_pathmatch("a/b/c$", "a/b/c/d", PATHMATCH_NO_ANCHOR_START | PATHMATCH_NO_ANCHOR_END));
|
||||
assertEqualInt(1,
|
||||
archive_pathmatch("b/c/d$", "a/b/c/d", PATHMATCH_NO_ANCHOR_START | PATHMATCH_NO_ANCHOR_END));
|
||||
|
||||
/* Anchor characters within pattern not special. */
|
||||
assertEqualInt(0,
|
||||
archive_pathmatch("*^*", "a/b/c", PATHMATCH_NO_ANCHOR_START | PATHMATCH_NO_ANCHOR_END));
|
||||
assertEqualInt(1,
|
||||
archive_pathmatch("*^*", "a^b", PATHMATCH_NO_ANCHOR_START | PATHMATCH_NO_ANCHOR_END));
|
||||
assertEqualInt(0,
|
||||
archive_pathmatch("*$*", "a/b/c", PATHMATCH_NO_ANCHOR_START | PATHMATCH_NO_ANCHOR_END));
|
||||
assertEqualInt(1,
|
||||
archive_pathmatch("*$*", "a$b", PATHMATCH_NO_ANCHOR_START | PATHMATCH_NO_ANCHOR_END));
|
||||
assertEqualInt(0,
|
||||
archive_pathmatch("a*/^b/c", "a/b/c", PATHMATCH_NO_ANCHOR_START | PATHMATCH_NO_ANCHOR_END));
|
||||
assertEqualInt(1,
|
||||
archive_pathmatch("a*/^b/c", "a/^b/c", PATHMATCH_NO_ANCHOR_START | PATHMATCH_NO_ANCHOR_END));
|
||||
assertEqualInt(0,
|
||||
archive_pathmatch("a*/b$/c", "a/b/c", PATHMATCH_NO_ANCHOR_START | PATHMATCH_NO_ANCHOR_END));
|
||||
assertEqualInt(1,
|
||||
archive_pathmatch("a*/b$/c", "a/b$/c", PATHMATCH_NO_ANCHOR_START | PATHMATCH_NO_ANCHOR_END));
|
||||
}
|
||||
Reference in new issue
Block a user