@ 260812.1

250511.1 · 3d5486c8bf7e4791ef453e91f1fa993d21420b9d

fastwalk: add new DirEntry.Depth method

The new DirEntry Depth method returns the depth at which the entry was generated relative to the root being walked. This is useful for programs that wish to limit traversal depth.

reading declarations

Changes to fastwalk_portable.go. All files

fastwalk_portable.go

@@ -2,15 +2,13 @@  package fastwalk -import (-	"os"-)+import "os"  // readDir calls fn for each directory entry in dirName. // It does not descend into directories or follow symlinks. // If fn returns a non-nil error, readDir returns with that error // immediately.-func (w *walker) readDir(dirName string) error {+func (w *walker) readDir(dirName string, depth int) error { 	f, err := os.Open(dirName) 	if err != nil { 		return err@@ -33,7 +31,7 @@ func (w *walker) readDir(dirName string) error { 			continue 		} 		// Need to use FileMode.Type().Type() for fs.DirEntry-		e := newDirEntry(dirName, d)+		e := newDirEntry(dirName, d, depth) 		if w.sortMode == SortNone { 			if err := w.onDirEnt(dirName, d.Name(), e); err != nil { 				if err != ErrSkipFiles {