Pass commandShell is a paramter to Proc_Exec() instead of
authorMax Okumoto <okumoto@dragonflybsd.org>
Sat, 2 Jul 2005 10:46:01 +0000 (10:46 +0000)
committerMax Okumoto <okumoto@dragonflybsd.org>
Sat, 2 Jul 2005 10:46:01 +0000 (10:46 +0000)
using a global variable.

usr.bin/make/job.c
usr.bin/make/proc.c
usr.bin/make/proc.h

index 3aba790..604fcc2 100644 (file)
@@ -38,7 +38,7 @@
  *
  * @(#)job.c   8.2 (Berkeley) 3/19/94
  * $FreeBSD: src/usr.bin/make/job.c,v 1.75 2005/02/10 14:32:14 harti Exp $
- * $DragonFly: src/usr.bin/make/job.c,v 1.118 2005/06/21 21:04:32 okumoto Exp $
+ * $DragonFly: src/usr.bin/make/job.c,v 1.119 2005/07/02 10:46:01 okumoto Exp $
  */
 
 #ifndef OLD_JOKE
@@ -1454,7 +1454,7 @@ JobExec(Job *job, char **argv)
                if (fifoFd >= 0)
                        close(fifoFd);
 
-               Proc_Exec(&ps);
+               Proc_Exec(&ps, commandShell);
                /* NOTREACHED */
 
        } else {
@@ -2756,7 +2756,7 @@ Cmd_Exec(const char *cmd, const char **error)
                /*
                 * Child
                 */
-               Proc_Exec(&ps);
+               Proc_Exec(&ps, commandShell);
                /* NOTREACHED */
 
        } else {
@@ -3014,7 +3014,7 @@ Compat_RunCommand(char *cmd, GNode *gn, GNode *ENDNode)
                /*
                 * Child
                 */
-               Proc_Exec(&ps);
+               Proc_Exec(&ps, commandShell);
                /* NOTREACHED */
 
        } else {
index 178289b..44208aa 100644 (file)
@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $DragonFly: src/usr.bin/make/proc.c,v 1.4 2005/06/16 23:06:56 okumoto Exp $
+ * $DragonFly: src/usr.bin/make/proc.c,v 1.5 2005/07/02 10:46:01 okumoto Exp $
  */
 
 #include <unistd.h>
@@ -40,7 +40,7 @@
  * Replace the current process.
  */
 void
-Proc_Exec(const ProcStuff *ps)
+Proc_Exec(const ProcStuff *ps, struct Shell *shell)
 {
 
        if (ps->in != STDIN_FILENO) {
@@ -79,7 +79,7 @@ Proc_Exec(const ProcStuff *ps)
                        Punt("Cannot dup2: %s", strerror(errno));
        }
 
-       if (commandShell->unsetenv) {
+       if (shell->unsetenv) {
                /* for the benfit of ksh */
                unsetenv("ENV");
        }
@@ -119,7 +119,7 @@ Proc_Exec(const ProcStuff *ps)
                write(STDERR_FILENO, strerror(errno), strlen(strerror(errno)));
                write(STDERR_FILENO, "\n", 1);
        } else {
-               execv(commandShell->path, ps->argv);
+               execv(shell->path, ps->argv);
 
                write(STDERR_FILENO,
                    "Could not execute shell\n",
index 0b2e1e3..4328539 100644 (file)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $DragonFly: src/usr.bin/make/proc.h,v 1.2 2005/06/16 20:51:04 okumoto Exp $
+ * $DragonFly: src/usr.bin/make/proc.h,v 1.3 2005/07/02 10:46:01 okumoto Exp $
  */
 
 #ifndef proc_h_458845848
 #define proc_h_458845848
 
+struct Shell;
+
 /**
  * Information used to create a new process.
  */
@@ -48,6 +50,6 @@ typedef struct ProcStuff {
        pid_t   child_pid;
 } ProcStuff;
 
-void Proc_Exec(const ProcStuff *) __dead2;
+void Proc_Exec(const ProcStuff *, struct Shell *) __dead2;
 
 #endif /* proc_h_458845848 */