From: Jason Wright Date: Wed, 15 Jun 2005 15:33:55 GMT Subject: execlp sentinel Message-ID: <20050615153355.GE12393@thought.net> 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];