diff --git a/reactos/lib/crtdll/process/System.c b/reactos/lib/crtdll/process/System.c index 861f3ca62c5..fcaadb4a833 100644 --- a/reactos/lib/crtdll/process/System.c +++ b/reactos/lib/crtdll/process/System.c @@ -1,7 +1,7 @@ #include #include -int system(const char *command) +int _system(const char *command) { char CmdLine[MAX_PATH]; char *comspec = getenv("COMSPEC"); @@ -13,4 +13,4 @@ int system(const char *command) return -1; return 0; -} \ No newline at end of file +} diff --git a/reactos/lib/crtdll/process/execl.c b/reactos/lib/crtdll/process/execl.c index f971024031f..1e191848bad 100644 --- a/reactos/lib/crtdll/process/execl.c +++ b/reactos/lib/crtdll/process/execl.c @@ -4,7 +4,7 @@ extern char *const *_environ; -int execl(const char *path, const char *argv0, ...) +int _execl(const char *path, const char *argv0, ...) { - return spawnve(P_OVERLAY, path, (char *const*)&argv0, _environ); + return _spawnve(P_OVERLAY, path, (const char *const*)&argv0,(const char *const*) _environ); } diff --git a/reactos/lib/crtdll/process/execle.c b/reactos/lib/crtdll/process/execle.c index c68ec0f0868..3d7c3b30650 100644 --- a/reactos/lib/crtdll/process/execle.c +++ b/reactos/lib/crtdll/process/execle.c @@ -10,8 +10,8 @@ u.ccp = *++ptr; \ ptr = u.ccpp; -int execle(const char *path, const char *argv0, ... /*, const char **envp */) +int _execle(const char *path, const char *argv0, ... /*, const char **envp */) { scan_ptr(); - return spawnve(P_OVERLAY, path, (char *const *)&argv0, (char *const *)ptr); + return _spawnve(P_OVERLAY, path, (const char *const *)&argv0, (const char *const *)ptr); } diff --git a/reactos/lib/crtdll/process/execlp.c b/reactos/lib/crtdll/process/execlp.c index 45c11924729..ab9cbe3fb36 100644 --- a/reactos/lib/crtdll/process/execlp.c +++ b/reactos/lib/crtdll/process/execlp.c @@ -3,9 +3,9 @@ #include -extern char * const *_environ; +extern char **_environ; -int execlp(const char *path, const char *argv0, ...) +int _execlp(const char *path, const char *argv0, ...) { - return spawnvpe(P_OVERLAY, path, (char * const *)&argv0, _environ); + return _spawnvpe(P_OVERLAY, path, (const char * const *)&argv0,(const char *const*) _environ); } diff --git a/reactos/lib/crtdll/process/execlpe.c b/reactos/lib/crtdll/process/execlpe.c index da5f70848e5..9afa1137b86 100644 --- a/reactos/lib/crtdll/process/execlpe.c +++ b/reactos/lib/crtdll/process/execlpe.c @@ -10,8 +10,8 @@ u.ccp = *++ptr; \ ptr = u.ccpp; -int execlpe(const char *path, const char *argv0, ... /*, const char **envp */) +int _execlpe(const char *path, const char *argv0, ... /*, const char **envp */) { scan_ptr(); - return spawnvpe(P_OVERLAY, path, (char * const *)&argv0, (char * const *)ptr); + return _spawnvpe(P_OVERLAY, path, (const char * const *)&argv0, (const char * const *)ptr); } diff --git a/reactos/lib/crtdll/process/execv.c b/reactos/lib/crtdll/process/execv.c index 893cf85533a..20a525ede8d 100644 --- a/reactos/lib/crtdll/process/execv.c +++ b/reactos/lib/crtdll/process/execv.c @@ -1,11 +1,10 @@ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -//#include -//#include + #include extern char * const *_environ; -int execv(const char *path, const char * const *argv) +int _execv(const char *path, const char * const *argv) { - return spawnve(P_OVERLAY, path, argv, _environ); + return _spawnve(P_OVERLAY, path, argv,(const char *const*) _environ); } diff --git a/reactos/lib/crtdll/process/execve.c b/reactos/lib/crtdll/process/execve.c index 38b4a96b7c2..2bc3ca821d5 100644 --- a/reactos/lib/crtdll/process/execve.c +++ b/reactos/lib/crtdll/process/execve.c @@ -1,9 +1,8 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -//#include -//#include + #include -int execve(const char *path,const char * const argv[], char * const envp[]) +int _execve(const char *path,const char * const argv[], char * const envp[]) { - return spawnve(P_OVERLAY, path, argv, envp); + return _spawnve(P_OVERLAY, path, argv, envp); } diff --git a/reactos/lib/crtdll/process/execvp.c b/reactos/lib/crtdll/process/execvp.c index cdaad875545..6b5f3088104 100644 --- a/reactos/lib/crtdll/process/execvp.c +++ b/reactos/lib/crtdll/process/execvp.c @@ -1,11 +1,9 @@ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -//#include -//#include #include extern char *const *_environ; -int execvp(const char *path,const char * const argv[]) +int _execvp(const char *path,const char * const argv[]) { - return spawnvpe(P_OVERLAY, path, argv, _environ); + return _spawnvpe(P_OVERLAY,path,(const char *const*) argv,(const char *const*) _environ); } diff --git a/reactos/lib/crtdll/process/execvpe.c b/reactos/lib/crtdll/process/execvpe.c index d4af43ebcff..4d1a4c23e4f 100644 --- a/reactos/lib/crtdll/process/execvpe.c +++ b/reactos/lib/crtdll/process/execvpe.c @@ -3,13 +3,10 @@ #include -int execvpe(const char *path,const char * const argv[],const char * const envp[]) +int _execvpe(const char *path,const char * const argv[],const char * const envp[]) { - return spawnvpe(P_OVERLAY, path, argv, envp); + return _spawnvpe(P_OVERLAY, path, argv, envp); } -int _execvpe(const char *path,const char * const argv[],const char * const envp[]) -{ - return spawnvpe(P_OVERLAY, path, argv, envp); -} \ No newline at end of file + diff --git a/reactos/lib/crtdll/process/spawnl.c b/reactos/lib/crtdll/process/spawnl.c index 0397fb90413..a706a87aa46 100644 --- a/reactos/lib/crtdll/process/spawnl.c +++ b/reactos/lib/crtdll/process/spawnl.c @@ -2,9 +2,9 @@ #include -extern char **_environ; +extern char *_environ[]; -int spawnl(int mode, const char *path, const char *argv0, ...) +int _spawnl(int mode, const char *path, const char *argv0, ...) { - return spawnve(mode, path, (char * const *)&argv0, _environ); + return _spawnve(mode, path, (const char * const *)&argv0,(const char *const *) _environ); } diff --git a/reactos/lib/crtdll/process/spawnle.c b/reactos/lib/crtdll/process/spawnle.c index 157caad1fe5..cf14aa54d11 100644 --- a/reactos/lib/crtdll/process/spawnle.c +++ b/reactos/lib/crtdll/process/spawnle.c @@ -9,8 +9,8 @@ u.ccp = *++ptr; \ ptr = u.ccpp; -int spawnle(int mode, const char *path, const char *argv0, ... /*, const char **envp */) +int _spawnle(int mode, const char *path, const char *argv0, ... /*, const char **envp */) { scan_ptr(); - return spawnve(mode, path, (char * const *)&argv0, (char * const *)ptr); + return _spawnve(mode, path, (const char * const *)&argv0, (const char * const *)ptr); } diff --git a/reactos/lib/crtdll/process/spawnlp.c b/reactos/lib/crtdll/process/spawnlp.c index 8813e5cf3a3..4d1a1107694 100644 --- a/reactos/lib/crtdll/process/spawnlp.c +++ b/reactos/lib/crtdll/process/spawnlp.c @@ -4,7 +4,7 @@ extern char **_environ; -int spawnlp(int mode, const char *path, const char *argv0, ...) +int _spawnlp(int mode, const char *path, const char *argv0, ...) { - return spawnvpe(mode, path, (char * const *)&argv0, (char * const *)_environ); + return _spawnvpe(mode, path, (const char * const *)&argv0, (const char * const *)_environ); } diff --git a/reactos/lib/crtdll/process/spawnlpe.c b/reactos/lib/crtdll/process/spawnlpe.c index 908e2f4bc24..38558a4f7f7 100644 --- a/reactos/lib/crtdll/process/spawnlpe.c +++ b/reactos/lib/crtdll/process/spawnlpe.c @@ -11,5 +11,5 @@ int spawnlpe(int mode, const char *path, const char *argv0, ... /*, const char **envp */) { scan_ptr(); - return spawnvpe(mode, path, (char * const *)&argv0, (char * const *)ptr); + return spawnvpe(mode, path, (const char * const *)&argv0, (const char * const *)ptr); } diff --git a/reactos/lib/crtdll/process/spawnv.c b/reactos/lib/crtdll/process/spawnv.c index a41b777fff2..edc135a9730 100644 --- a/reactos/lib/crtdll/process/spawnv.c +++ b/reactos/lib/crtdll/process/spawnv.c @@ -2,9 +2,9 @@ #include -extern char **_environ; +extern char *_environ[]; -int spawnv(int mode, const char *path,const char *const argv[]) +int _spawnv(int mode, const char *path,const char *const argv[]) { - return spawnve(mode, path, (char * const *)argv, _environ); + return _spawnve(mode, path, (const char * const *)argv,(const char * const *) _environ); } diff --git a/reactos/lib/crtdll/process/spawnve.c b/reactos/lib/crtdll/process/spawnve.c index c848475154f..3d21e7b7c14 100644 --- a/reactos/lib/crtdll/process/spawnve.c +++ b/reactos/lib/crtdll/process/spawnve.c @@ -1,11 +1,12 @@ +#include #include #include -#include #include +#include int _p_overlay = 2; -int spawnve(int mode, const char *path,const char *const argv[],const char *const envp[]) +int _spawnve(int mode, const char *path,const char *const argv[],const char *const envp[]) { char ApplicationName[MAX_PATH]; @@ -28,15 +29,15 @@ int spawnve(int mode, const char *path,const char *const argv[],const char *cons StartupInfo.dwFlags = 0; -// if ( CreateProcessA(ApplicationName,CommandLine,NULL,NULL,TRUE,CREATE_NEW_CONSOLE|NORMAL_PRIORITY_CLASS,NULL,*envp,&StartupInfo,&ProcessInformation) ) { -// errno = GetLastError(); -// return -1; -// } + if ( CreateProcessA(ApplicationName,CommandLine,NULL,NULL,TRUE,CREATE_NEW_CONSOLE|NORMAL_PRIORITY_CLASS,NULL,*envp,&StartupInfo,&ProcessInformation) ) { + //errno = GetLastError(); + return -1; + } if (mode == P_OVERLAY) exit(i); // _P_NOWAIT or _P_NOWAITO - return ProcessInformation.hProcess; + return (int)ProcessInformation.hProcess; } diff --git a/reactos/lib/crtdll/process/spawnvp.c b/reactos/lib/crtdll/process/spawnvp.c index 34b39ccba75..5757a50db16 100644 --- a/reactos/lib/crtdll/process/spawnvp.c +++ b/reactos/lib/crtdll/process/spawnvp.c @@ -2,9 +2,9 @@ #include -extern char **_environ; +extern char *_environ[]; -int spawnvp(int mode, const char *path,const char *const argv[]) +int _spawnvp(int mode, const char *path,const char *const argv[]) { - return spawnvpe(mode, path, (char * const *)argv, _environ); + return _spawnvpe(mode, path, (const char * const *)argv,(const char * const *) _environ); } diff --git a/reactos/lib/crtdll/process/spawnvpe.c b/reactos/lib/crtdll/process/spawnvpe.c index 4ba9a2ec148..b580de66760 100644 --- a/reactos/lib/crtdll/process/spawnvpe.c +++ b/reactos/lib/crtdll/process/spawnvpe.c @@ -4,20 +4,10 @@ #include -int spawnvpe(int mode, const char *path,const char *const argv[],const char *const envp[]) +int _spawnvpe(int mode, const char *path,const char *const argv[],const char *const envp[]) { - - char rpath[300]; - union {const char * const *cpcp; char **cpp; } u; - u.cpcp = envp; -/* - if (!__dosexec_find_on_path(path, u.cpp, rpath)) - { - errno = ENOENT; - return -1; - } - else -*/ - return spawnve(mode, rpath, argv, envp); +// djgpp does something like a searchpath here + + return _spawnve(mode, path, argv, envp); }