about summary refs log tree commit diff
path: root/lr.c
diff options
context:
space:
mode:
authorChristian Neukirchen <chneukirchen@gmail.com>2015-10-26 15:27:22 +0100
committerChristian Neukirchen <chneukirchen@gmail.com>2015-10-26 15:27:22 +0100
commit1928de576cb2e0ee617a95f9d6c4a04284540fba (patch)
tree70e23b12dcca123502482b5e89be7025eb72aac4 /lr.c
parent57ad6cb3c10ebce6c6faff36160f6fe76a5d3b58 (diff)
downloadlr-1928de576cb2e0ee617a95f9d6c4a04284540fba.tar.gz
lr-1928de576cb2e0ee617a95f9d6c4a04284540fba.tar.xz
lr-1928de576cb2e0ee617a95f9d6c4a04284540fba.zip
change fnmatch flags such that * in ~~ matches / too (like find(1))
Diffstat (limited to 'lr.c')
-rw-r--r--lr.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/lr.c b/lr.c
index a75b739..5fc1f14 100644
--- a/lr.c
+++ b/lr.c
@@ -701,18 +701,12 @@ eval(struct expr *e, struct fileinfo *fi)
 		case PROP_USER: s = username(fi->sb.st_uid); break;
 		}
 		switch (e->op) {
-		case EXPR_STREQ:
-			return strcmp(e->b.string, s) == 0;
-		case EXPR_STREQI:
-			return strcasecmp(e->b.string, s) == 0;
-		case EXPR_GLOB:
-			return fnmatch(e->b.string, s, FNM_PATHNAME) == 0;
-		case EXPR_GLOBI:
-			return fnmatch(e->b.string, s,
-			    FNM_PATHNAME | FNM_CASEFOLD) == 0;
+		case EXPR_STREQ: return strcmp(e->b.string, s) == 0;
+		case EXPR_STREQI: return strcasecmp(e->b.string, s) == 0;
+		case EXPR_GLOB: return fnmatch(e->b.string, s, 0) == 0;
+		case EXPR_GLOBI: return fnmatch(e->b.string, s, FNM_CASEFOLD) == 0;
 		case EXPR_REGEX:
-		case EXPR_REGEXI:
-			return regexec(e->b.regex, s, 0, 0, 0) == 0;
+		case EXPR_REGEXI: return regexec(e->b.regex, s, 0, 0, 0) == 0;
 		}
 	}
 	}