Lines Matching defs:ftw
398 act(register Ftw_t* ftw, int op)
411 if ((i = cmdarg(state.cmd, ftw->path, ftw->pathlen)) >= state.errexit)
415 if (findwrite(state.find, ftw->path, ftw->pathlen, (ftw->info & FTW_D) ? "system/dir" : (char*)0))
419 fp = sfopen(NiL, PATH(ftw), "r");
420 if (findwrite(state.find, ftw->path, ftw->pathlen, magictype(state.magic, fp, PATH(ftw), &ftw->statb)))
426 eval(state.action, ftw);
429 intermediate(ftw, ftw->path);
432 sfputr(sfstdout, ftw->path, '\n');
435 print(state.snapshot.tmp, ftw, state.snapshot.format.path);
438 print(state.snapshot.tmp, ftw, state.snapshot.format.easy);
472 error(1, "%s deleted", ftw->path);
480 if (state.snapshot.format.hard && (ftw->info & FTW_F))
483 print(state.snapshot.tmp, ftw, state.snapshot.format.hard);
490 error(1, "%s %s", ftw->path, r == SNAPSHOT_new ? "new" : "changed");
503 intermediate(register Ftw_t* ftw, register char* path)
509 if (!(ftw->info & FTW_D) || ftw->statb.st_nlink)
511 ftw->statb.st_nlink = 0;
512 if (ftw->level > 1)
513 intermediate(ftw->parent, path);
514 s = path + ftw->pathlen;
517 t = ftw->path;
518 ftw->path = path;
519 act(ftw, state.actII);
520 ftw->path = t;
530 tw(register Ftw_t* ftw)
534 switch (ftw->info)
540 error(2, "%s: not found", ftw->path);
548 error(2, "%s: directory causes cycle", ftw->path);
556 error(2, "%s: cannot read directory", ftw->path);
563 error(2, "%s: cannot search directory", ftw->path);
564 ftw->status = FTW_SKIP;
568 if (!(state.ftwflags & FTW_TWICE) || (state.ftwflags & FTW_DOT) && stat(PATH(ftw), &ftw->statb))
572 ftw->ignorecase = (state.icase || (!ftw->level || !ftw->parent->ignorecase) && strchr(astconf("PATH_ATTRIBUTES", ftw->name, NiL), 'c')) ? STR_ICASE : 0;
575 ftw->ignorecase = ftw->level ? ftw->parent->ignorecase : (state.icase || strchr(astconf("PATH_ATTRIBUTES", ftw->name, NiL), 'c')) ? STR_ICASE : 0;
578 if (state.localfs && (ftw->info & FTW_D) && !ftwlocal(ftw))
579 ftw->status = FTW_SKIP;
582 if (state.select == ALL || eval(state.select, ftw) && ftw->status != FTW_SKIP)
583 act(ftw, state.act);
585 if (state.localmem && (lp = (Local_t*)ftw->local.pointer))
591 ftw->status = FTW_SKIP;
688 Ftw_t ftw;
884 memset(&ftw, 0, sizeof(ftw));
885 ftw.path = ftw.name = "";
1067 error_info.errors = eval(state.select, &ftw) == 0;
1069 eval(x, &ftw);