svn commit: r220750 - head/contrib/dialog

Nathan Whitehorn nwhitehorn at FreeBSD.org
Sun Apr 17 17:30:29 UTC 2011


Author: nwhitehorn
Date: Sun Apr 17 17:30:29 2011
New Revision: 220750
URL: http://svn.freebsd.org/changeset/base/220750

Log:
  Make dialog's --prgbox option actually work.

Modified:
  head/contrib/dialog/prgbox.c

Modified: head/contrib/dialog/prgbox.c
==============================================================================
--- head/contrib/dialog/prgbox.c	Sun Apr 17 17:28:17 2011	(r220749)
+++ head/contrib/dialog/prgbox.c	Sun Apr 17 17:30:29 2011	(r220750)
@@ -33,8 +33,7 @@ dlg_popen(const char *command, const cha
     FILE *result = 0;
     int fd[2];
     int pid;
-    char *blob;
-    char **argv;
+    const char *argv[4];
 
     if ((*type == 'r' || *type != 'w') && pipe(fd) == 0) {
 	switch (pid = fork()) {
@@ -63,11 +62,11 @@ dlg_popen(const char *command, const cha
 	     * given command.  Also, it needs the command to be parsed into
 	     * tokens.
 	     */
-	    if ((blob = malloc(4 + strlen(command))) != 0) {
-		sprintf(blob, "-c %s", command);
-		argv = dlg_string_to_argv(blob);
-		execvp("sh", argv);
-	    }
+	    argv[0] = "sh";
+	    argv[1] = "-c";
+	    argv[2] = command;
+	    argv[3] = NULL;
+	    execvp("sh", (char **)argv);
 	    _exit(127);
 	    /* NOTREACHED */
 	default:		/* parent */


More information about the svn-src-all mailing list