update for HEAD-2003091401
[reactos.git] / 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 }