From 1ff1045445ecfb9b4a7f122d46436fcfcdd1b150 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Fri, 1 Mar 2024 21:45:30 -0600 Subject: [PATCH] start fixing all this old junk --- run.go | 21 ++++++++++++--------- shell.go | 15 +++++++++++++++ 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/run.go b/run.go index 79f1214..7a4f3b6 100644 --- a/run.go +++ b/run.go @@ -47,22 +47,25 @@ func RunString(args string) bool { func Run(args []string) bool { dir, err := os.Getwd() if err != nil { - println("Failed to get current directory:", err) return false } - return RunPath(dir, args) + err = RunPath(dir, args) + if err == nil { + return true + } + return false } +var ErrorArgvEmpty error = errors.New("command was empty") + // run, but set the working path -func RunPath(path string, args []string) bool { +func RunPath(path string, args []string) error { if len(args) == 0 { - log.Warn("command line was empty") - return false + return ErrorArgvEmpty } if args[0] == "" { - log.Warn("command line was empty") - return false + return ErrorArgvEmpty } thing := args[0] parts := args[1:] @@ -81,9 +84,9 @@ func RunPath(path string, args []string) bool { log.Info("path =", path) log.Info("args =", args) log.Info("err =", err.Error()) - return false + return err } - return true + return nil } func (cmd *OldShell) Run(cmdline string) string { diff --git a/shell.go b/shell.go index faaad07..21982af 100644 --- a/shell.go +++ b/shell.go @@ -165,6 +165,21 @@ func Exec(cmdline string) { os.Exit(0) } +func NewRun(workingpath string, cmd []string) error { + log.Log(INFO, "NewRun() ", cmd) + + process := exec.Command(cmd[0], cmd[1:len(cmd)]...) + // Set the working directory + process.Dir = workingpath + process.Stderr = os.Stderr + process.Stdin = os.Stdin + process.Stdout = os.Stdout + process.Start() + err := process.Wait() + log.Log(INFO, "shell.Exec() err =", err) + return err +} + // return true if the filename exists (cross-platform) func Exists(filename string) bool { _, err := os.Stat(Path(filename))