#include <process.h>
#include <windows.h>
-int system(const char *command)
+int _system(const char *command)
{
char CmdLine[MAX_PATH];
char *comspec = getenv("COMSPEC");
return -1;
return 0;
-}
\ No newline at end of file
+}
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);
}
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);
}
#include <process.h>
-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);
}
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);
}
/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
-//#include <libc/stubs.h>
-//#include <unistd.h>
+
#include <process.h>
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);
}
/* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */
-//#include <libc/stubs.h>
-//#include <unistd.h>
+
#include <process.h>
-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);
}
/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
-//#include <libc/stubs.h>
-//#include <unistd.h>
#include <process.h>
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);
}
#include <process.h>
-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
+
#include <process.h>
-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);
}
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);
}
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);
}
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);
}
#include <process.h>
-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);
}
+#include <windows.h>
#include <process.h>
#include <string.h>
-#include <windows.h>
#include <stdio.h>
+#include <stdlib.h>
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];
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;
}
#include <process.h>
-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);
}
#include <errno.h>
-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);
}