diff options
author | Péter Szilágyi <peterke@gmail.com> | 2017-01-10 05:53:17 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-10 05:53:17 +0800 |
commit | 02b67558e8eaa7b34a28b8dd0223824bbbb52349 (patch) | |
tree | 33bbc5057d4546d93d6d0e92b90eef19b49abb83 /swarm/api/filesystem.go | |
parent | 91c8f87fb128c070b6c557a142e25d4428c96487 (diff) | |
parent | b9b3efb09f9281a5859646d2dcf36b5813132efb (diff) | |
download | dexon-02b67558e8eaa7b34a28b8dd0223824bbbb52349.tar dexon-02b67558e8eaa7b34a28b8dd0223824bbbb52349.tar.gz dexon-02b67558e8eaa7b34a28b8dd0223824bbbb52349.tar.bz2 dexon-02b67558e8eaa7b34a28b8dd0223824bbbb52349.tar.lz dexon-02b67558e8eaa7b34a28b8dd0223824bbbb52349.tar.xz dexon-02b67558e8eaa7b34a28b8dd0223824bbbb52349.tar.zst dexon-02b67558e8eaa7b34a28b8dd0223824bbbb52349.zip |
Merge pull request #3535 from fjl/all-ineffassign
all: fix ineffectual assignments
Diffstat (limited to 'swarm/api/filesystem.go')
-rw-r--r-- | swarm/api/filesystem.go | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/swarm/api/filesystem.go b/swarm/api/filesystem.go index 428f3e3ac..96aaf36df 100644 --- a/swarm/api/filesystem.go +++ b/swarm/api/filesystem.go @@ -241,24 +241,7 @@ func (self *FileSystem) Download(bzzpath, localpath string) error { } go func(i int, entry *downloadListEntry) { defer wg.Done() - f, err := os.Create(entry.path) // TODO: path separators - if err == nil { - - reader := self.api.dpa.Retrieve(entry.key) - writer := bufio.NewWriter(f) - size, err := reader.Size(quitC) - if err == nil { - _, err = io.CopyN(writer, reader, size) // TODO: handle errors - err2 := writer.Flush() - if err == nil { - err = err2 - } - err2 = f.Close() - if err == nil { - err = err2 - } - } - } + err := retrieveToFile(quitC, self.api.dpa, entry.key, entry.path) if err != nil { select { case errC <- err: @@ -279,5 +262,24 @@ func (self *FileSystem) Download(bzzpath, localpath string) error { case <-quitC: return fmt.Errorf("aborted") } +} +func retrieveToFile(quitC chan bool, dpa *storage.DPA, key storage.Key, path string) error { + f, err := os.Create(path) // TODO: path separators + if err != nil { + return err + } + reader := dpa.Retrieve(key) + writer := bufio.NewWriter(f) + size, err := reader.Size(quitC) + if err != nil { + return err + } + if _, err = io.CopyN(writer, reader, size); err != nil { + return err + } + if err := writer.Flush(); err != nil { + return err + } + return f.Close() } |