From 9560265adc1f3e959288269fb920d01c73099c7d Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Mon, 30 Dec 2013 19:50:04 -0500 Subject: [PATCH] Always continue walk in the face of errors (fixes #1) --- walk.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/walk.go b/walk.go index afaa6ea6..cdd93871 100644 --- a/walk.go +++ b/walk.go @@ -45,7 +45,8 @@ func tempName(name string, modified int64) string { func genWalker(base string, res *[]File, model *Model) filepath.WalkFunc { return func(p string, info os.FileInfo, err error) error { if err != nil { - return err + warnln(err) + return nil } if isTempName(p) { @@ -55,12 +56,14 @@ func genWalker(base string, res *[]File, model *Model) filepath.WalkFunc { if info.Mode()&os.ModeType == 0 { rn, err := filepath.Rel(base, p) if err != nil { - return err + warnln(err) + return nil } fi, err := os.Stat(p) if err != nil { - return err + warnln(err) + return nil } modified := fi.ModTime().Unix() @@ -74,13 +77,15 @@ func genWalker(base string, res *[]File, model *Model) filepath.WalkFunc { } fd, err := os.Open(p) if err != nil { - return err + warnln(err) + return nil } defer fd.Close() blocks, err := Blocks(fd, BlockSize) if err != nil { - return err + warnln(err) + return nil } f := File{ Name: rn,