.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / mvdan.cc / gofumpt@v0.1.0 / gofumports / internal / fastwalk / fastwalk_portable.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/mvdan.cc/gofumpt@v0.1.0/gofumports/internal/fastwalk/fastwalk_portable.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/mvdan.cc/gofumpt@v0.1.0/gofumports/internal/fastwalk/fastwalk_portable.go
new file mode 100644 (file)
index 0000000..b0d6327
--- /dev/null
@@ -0,0 +1,37 @@
+// Copyright 2016 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build appengine !linux,!darwin,!freebsd,!openbsd,!netbsd
+
+package fastwalk
+
+import (
+       "io/ioutil"
+       "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 readDir(dirName string, fn func(dirName, entName string, typ os.FileMode) error) error {
+       fis, err := ioutil.ReadDir(dirName)
+       if err != nil {
+               return err
+       }
+       skipFiles := false
+       for _, fi := range fis {
+               if fi.Mode().IsRegular() && skipFiles {
+                       continue
+               }
+               if err := fn(dirName, fi.Name(), fi.Mode()&os.ModeType); err != nil {
+                       if err == ErrSkipFiles {
+                               skipFiles = true
+                               continue
+                       }
+                       return err
+               }
+       }
+       return nil
+}