• Home
  • Raw
  • Download

Lines Matching refs:fc

397 func (c *fsCacheT) find(w evalWriter, fc findCommand, path string, id fileid, depth int, seen map[f…
399 id, ents := c.readdir(filepathClean(filepathJoin(fc.chdir, path)), id)
401 glog.V(1).Infof("find: %s %s not found", fc.chdir, path)
406 _, prune := fc.apply(w, path, ent)
408 if fc.followSymlinks {
428 if depth >= fc.depth {
429 glog.V(3).Infof("find: depth: %d >= %d", depth, fc.depth)
432 c.find(w, fc, filepathJoin(path, ent.name), ent.id, depth+1, seen)
456 return fcp.fc, err
458 if len(fcp.fc.finddirs) == 0 {
459 fcp.fc.finddirs = append(fcp.fc.finddirs, ".")
461 if fcp.fc.chdir != "" {
462 fcp.fc.chdir = filepathClean(fcp.fc.chdir)
464 if filepath.IsAbs(fcp.fc.chdir) {
465 return fcp.fc, errFindAbspath
467 for _, dir := range fcp.fc.finddirs {
469 return fcp.fc, errFindAbspath
472 glog.V(3).Infof("find command: %#v", fcp.fc)
475 _, ents := fsCache.readdir(filepathClean(fcp.fc.testdir), unknownFileid)
477 glog.V(1).Infof("find: testdir %s - not dir", fcp.fc.testdir)
478 return fcp.fc, errFindNoSuchDir
480 _, ents = fsCache.readdir(filepathClean(fcp.fc.chdir), unknownFileid)
482 glog.V(1).Infof("find: cd %s: No such file or directory", fcp.fc.chdir)
483 return fcp.fc, errFindNoSuchDir
486 return fcp.fc, nil
489 func (fc findCommand) run(w evalWriter) {
490 glog.V(3).Infof("find: %#v", fc)
491 for _, dir := range fc.finddirs {
493 id, _ := fsCache.readdir(filepathClean(filepathJoin(fc.chdir, dir)), unknownFileid)
494 _, prune := fc.apply(w, dir, dirent{id: id, name: ".", mode: os.ModeDir, lmode: os.ModeDir})
499 if 0 >= fc.depth {
500 glog.V(3).Infof("find: depth: 0 >= %d", fc.depth)
503 fsCache.find(w, fc, dir, id, 1, seen)
507 func (fc findCommand) apply(w evalWriter, path string, ent dirent) (test, prune bool) {
509 for _, op := range fc.ops {
535 fc findCommand member
540 p.fc.depth = 1<<31 - 1 // max int32
556 if p.fc.chdir != "" {
559 p.fc.chdir, err = p.token()
618 if p.fc.testdir != "" {
625 p.fc.testdir, err = p.token()
634 if len(p.fc.ops) == 0 || p.fc.ops[len(p.fc.ops)-1] != print {
635 p.fc.ops = append(p.fc.ops, print)
649 p.fc.ops = append(p.fc.ops, op)
653 p.fc.finddirs = append(p.fc.finddirs, tok)
734 p.fc.followSymlinks = true
752 p.fc.depth = int(i)
794 return findOpRegular{p.fc.followSymlinks}, nil
800 return findOpType{m, p.fc.followSymlinks}, nil
831 return fcp.fc, err
833 glog.V(3).Infof("findleaves command: %#v", fcp.fc)
834 return fcp.fc, nil
837 func (fc findleavesCommand) run(w evalWriter) {
838 glog.V(3).Infof("findleaves: %#v", fc)
839 for _, dir := range fc.dirs {
842 fc.walk(w, dir, id, 1, seen)
846 func (fc findleavesCommand) walk(w evalWriter, dir string, id fileid, depth int, seen map[fileid]st…
852 if fc.isPrune(ent.name) {
859 if depth < fc.mindepth {
860 glog.V(3).Infof("findleaves depth=%d mindepth=%d", depth, fc.mindepth)
863 if ent.name == fc.name {
880 fc.walk(w, filepathJoin(dir, subdir.name), subdir.id, depth+1, seen)
884 func (fc findleavesCommand) isPrune(name string) bool {
885 for _, p := range fc.prunes {
900 fc findleavesCommand member
906 p.fc.mindepth = -1
928 p.fc.prunes = append(p.fc.prunes, prune)
935 p.fc.mindepth = int(i)
943 p.fc.dirs, p.fc.name = args[:len(args)-1], args[len(args)-1]