Loading...
gen/FreeBSD/exec.c.patch Libc-320.1.3 Libc-763.12
--- Libc/Libc-320.1.3/gen/FreeBSD/exec.c.patch
+++ Libc/Libc-763.12/gen/FreeBSD/exec.c.patch
@@ -1,12 +1,35 @@
---- exec.c.orig	Fri Jan  3 15:16:55 2003
-+++ exec.c	Sat May  3 14:03:35 2003
-@@ -51,7 +51,8 @@
- #include <stdarg.h>
+--- exec.c.orig	2010-07-06 16:02:22.000000000 -0700
++++ exec.c	2010-07-06 16:31:46.000000000 -0700
+@@ -48,7 +48,11 @@ __FBSDID("$FreeBSD: src/lib/libc/gen/exe
  #include "un-namespace.h"
+ #include "libc_private.h"
  
 -extern char **environ;
 +#include <crt_externs.h>
 +#define environ (*_NSGetEnviron())
++
++int
++_execvpe(const char *name, char * const argv[], char * const envp[]);
  
  int
  execl(const char *name, const char *arg, ...)
+@@ -259,8 +263,9 @@ retry:		(void)_execve(bp, argv, envp);
+ 	}
+ 	if (eacces)
+ 		errno = EACCES;
+-	else
++	else if (cur)
+ 		errno = ENOENT;
++	/* else use existing errno from _execve */
+ done:
+ 	return (-1);
+ }
+@@ -271,7 +276,7 @@ execvP(const char *name, const char *pat
+ 	return execvPe(name, path, argv, environ);
+ }
+ 
+-int
++__private_extern__ int
+ _execvpe(const char *name, char * const argv[], char * const envp[])
+ {
+ 	const char *path;