New -find test -size
This commit is contained in:
@ -3054,12 +3054,12 @@ return:
|
||||
3 = immediate decision : does match
|
||||
*/
|
||||
{
|
||||
int value=0, ret, start_lba, end_lba, bless_idx;
|
||||
int value=0, ret, start_lba, end_lba, bless_idx, size_mode;
|
||||
int lba_count, *file_end_lbas= NULL, *file_start_lbas= NULL, i, mask;
|
||||
void *arg1, *arg2;
|
||||
char ft, *decision, md5[16], bless_code[17];
|
||||
regmatch_t name_match;
|
||||
off_t damage_start, damage_end, size, *section_sizes= NULL;
|
||||
off_t damage_start, damage_end, size, *section_sizes= NULL, size_arg;
|
||||
void *xinfo_dummy;
|
||||
IsoNode *node;
|
||||
IsoStream *stream;
|
||||
@ -3314,6 +3314,30 @@ return:
|
||||
break; case 26: /* -mindepth */
|
||||
value= (ftest->boss->depth >= *((int *) arg1));
|
||||
|
||||
break; case 27: /* -size */
|
||||
size_arg= *((off_t *) arg1);
|
||||
size_mode= *((int *) arg2);
|
||||
ret= Xorriso__get_file_size(node, &size, 0);
|
||||
if(ret <= 0) {
|
||||
if(ret < 0)
|
||||
Xorriso_process_msg_queues(xorriso, 0);
|
||||
value= 0;
|
||||
goto ex;
|
||||
}
|
||||
if(size_mode == 0) {
|
||||
value= (size == size_arg);
|
||||
} else if(size_mode == 1) {
|
||||
value= (size > size_arg);
|
||||
} else if(size_mode == 2) {
|
||||
value= (size >= size_arg);
|
||||
} else if(size_mode == -1) {
|
||||
value= (size < size_arg);
|
||||
} else if(size_mode == -2) {
|
||||
value= (size <= size_arg);
|
||||
} else {
|
||||
value= 0;
|
||||
}
|
||||
|
||||
break; default:
|
||||
|
||||
/* >>> complain about unknown test type */;
|
||||
|
Reference in New Issue
Block a user