Commit 72b27923 authored by Ove Kaaven's avatar Ove Kaaven Committed by Alexandre Julliard

Fixed DOS environment passing.

parent 46597410
...@@ -131,7 +131,7 @@ static WORD MZ_InitEnvironment( LPDOSTASK lpDosTask, LPCSTR env, LPCSTR name ) ...@@ -131,7 +131,7 @@ static WORD MZ_InitEnvironment( LPDOSTASK lpDosTask, LPCSTR env, LPCSTR name )
if (env) { if (env) {
/* get size of environment block */ /* get size of environment block */
while (env[sz++]) sz+=strlen(env+sz); while (env[sz++]) sz+=strlen(env+sz)+1;
} else sz++; } else sz++;
/* allocate it */ /* allocate it */
envblk=DOSMEM_GetBlock(lpDosTask->hModule,sz+sizeof(WORD)+strlen(name)+1,&seg); envblk=DOSMEM_GetBlock(lpDosTask->hModule,sz+sizeof(WORD)+strlen(name)+1,&seg);
...@@ -364,6 +364,7 @@ HINSTANCE16 MZ_CreateProcess( LPCSTR name, LPCSTR cmdline, LPCSTR env, ...@@ -364,6 +364,7 @@ HINSTANCE16 MZ_CreateProcess( LPCSTR name, LPCSTR cmdline, LPCSTR env,
LPDOSTASK lpDosTask = NULL; /* keep gcc from complaining */ LPDOSTASK lpDosTask = NULL; /* keep gcc from complaining */
HMODULE16 hModule; HMODULE16 hModule;
HINSTANCE16 hInstance; HINSTANCE16 hInstance;
PDB32 *pdb = PROCESS_Current();
TDB *pTask = (TDB*)GlobalLock16( GetCurrentTask() ); TDB *pTask = (TDB*)GlobalLock16( GetCurrentTask() );
NE_MODULE *pModule = pTask ? NE_GetPtr( pTask->hModule ) : NULL; NE_MODULE *pModule = pTask ? NE_GetPtr( pTask->hModule ) : NULL;
HFILE16 hFile; HFILE16 hFile;
...@@ -378,6 +379,7 @@ HINSTANCE16 MZ_CreateProcess( LPCSTR name, LPCSTR cmdline, LPCSTR env, ...@@ -378,6 +379,7 @@ HINSTANCE16 MZ_CreateProcess( LPCSTR name, LPCSTR cmdline, LPCSTR env,
if ((hFile = OpenFile16( name, &ofs, OF_READ )) == HFILE_ERROR16) if ((hFile = OpenFile16( name, &ofs, OF_READ )) == HFILE_ERROR16)
return 2; /* File not found */ return 2; /* File not found */
if ((!env)&&pdb) env = pdb->env_db->environ;
if (alloc) { if (alloc) {
if ((hModule = MODULE_CreateDummyModule(&ofs)) < 32) if ((hModule = MODULE_CreateDummyModule(&ofs)) < 32)
return hModule; return hModule;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment