]> Cypherpunks.ru repositories - goredo.git/blobdiff - run.go
Do not panic with -k and command was not run
[goredo.git] / run.go
diff --git a/run.go b/run.go
index f356d81488c2d895ee22eee1874b549219f23169..7128bb8b3f581f036f06170f98eac9afa0c5f6f8 100644 (file)
--- a/run.go
+++ b/run.go
@@ -408,10 +408,11 @@ func runScript(tgtOrig string, errs chan error, traced bool) error {
                } else {
                        cmd.ExtraFiles = append(cmd.ExtraFiles, JSR)
                        cmd.ExtraFiles = append(cmd.ExtraFiles, JSW)
-                       cmd.Env = append(cmd.Env, fmt.Sprintf(
-                               "%s=%s %s%d,%d",
-                               MakeFlagsName, MakeFlags, MakeJSArg, 3+fdNum+0, 3+fdNum+1,
-                       ))
+                       makeFlags := fmt.Sprintf(
+                               "%s %s%d,%d", MakeFlags, MakeJSArg, 3+fdNum+0, 3+fdNum+1,
+                       )
+                       makeFlags = strings.Trim(makeFlags, " ")
+                       cmd.Env = append(cmd.Env, fmt.Sprintf("%s=%s", MakeFlagsName, makeFlags))
                        fdNum += 2
                        cmd.Env = append(cmd.Env, fmt.Sprintf("%s=%d", EnvJSToken, jsToken))
                }
@@ -456,10 +457,14 @@ func runScript(tgtOrig string, errs chan error, traced bool) error {
                                ); err == nil {
                                        fields := []recfile.Field{
                                                {Name: "Build", Value: BuildUUID},
-                                               {Name: "PID", Value: strconv.Itoa(cmd.Process.Pid)},
                                                {Name: "PPID", Value: strconv.Itoa(os.Getpid())},
                                                {Name: "Cwd", Value: cwd},
                                        }
+                                       if cmd.Process != nil {
+                                               fields = append(fields, recfile.Field{
+                                                       Name: "PID", Value: strconv.Itoa(cmd.Process.Pid),
+                                               })
+                                       }
                                        ts := new(tai64n.TAI64N)
                                        ts.FromTime(started)
                                        fields = append(fields,