execlp sentinel

From: Jason Wright <hidden>
Date: 2016-06-15 22:42:00

Another thing I ran into when porting cogito-0.11.3 to OpenBSD...  the
NULL last argument to execlp() must be cast to a pointer type (NULL
is an integer type on OpenBSD) in order for it to match as being
a proper sentinel value.

--Jason L. Wright
--- diff.c.orig	Thu Jun  9 05:15:09 2005
+++ diff.c	Wed Jun 15 11:20:08 2005
@@ -157,7 +157,7 @@ static void builtin_diff(const char *nam
 			exit(0);
 	}
 	fflush(NULL);
-	execlp("/bin/sh","sh", "-c", cmd, NULL);
+	execlp("/bin/sh","sh", "-c", cmd, (void *)NULL);
 }
 
 struct diff_filespec *alloc_filespec(const char *path)
@@ -518,7 +518,7 @@ static void run_external_diff(const char
 				execvp(pgm, (char *const*) exec_arg);
 			}
 			else
-				execlp(pgm, pgm, name, NULL);
+				execlp(pgm, pgm, name, (void *)NULL);
 		}
 		/*
 		 * otherwise we use the built-in one.
--- merge-cache.c.orig	Tue Jun 14 17:07:44 2005
+++ merge-cache.c	Tue Jun 14 17:07:50 2005
@@ -23,7 +23,7 @@ static void run_program(void)
 			    arguments[5],
 			    arguments[6],
 			    arguments[7],
-			    NULL);
+			    (void *)NULL);
 		die("unable to execute '%s'", pgm);
 	}
 	if (waitpid(pid, &status, 0) < 0 || !WIFEXITED(status) || WEXITSTATUS(status)) {
--- rsh.c.orig	Wed Jun 15 11:21:57 2005
+++ rsh.c	Wed Jun 15 11:22:08 2005
@@ -57,7 +57,7 @@ int setup_connection(int *fd_in, int *fd
 		close(sv[1]);
 		dup2(sv[0], 0);
 		dup2(sv[0], 1);
-		execlp("ssh", "ssh", host, command, NULL);
+		execlp("ssh", "ssh", host, command, (void *)NULL);
 	}
 	close(sv[0]);
 	*fd_in = sv[1];
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help