find: implement -ipath
Signed-off-by: Bogdan Harjoc <harjoc@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
d616ab6bbb
commit
7948ecb505
@ -264,6 +264,7 @@
|
|||||||
//usage: "\n -iname PATTERN Case insensitive -name"
|
//usage: "\n -iname PATTERN Case insensitive -name"
|
||||||
//usage: IF_FEATURE_FIND_PATH(
|
//usage: IF_FEATURE_FIND_PATH(
|
||||||
//usage: "\n -path PATTERN Match path to PATTERN"
|
//usage: "\n -path PATTERN Match path to PATTERN"
|
||||||
|
//usage: "\n -ipath PATTERN Case insensitive -path"
|
||||||
//usage: )
|
//usage: )
|
||||||
//usage: IF_FEATURE_FIND_REGEX(
|
//usage: IF_FEATURE_FIND_REGEX(
|
||||||
//usage: "\n -regex PATTERN Match path to regex PATTERN"
|
//usage: "\n -regex PATTERN Match path to regex PATTERN"
|
||||||
@ -352,7 +353,7 @@ typedef struct {
|
|||||||
|
|
||||||
ACTS(print)
|
ACTS(print)
|
||||||
ACTS(name, const char *pattern; bool iname;)
|
ACTS(name, const char *pattern; bool iname;)
|
||||||
IF_FEATURE_FIND_PATH( ACTS(path, const char *pattern;))
|
IF_FEATURE_FIND_PATH( ACTS(path, const char *pattern; bool ipath;))
|
||||||
IF_FEATURE_FIND_REGEX( ACTS(regex, regex_t compiled_pattern;))
|
IF_FEATURE_FIND_REGEX( ACTS(regex, regex_t compiled_pattern;))
|
||||||
IF_FEATURE_FIND_PRINT0( ACTS(print0))
|
IF_FEATURE_FIND_PRINT0( ACTS(print0))
|
||||||
IF_FEATURE_FIND_TYPE( ACTS(type, int type_mask;))
|
IF_FEATURE_FIND_TYPE( ACTS(type, int type_mask;))
|
||||||
@ -494,7 +495,7 @@ ACTF(name)
|
|||||||
#if ENABLE_FEATURE_FIND_PATH
|
#if ENABLE_FEATURE_FIND_PATH
|
||||||
ACTF(path)
|
ACTF(path)
|
||||||
{
|
{
|
||||||
return fnmatch(ap->pattern, fileName, 0) == 0;
|
return fnmatch(ap->pattern, fileName, (ap->ipath ? FNM_CASEFOLD : 0)) == 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if ENABLE_FEATURE_FIND_REGEX
|
#if ENABLE_FEATURE_FIND_REGEX
|
||||||
@ -794,6 +795,7 @@ static action*** parse_params(char **argv)
|
|||||||
PARM_name ,
|
PARM_name ,
|
||||||
PARM_iname ,
|
PARM_iname ,
|
||||||
IF_FEATURE_FIND_PATH( PARM_path ,)
|
IF_FEATURE_FIND_PATH( PARM_path ,)
|
||||||
|
IF_FEATURE_FIND_PATH( PARM_ipath ,)
|
||||||
IF_FEATURE_FIND_REGEX( PARM_regex ,)
|
IF_FEATURE_FIND_REGEX( PARM_regex ,)
|
||||||
IF_FEATURE_FIND_TYPE( PARM_type ,)
|
IF_FEATURE_FIND_TYPE( PARM_type ,)
|
||||||
IF_FEATURE_FIND_PERM( PARM_perm ,)
|
IF_FEATURE_FIND_PERM( PARM_perm ,)
|
||||||
@ -831,6 +833,7 @@ static action*** parse_params(char **argv)
|
|||||||
"-name\0"
|
"-name\0"
|
||||||
"-iname\0"
|
"-iname\0"
|
||||||
IF_FEATURE_FIND_PATH( "-path\0" )
|
IF_FEATURE_FIND_PATH( "-path\0" )
|
||||||
|
IF_FEATURE_FIND_PATH( "-ipath\0" )
|
||||||
IF_FEATURE_FIND_REGEX( "-regex\0" )
|
IF_FEATURE_FIND_REGEX( "-regex\0" )
|
||||||
IF_FEATURE_FIND_TYPE( "-type\0" )
|
IF_FEATURE_FIND_TYPE( "-type\0" )
|
||||||
IF_FEATURE_FIND_PERM( "-perm\0" )
|
IF_FEATURE_FIND_PERM( "-perm\0" )
|
||||||
@ -1018,10 +1021,11 @@ static action*** parse_params(char **argv)
|
|||||||
ap->iname = (parm == PARM_iname);
|
ap->iname = (parm == PARM_iname);
|
||||||
}
|
}
|
||||||
#if ENABLE_FEATURE_FIND_PATH
|
#if ENABLE_FEATURE_FIND_PATH
|
||||||
else if (parm == PARM_path) {
|
else if (parm == PARM_path || parm == PARM_ipath) {
|
||||||
action_path *ap;
|
action_path *ap;
|
||||||
ap = ALLOC_ACTION(path);
|
ap = ALLOC_ACTION(path);
|
||||||
ap->pattern = arg1;
|
ap->pattern = arg1;
|
||||||
|
ap->ipath = (parm == PARM_ipath);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if ENABLE_FEATURE_FIND_REGEX
|
#if ENABLE_FEATURE_FIND_REGEX
|
||||||
|
Loading…
Reference in New Issue
Block a user