diff --git a/library/GNUmakefile.68k b/library/GNUmakefile.68k index 91fb8d8..dd97182 100644 --- a/library/GNUmakefile.68k +++ b/library/GNUmakefile.68k @@ -1,5 +1,5 @@ # -# $Id: GNUmakefile.68k,v 1.90 2006-08-01 16:41:01 obarthel Exp $ +# $Id: GNUmakefile.68k,v 1.91 2006-08-01 17:01:13 obarthel Exp $ # # :ts=8 # @@ -527,6 +527,8 @@ UNIX_LIB = \ unistd_chdir_exit.o \ unistd_chown.o \ unistd_common_pathconf.o \ + unistd_def_path.o \ + unistd_def_path_delimiter.o \ unistd_execl.o \ unistd_execle.o \ unistd_execlp.o \ diff --git a/library/GNUmakefile.os4 b/library/GNUmakefile.os4 index 4bca0f5..2efda19 100644 --- a/library/GNUmakefile.os4 +++ b/library/GNUmakefile.os4 @@ -1,5 +1,5 @@ # -# $Id: GNUmakefile.os4,v 1.103 2006-08-01 16:41:01 obarthel Exp $ +# $Id: GNUmakefile.os4,v 1.104 2006-08-01 17:01:13 obarthel Exp $ # # :ts=8 # @@ -570,6 +570,8 @@ UNIX_LIB = \ unistd_chdir_exit.o \ unistd_chown.o \ unistd_common_pathconf.o \ + unistd_def_path.o \ + unistd_def_path_delimiter.o \ unistd_execl.o \ unistd_execle.o \ unistd_execlp.o \ diff --git a/library/include/dos.h b/library/include/dos.h index 9e55d87..fc47d07 100644 --- a/library/include/dos.h +++ b/library/include/dos.h @@ -1,5 +1,5 @@ /* - * $Id: dos.h,v 1.20 2006-05-04 08:01:47 obarthel Exp $ + * $Id: dos.h,v 1.21 2006-08-01 17:01:14 obarthel Exp $ * * :ts=4 * @@ -489,6 +489,11 @@ extern BOOL __expand_wildcard_args; /****************************************************************************/ +extern char ** __default_path_delimiter; +extern char ** __default_path; + +/****************************************************************************/ + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/library/unistd_def_path.c b/library/unistd_def_path.c new file mode 100644 index 0000000..509cac3 --- /dev/null +++ b/library/unistd_def_path.c @@ -0,0 +1,40 @@ +/* + * $Id: unistd_def_path.c,v 1.1 2006-08-01 17:01:13 obarthel Exp $ + * + * :ts=4 + * + * Portable ISO 'C' (1994) runtime library for the Amiga computer + * Copyright (c) 2002-2006 by Olaf Barthel + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Neither the name of Olaf Barthel nor the names of contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _UNISTD_HEADERS_H +#include "unistd_headers.h" +#endif /* _UNISTD_HEADERS_H */ + +/****************************************************************************/ + +char ** __default_path = "/gcc/bin:/SDK/C:/SDK/Local/C:/C:."; diff --git a/library/unistd_def_path_delimiter.c b/library/unistd_def_path_delimiter.c new file mode 100644 index 0000000..c9793b7 --- /dev/null +++ b/library/unistd_def_path_delimiter.c @@ -0,0 +1,40 @@ +/* + * $Id: unistd_def_path_delimiter.c,v 1.1 2006-08-01 17:01:13 obarthel Exp $ + * + * :ts=4 + * + * Portable ISO 'C' (1994) runtime library for the Amiga computer + * Copyright (c) 2002-2006 by Olaf Barthel + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Neither the name of Olaf Barthel nor the names of contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _UNISTD_HEADERS_H +#include "unistd_headers.h" +#endif /* _UNISTD_HEADERS_H */ + +/****************************************************************************/ + +char ** __default_path_delimiter = ":"; diff --git a/library/unistd_execle.c b/library/unistd_execle.c index e3c2820..d478df3 100644 --- a/library/unistd_execle.c +++ b/library/unistd_execle.c @@ -1,5 +1,5 @@ /* - * $Id: unistd_execle.c,v 1.1 2006-08-01 14:27:52 obarthel Exp $ + * $Id: unistd_execle.c,v 1.2 2006-08-01 17:01:13 obarthel Exp $ * * :ts=4 * @@ -72,31 +72,24 @@ execle(const char *path, const char *arg0, ...) goto out; } + va_start(args,arg0); + if(argc > 0) { size_t i; argv[0] = arg0; - va_start(args,arg0); - for(i = 1 ; i < argc ; i++) argv[i] = va_arg(args,const char *); /* Skip the NULL terminator */ (void)va_arg(args, char **); - envp = va_arg(args, char **); - - va_end(args); } - else - { - va_start(args,arg0); - envp = va_arg(args, char **); + envp = va_arg(args, char **); - va_end(args); - } + va_end(args); argv[argc] = NULL; diff --git a/library/unistd_execv.c b/library/unistd_execv.c index d834847..12e608b 100644 --- a/library/unistd_execv.c +++ b/library/unistd_execv.c @@ -1,5 +1,5 @@ /* - * $Id: unistd_execv.c,v 1.1 2006-08-01 14:27:52 obarthel Exp $ + * $Id: unistd_execv.c,v 1.2 2006-08-01 17:01:13 obarthel Exp $ * * :ts=4 * @@ -46,7 +46,7 @@ execv(const char *path,char * const argv[]) { int result; - result = execve(path,argv,environ); + result = execve(path,argv,NULL /*environ*/); return(result); } diff --git a/library/unistd_execvp.c b/library/unistd_execvp.c index 539fb56..65c2d16 100644 --- a/library/unistd_execvp.c +++ b/library/unistd_execvp.c @@ -1,5 +1,5 @@ /* - * $Id: unistd_execvp.c,v 1.1 2006-08-01 14:27:52 obarthel Exp $ + * $Id: unistd_execvp.c,v 1.2 2006-08-01 17:01:13 obarthel Exp $ * * :ts=4 * @@ -41,11 +41,6 @@ /****************************************************************************/ -char ** __default_path_delimiter = ":"; -char ** __default_path = "/gcc/bin:/SDK/C:/SDK/Local/C:/C:."; - -/****************************************************************************/ - /* A local version of the BSD strsep() function. */ static char * local_strsep(char ** string_ptr, const char * delimiter)