New -findx -type "m" for active mount points
This commit is contained in:
parent
63de67672e
commit
a5ea9f79a0
@ -2515,7 +2515,7 @@ int Findjob_set_name_expr(struct FindjoB *o, char *name_expr, int flag)
|
||||
|
||||
int Findjob_set_file_type(struct FindjoB *o, char file_type, int flag)
|
||||
{
|
||||
static char known[]= {"bcdpf-lsX"};
|
||||
static char known[]= {"bcdpf-lsmX"};
|
||||
|
||||
if(file_type!=0)
|
||||
if(strchr(known, file_type)==NULL)
|
||||
@ -2551,7 +2551,12 @@ int Findjob_test(struct FindjoB *o, char *name,
|
||||
if(o->file_type!='c')
|
||||
return(0);
|
||||
} else if(S_ISDIR(stbuf->st_mode)) {
|
||||
if(o->file_type!='d')
|
||||
if(o->file_type=='m') {
|
||||
if(boss_stbuf==NULL)
|
||||
return(0);
|
||||
if(boss_stbuf->st_dev == stbuf->st_dev)
|
||||
return(0);
|
||||
} else if(o->file_type!='d')
|
||||
return(0);
|
||||
} else if(S_ISFIFO(stbuf->st_mode)) {
|
||||
if(o->file_type!='p')
|
||||
@ -3305,6 +3310,7 @@ int Xorriso_pacifier_callback(struct XorrisO *xorriso, char *what_done,
|
||||
int flag)
|
||||
{
|
||||
double current_time, since;
|
||||
char count_text[80];
|
||||
|
||||
current_time= Sfile_microtime(0);
|
||||
if(current_time - xorriso->last_update_time < xorriso->pacifier_interval
|
||||
@ -3318,8 +3324,12 @@ int Xorriso_pacifier_callback(struct XorrisO *xorriso, char *what_done,
|
||||
sprintf(xorriso->info_text,
|
||||
"Thank you for being patient since %.f seconds", since);
|
||||
} else if(todo<=0.0) {
|
||||
if(count<10000000)
|
||||
sprintf(count_text, "%.f", (double) count);
|
||||
else
|
||||
Sfile_scale((double) count, count_text, 7, 1e5, 1);
|
||||
sprintf(xorriso->info_text,
|
||||
"%.f %s in %.f seconds", (double) count, what_done, since);
|
||||
"%s %s in %.f seconds", count_text, what_done, since);
|
||||
} else {
|
||||
sprintf(xorriso->info_text, "%.f of %.f %s in %.f seconds",
|
||||
(double) count, (double) todo, what_done, since);
|
||||
@ -4520,7 +4530,7 @@ int Xorriso_find_compare(struct XorrisO *xorriso, void *boss_iter,
|
||||
follow_links= (xorriso->do_follow_links ||
|
||||
(xorriso->do_follow_param && !(flag&2))) <<28;
|
||||
ret= Xorriso_compare_2_files(xorriso, disk_path, iso_path, adrc, &result,
|
||||
2|follow_links|(1<<29)|((flag&1)<<31));
|
||||
2|follow_links|((!(flag&1))<<29)|((flag&1)<<31));
|
||||
if(ret<xorriso->find_compare_result)
|
||||
xorriso->find_compare_result= ret;
|
||||
if(flag&1) {
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2008.03.06.174724"
|
||||
#define Xorriso_timestamP "2008.03.07.075325"
|
||||
|
@ -4091,6 +4091,8 @@ int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job,
|
||||
/* ??? This seems to be redundant with the single test above
|
||||
??? Should i dive in unconditionally and leave out test and action here ?
|
||||
??? Then do above test unconditionally ?
|
||||
--- Seems that the current configuration represents the special
|
||||
handling of the find start path with mount points. Dangerous to change.
|
||||
*/
|
||||
ret= Findjob_test(job, name, dir_stbuf, &stbuf, depth, 0);
|
||||
if(ret<0)
|
||||
|
Loading…
Reference in New Issue
Block a user