diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 1996-09-04 14:15:31 +0000 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 1996-09-04 14:15:31 +0000 |
commit | ac9f8e8094ea19199a24fd5c67053718198ed172 (patch) | |
tree | bd3d0fe88168c1a970c3b6809f13562ffa7388cd /otherlibs/unix/execvp.c | |
parent | 7fb9cd28d0cfbca9c91a96fefe5a730cab3d4804 (diff) |
Renommage unix.h -> unixsupport.h
Petites adaptations pour Win32.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@951 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/unix/execvp.c')
-rw-r--r-- | otherlibs/unix/execvp.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/otherlibs/unix/execvp.c b/otherlibs/unix/execvp.c index 579f08faa..870075bd9 100644 --- a/otherlibs/unix/execvp.c +++ b/otherlibs/unix/execvp.c @@ -13,9 +13,10 @@ #include <mlvalues.h> #include <memory.h> -#include "unix.h" +#include "unixsupport.h" extern char ** cstringvect(); +extern char ** environ; value unix_execvp(path, args) /* ML */ value path, args; @@ -29,3 +30,20 @@ value unix_execvp(path, args) /* ML */ /* from smart compilers */ } +value unix_execvpe(path, args, env) /* ML */ + value path, args, env; +{ + char ** argv; + char ** saved_environ; + argv = cstringvect(args); + saved_environ = environ; + environ = cstringvect(env); + (void) execvp(String_val(path), argv); + stat_free((char *) argv); + stat_free((char *) environ); + environ = saved_environ; + uerror("execvp", path); + return Val_unit; /* never reached, but suppress warnings */ + /* from smart compilers */ +} + |