From 55a6767b44a4aa8093dff6ff30058b985939a4e0 Mon Sep 17 00:00:00 2001 From: jguer Date: Tue, 27 Oct 2020 13:59:00 +0100 Subject: [PATCH] fix(parser): use Fields instead of Split --- pkg/settings/exe/exec.go | 11 +++++++---- pkg/settings/exe/passers.go | 8 ++++++-- pkg/settings/parser.go | 4 ++-- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/pkg/settings/exe/exec.go b/pkg/settings/exe/exec.go index 75327fe7..192942ca 100644 --- a/pkg/settings/exe/exec.go +++ b/pkg/settings/exe/exec.go @@ -37,7 +37,9 @@ func (r *OSRunner) Capture(cmd *exec.Cmd, timeout int64) (stdout, stderr string, cmd.Stderr = &errbuf err = cmd.Start() if err != nil { - return "", "", err + stdout = strings.TrimSpace(outbuf.String()) + stderr = strings.TrimSpace(errbuf.String()) + return stdout, stderr, err } if timeout != 0 { @@ -54,12 +56,13 @@ func (r *OSRunner) Capture(cmd *exec.Cmd, timeout int64) (stdout, stderr string, if timeout != 0 { timer.Stop() } - if err != nil { - return "", "", err - } stdout = strings.TrimSpace(outbuf.String()) stderr = strings.TrimSpace(errbuf.String()) + if err != nil { + return stdout, stderr, err + } + if timedOut { err = fmt.Errorf("command timed out") } diff --git a/pkg/settings/exe/passers.go b/pkg/settings/exe/passers.go index 61e3e3c4..30c7aa45 100644 --- a/pkg/settings/exe/passers.go +++ b/pkg/settings/exe/passers.go @@ -21,7 +21,9 @@ func (c *CmdBuilder) BuildGitCmd(dir string, extraArgs ...string) *exec.Cmd { args = append(args, "-C", dir) } - args = append(args, extraArgs...) + if len(extraArgs) > 0 { + args = append(args, extraArgs...) + } cmd := exec.Command(c.GitBin, args...) cmd.Env = append(os.Environ(), "GIT_TERMINAL_PROMPT=0") @@ -36,7 +38,9 @@ func (c *CmdBuilder) BuildMakepkgCmd(dir string, extraArgs ...string) *exec.Cmd args = append(args, "--config", c.MakepkgConfPath) } - args = append(args, extraArgs...) + if len(extraArgs) > 0 { + args = append(args, extraArgs...) + } cmd := exec.Command(c.MakepkgBin, args...) cmd.Dir = dir diff --git a/pkg/settings/parser.go b/pkg/settings/parser.go index 2fb45b7d..083fa825 100644 --- a/pkg/settings/parser.go +++ b/pkg/settings/parser.go @@ -817,8 +817,8 @@ func (a *Arguments) ParseCommandLine(config *Configuration) error { } a.extractYayOptions(config) - config.Runtime.CmdBuilder.MakepkgFlags = strings.Split(config.MFlags, " ") - config.Runtime.CmdBuilder.GitFlags = strings.Split(config.GitFlags, " ") + config.Runtime.CmdBuilder.MakepkgFlags = strings.Fields(config.MFlags) + config.Runtime.CmdBuilder.GitFlags = strings.Fields(config.GitFlags) return nil }