diff options
| author | Mitchell <mitch@riedstra.dev> | 2021-03-20 01:37:03 -0400 |
|---|---|---|
| committer | Mitchell <mitch@riedstra.dev> | 2021-03-20 01:37:03 -0400 |
| commit | d047c36dd09b6169bf27c244196e99bb5df54c3a (patch) | |
| tree | 5103e1951bd58bbef54c90a13c199e8d1d866492 /steam/update.go | |
| parent | 0e62a3b46b25e7c101b14ed44235f3c276982fc0 (diff) | |
| download | steam-export-d047c36dd09b6169bf27c244196e99bb5df54c3a.tar.gz steam-export-d047c36dd09b6169bf27c244196e99bb5df54c3a.tar.xz | |
Update documentation. Remove all traces of chdir from the steam library. Remove most linter complaints.
Diffstat (limited to 'steam/update.go')
| -rw-r--r-- | steam/update.go | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/steam/update.go b/steam/update.go deleted file mode 100644 index b3e621e..0000000 --- a/steam/update.go +++ /dev/null @@ -1,70 +0,0 @@ -package steam - -import ( - "archive/tar" - "io" - "os" - "strings" - "path/filepath" -) - -func (l *Library) ExtractUpdate(r io.Reader) error { - if err := os.Chdir(l.Folder); err != nil { - return err - } - - // withinArchive := map[string]struct{}{} - // onDisk, err := fileListing( - - treader := tar.NewReader(r) - - for { - hdr, err := treader.Next() - if err == io.EOF { - // We've reached the end! Whoee - break - } - if err != nil { - return err - } - - // Fix windows slashes... - fileName := strings.Replace(hdr.Name, "\\", "/", -1) - - info := hdr.FileInfo() - if info.IsDir() { - // I don't like hard-coded permissions but it - // it helps with overall platform compatibility - if err = os.MkdirAll(fileName, 0775); err != nil { - return err - } - continue - } - - if err = os.MkdirAll(filepath.Dir(fileName), 0775); err != nil { - return err - } - - fi, err := os.Stat(fileName) - if !os.IsNotExist(err) { - // If the file in the archive is not newer, skip - if !info.ModTime().After(fi.ModTime()) { - continue - } - } - - // Create a file handle to work with - f, err := os.OpenFile(fileName, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0664) - if err != nil { - return err - } - if _, err := io.Copy(f, treader); err != nil { - return err - } - f.Close() - - } - - return nil -} - |
