aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go22
1 files changed, 14 insertions, 8 deletions
diff --git a/main.go b/main.go
index a72bb5b..7340795 100644
--- a/main.go
+++ b/main.go
@@ -18,20 +18,29 @@ func main() {
flag.BoolVarP(&concatenate, "concatenate", "c", false, "concatenate tar archives")
flag.Parse()
- if err := process(prefix, concatenate, verbose); err != nil {
+ logger := NewLogger(LevelEnum(verbose) + 2)
+ params := processParams{
+ prefix: prefix,
+ concatenate: concatenate,
+ }
+ if err := process(params, logger); err != nil {
log.Fatal(err)
}
+}
+type processParams struct {
+ prefix string
+ concatenate bool
}
-func process(prefix string, concatenate bool, verbose int) error {
+func process(params processParams, logger *Logger) error {
tr := tar.NewReader(os.Stdin)
tw := tar.NewWriter(os.Stdout)
defer tw.Close()
for {
hdr, err := tr.Next()
if err == io.EOF {
- if !concatenate {
+ if params.concatenate {
tr = tar.NewReader(os.Stdin)
hdr, err = tr.Next()
if err == io.EOF {
@@ -46,11 +55,8 @@ func process(prefix string, concatenate bool, verbose int) error {
return err
}
- if verbose >= 1 {
- log.Printf("file: %s", hdr.Name)
- }
-
- hdr.Name = prefix + hdr.Name
+ logger.Infof(`TarEntry.name = %s`, hdr.Name)
+ hdr.Name = params.prefix + hdr.Name
if err = tw.WriteHeader(hdr); err != nil {
return err