Skip to content

Commit

Permalink
Revert incomplete zip implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
AlinaNova21 committed Mar 25, 2019
1 parent abe6c2d commit 651b5b9
Showing 1 changed file with 45 additions and 45 deletions.
90 changes: 45 additions & 45 deletions install/extract.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package install

import (
"archive/tar"
"archive/zip"
_ "archive/zip"
"compress/gzip"
"io"
"os"
Expand Down Expand Up @@ -60,47 +60,47 @@ func ExtractTarGz(dest string, r io.Reader) error {
}
}

func ExtractZip(dest string, r io.Reader) error {
zipfile := zip.NewReader(r)

for {
header, err := tr.Next()
switch {
case err == io.EOF:
return nil
case err != nil:
return err
case header == nil:
continue
}
target := filepath.Join(dest, header.Name)
dir := filepath.Dir(target)
if _, err := os.Stat(dir); os.IsNotExist(err) {
if err := os.MkdirAll(dir, 0755); err != nil {
return err
}
}
switch header.Typeflag {
case tar.TypeDir:
if _, err := os.Stat(target); err != nil {
if err := os.Mkdir(target, 0755); err != nil {
return err
}
}
case tar.TypeReg:
f, err := os.OpenFile(target, os.O_CREATE|os.O_RDWR, os.FileMode(header.Mode))
if err != nil {
return err
}
if _, err := io.Copy(f, tr); err != nil {
return err
}
f.Close()
case tar.TypeSymlink:
err := os.Symlink(header.Linkname, target)
if err != nil {
return err
}
}
}
}
// func ExtractZip(dest string, r io.Reader) error {
// zipfile := zip.NewReader(r)
//
// for {
// header, err := tr.Next()
// switch {
// case err == io.EOF:
// return nil
// case err != nil:
// return err
// case header == nil:
// continue
// }
// target := filepath.Join(dest, header.Name)
// dir := filepath.Dir(target)
// if _, err := os.Stat(dir); os.IsNotExist(err) {
// if err := os.MkdirAll(dir, 0755); err != nil {
// return err
// }
// }
// switch header.Typeflag {
// case tar.TypeDir:
// if _, err := os.Stat(target); err != nil {
// if err := os.Mkdir(target, 0755); err != nil {
// return err
// }
// }
// case tar.TypeReg:
// f, err := os.OpenFile(target, os.O_CREATE|os.O_RDWR, os.FileMode(header.Mode))
// if err != nil {
// return err
// }
// if _, err := io.Copy(f, tr); err != nil {
// return err
// }
// f.Close()
// case tar.TypeSymlink:
// err := os.Symlink(header.Linkname, target)
// if err != nil {
// return err
// }
// }
// }
// }

0 comments on commit 651b5b9

Please sign in to comment.