From 585a9dafe86b51a2d120d107bb04a77b34cc1af0 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sun, 14 Feb 2016 13:35:23 -0500 Subject: Implement -lname and -ilname. --- parse.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'parse.c') diff --git a/parse.c b/parse.c index 7cdc685..7951589 100644 --- a/parse.c +++ b/parse.c @@ -456,6 +456,14 @@ static struct expr *parse_path(struct parser_state *state, const char *option, b return set_fnm_casefold(expr, casefold); } +/** + * Parse -i?lname. + */ +static struct expr *parse_lname(struct parser_state *state, const char *option, bool casefold) { + struct expr *expr = parse_test_sdata(state, option, eval_lname); + return set_fnm_casefold(expr, casefold); +} + /** * Parse -noleaf. */ @@ -670,7 +678,9 @@ static struct expr *parse_literal(struct parser_state *state) { break; case 'i': - if (strcmp(arg, "-iname") == 0) { + if (strcmp(arg, "-ilname") == 0) { + return parse_lname(state, arg, true); + } if (strcmp(arg, "-iname") == 0) { return parse_name(state, arg, true); } else if (strcmp(arg, "-inum") == 0) { return parse_test_icmp(state, arg, eval_inum); @@ -682,6 +692,8 @@ static struct expr *parse_literal(struct parser_state *state) { case 'l': if (strcmp(arg, "-links") == 0) { return parse_test_icmp(state, arg, eval_links); + } else if (strcmp(arg, "-lname") == 0) { + return parse_lname(state, arg, false); } break; -- cgit v1.2.3