diff options
| author | Marin Ivanov <[email protected]> | 2024-04-11 14:35:32 +0300 |
|---|---|---|
| committer | Marin Ivanov <[email protected]> | 2024-04-11 14:35:32 +0300 |
| commit | af6c1274c233cffdc27df5cbaf29fbafb92ba5bb (patch) | |
| tree | 5147a9b0af4fbbcf6da07f732b2b550c6e9f7897 /main.go | |
| parent | ca06e0c6cfb104244d7ff2736fe481b7247fa187 (diff) | |
add --clean-path
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -5,6 +5,7 @@ import ( "io" "log" "os" + "path" flag "github.com/spf13/pflag" ) @@ -12,6 +13,7 @@ import ( type processParams struct { prefix string concatenate bool + cleanPath bool } func main() { @@ -20,6 +22,7 @@ func main() { flag.CountVarP(&verbose, "verbose", "v", "add verbosity") flag.StringVarP(¶ms.prefix, "prefix", "p", "", "adds prefix to filenames") flag.BoolVarP(¶ms.concatenate, "concatenate", "c", false, "concatenate tar archives") + flag.BoolVarP(¶ms.cleanPath, "clean-path", "", false, "clean tar entry path") flag.Parse() logger := NewLogger(LevelEnum(verbose) + 2) @@ -51,6 +54,9 @@ func process(params processParams, logger *Logger) error { } logger.Infof(`TarEntry.name = %s`, hdr.Name) + if params.cleanPath { + hdr.Name = path.Clean("/" + hdr.Name)[1:] + } hdr.Name = params.prefix + hdr.Name if err = tw.WriteHeader(hdr); err != nil { |
