static int
do_spawn(int mode, const char* cmdname, const char* args, const char* envp)
{
- STARTUPINFO StartupInfo;
+ STARTUPINFOA StartupInfo;
PROCESS_INFORMATION ProcessInformation;
char* fmode;
HANDLE* hFile;
if (mode != _P_NOWAIT && mode != _P_NOWAITO && mode != _P_WAIT && mode != _P_DETACH && mode != _P_OVERLAY)
{
- errno = EINVAL;
+ __set_errno ( EINVAL );
return -1;
}
if (0 != _access(cmdname, F_OK))
{
- errno = ENOENT;
+ __set_errno ( ENOENT );
return -1;
}
if (0 == _access(cmdname, D_OK))
{
- errno = EISDIR;
+ __set_errno ( EISDIR );
return -1;
}
- memset (&StartupInfo, 0, sizeof(STARTUPINFO));
- StartupInfo.cb = sizeof(STARTUPINFO);
+ memset (&StartupInfo, 0, sizeof(StartupInfo));
+ StartupInfo.cb = sizeof(StartupInfo);
for (last = i = 0; i < maxfno; i++)
{
StartupInfo.lpReserved2 = malloc(StartupInfo.cbReserved2);
if (StartupInfo.lpReserved2 == NULL)
{
- errno = ENOMEM;
+ __set_errno ( ENOMEM );
return -1;
}
return (int)ProcessInformation.hProcess;
}
+/*
+ * @implemented
+ */
int _spawnl(int mode, const char *cmdname, const char* arg0, ...)
{
va_list argp;
return ret;
}
+/*
+ * @implemented
+ */
int _spawnv(int mode, const char *cmdname, char* const* argv)
{
char* args;
return ret;
}
+/*
+ * @implemented
+ */
int _spawnle(int mode, const char *cmdname, const char* arg0, ... /*, NULL, const char* const* envp*/)
{
va_list argp;
ptr = (char* const*)va_arg(argp, char*);
}
while (ptr != NULL);
+ ptr = (char* const*)va_arg(argp, char*);
envs = argvtos(ptr, 0);
if (args)
{
}
+/*
+ * @implemented
+ */
int _spawnve(int mode, const char *cmdname, char* const* argv, char* const* envp)
{
char *args;
return ret;
}
+/*
+ * @implemented
+ */
int _spawnvp(int mode, const char* cmdname, char* const* argv)
{
char pathname[FILENAME_MAX];
return _spawnv(mode, find_exec(cmdname, pathname), argv);
}
+/*
+ * @implemented
+ */
int _spawnlp(int mode, const char* cmdname, const char* arg0, .../*, NULL*/)
{
va_list argp;
}
+/*
+ * @implemented
+ */
int _spawnlpe(int mode, const char* cmdname, const char* arg0, .../*, NULL, const char* const* envp*/)
{
va_list argp;
ptr = (char* const*)va_arg(argp, char*);
}
while (ptr != NULL);
+ ptr = (char* const*)va_arg(argp, char*);
envs = argvtos(ptr, 0);
if (args)
{
return ret;
}
+/*
+ * @implemented
+ */
int _spawnvpe(int mode, const char* cmdname, char* const* argv, char* const* envp)
{
char pathname[FILENAME_MAX];
return _spawnve(mode, find_exec(cmdname, pathname), argv, envp);
}
+/*
+ * @implemented
+ */
int _execl(const char* cmdname, const char* arg0, ...)
{
char* args;
return ret;
}
+/*
+ * @implemented
+ */
int _execv(const char* cmdname, char* const* argv)
{
DPRINT("_execv('%s')\n", cmdname);
return _spawnv(P_OVERLAY, cmdname, argv);
}
+/*
+ * @implemented
+ */
int _execle(const char* cmdname, const char* arg0, ... /*, NULL, char* const* envp */)
{
va_list argp;
ptr = (char* const*)va_arg(argp, char*);
}
while (ptr != NULL);
- envs = argvtos((char**)ptr, 0);
+ ptr = (char* const*)va_arg(argp, char*);
+ envs = argvtos(ptr, 0);
if (args)
{
ret = do_spawn(P_OVERLAY, cmdname, args, envs);
return ret;
}
+/*
+ * @implemented
+ */
int _execve(const char* cmdname, char* const* argv, char* const* envp)
{
DPRINT("_execve('%s')\n", cmdname);
return _spawnve(P_OVERLAY, cmdname, argv, envp);
}
+/*
+ * @implemented
+ */
int _execlp(const char* cmdname, const char* arg0, ...)
{
char* args;
return ret;
}
+/*
+ * @implemented
+ */
int _execvp(const char* cmdname, char* const* argv)
{
DPRINT("_execvp('%s')\n", cmdname);
return _spawnvp(P_OVERLAY, cmdname, argv);
}
+/*
+ * @implemented
+ */
int _execlpe(const char* cmdname, const char* arg0, ... /*, NULL, char* const* envp */)
{
va_list argp;
ptr = (char* const*)va_arg(argp, char*);
}
while (ptr != NULL);
+ ptr = (char* const*)va_arg(argp, char*);
envs = argvtos(ptr, 0);
if (args)
{
return ret;
}
+/*
+ * @implemented
+ */
int _execvpe(const char* cmdname, char* const* argv, char* const* envp)
{
DPRINT("_execvpe('%s')\n", cmdname);