74ac71f18e8cf97235a39e67e5208f42ffc99d47
[reactos.git] / reactos / lib / crtdll / process / spawnle.c
1 #include <msvcrt/process.h>
2 #include <msvcrt/stdlib.h>
3 #include <msvcrt/stdarg.h>
4
5
6 /*
7 * @implemented
8 */
9 int _spawnle(int mode, const char *path, const char *szArgv0, ... /*, const char **envp */)
10 {
11 char *szArg[100];
12 char *a;
13 char *ptr;
14 int i = 1;
15 va_list l = 0;
16 szArg[0]=(char*)szArgv0;
17 va_start(l,szArgv0);
18 do {
19 a = (char *)va_arg(l,const char *);
20 szArg[i++] = (char *)a;
21 } while ( a != NULL && i < 100 );
22
23 if(a != NULL)
24 {
25 // __set_errno(E2BIG);
26 return -1;
27 }
28
29 ptr = (char *)va_arg(l,const char *);
30
31 return _spawnve(mode, path, (char * const *)szArg, (char * const *)ptr);
32 }