New find actions get_md5, get_any_xattr, test -has_any_xattr
This commit is contained in:
@ -3307,12 +3307,13 @@ int Findjob_set_acl_filter(struct FindjoB *o, int value, int flag)
|
||||
|
||||
|
||||
/* @param value -1= files without xattr, 1= only files with xattr
|
||||
@param flag bit0=-has_any_xattr rather than -has_xattr
|
||||
*/
|
||||
int Findjob_set_xattr_filter(struct FindjoB *o, int value, int flag)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret= Findjob_set_prop_filter(o, 6, value, 0);
|
||||
ret= Findjob_set_prop_filter(o, (flag & 1 ? 14 : 6), value, 0);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
@ -15239,6 +15240,8 @@ not_enough_arguments:;
|
||||
Findjob_set_acl_filter(job, -1, 0);
|
||||
} else if(strcmp(argv[i], "-has_xattr")==0) {
|
||||
Findjob_set_xattr_filter(job, 1, 0);
|
||||
} else if(strcmp(argv[i], "-has_any_xattr")==0) {
|
||||
Findjob_set_xattr_filter(job, 1, 1);
|
||||
} else if(strcmp(argv[i], "-has_no_xattr")==0) {
|
||||
Findjob_set_xattr_filter(job, -1, 0);
|
||||
} else if(strcmp(argv[i], "-has_aaip")==0) {
|
||||
@ -15475,6 +15478,10 @@ not_enough_exec_arguments:;
|
||||
}
|
||||
} else if(strcmp(cpt, "show_stream")==0) {
|
||||
Findjob_set_action_target(job, 29, NULL, 0);
|
||||
} else if(strcmp(cpt, "get_any_xattr")==0) {
|
||||
Findjob_set_action_target(job, 33, NULL, 0);
|
||||
} else if(strcmp(cpt, "get_md5")==0) {
|
||||
Findjob_set_action_target(job, 34, NULL, 0);
|
||||
} else {
|
||||
sprintf(xorriso->info_text, "-find -exec: unknown action %s",
|
||||
Text_shellsafe(argv[i], sfe, 0));
|
||||
@ -15616,6 +15623,7 @@ int Xorriso_option_fs(struct XorrisO *xorriso, char *size, int flag)
|
||||
*/
|
||||
/* @param flag bit0= recursive -getfacl_r
|
||||
bit1= getfattr rather than getfacl
|
||||
bit3= with bit1: do not ignore eventual non-user attributes
|
||||
*/
|
||||
int Xorriso_option_getfacli(struct XorrisO *xorriso,
|
||||
int argc, char **argv, int *idx, int flag)
|
||||
@ -15646,7 +15654,7 @@ int Xorriso_option_getfacli(struct XorrisO *xorriso,
|
||||
Findjob_destroy(&job, 0);
|
||||
} else {
|
||||
if(flag & 2)
|
||||
ret= Xorriso_getfattr(xorriso, NULL, optv[i], NULL, 0);
|
||||
ret= Xorriso_getfattr(xorriso, NULL, optv[i], NULL, flag & 8);
|
||||
else
|
||||
ret= Xorriso_getfacl(xorriso, NULL, optv[i], NULL, 0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user