From a3ad6e779905720c6d56c1d5e155cd57fd5dcf36 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Wed, 21 Jul 2004 17:39:37 +0000 Subject: [PATCH] 2004-07-20 Alex Chapiro Fix for PR 70359 Binaries regenerated * library/Win32ProcessEx.c * library/starter/starter.cpp * os/win32/x86/spawner.dll * os/win32/x86/starter.dll --- core/org.eclipse.cdt.core.win32/ChangeLog | 10 +++++++++ .../library/Win32ProcessEx.c | 21 +++++++++++++----- .../library/starter/starter.cpp | 21 ++++++++++++++++++ .../os/win32/x86/spawner.dll | Bin 61440 -> 61440 bytes .../os/win32/x86/starter.exe | Bin 16384 -> 16384 bytes 5 files changed, 46 insertions(+), 6 deletions(-) diff --git a/core/org.eclipse.cdt.core.win32/ChangeLog b/core/org.eclipse.cdt.core.win32/ChangeLog index 25e25bd91c5..4c4ef9577b5 100644 --- a/core/org.eclipse.cdt.core.win32/ChangeLog +++ b/core/org.eclipse.cdt.core.win32/ChangeLog @@ -1,3 +1,13 @@ +2004-07-20 Alex Chapiro + + Fix for PR 70359 + Binaries regenerated + + * library/Win32ProcessEx.c + * library/starter/starter.cpp + * os/win32/x86/spawner.dll + * os/win32/x86/starter.dll + 2004-04-29 Alex Chapiro Support for I18N within spawner. diff --git a/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c b/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c index d69f02230bd..3971fd2dd9a 100644 --- a/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c +++ b/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c @@ -108,7 +108,7 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec0 int ret = 0; _TCHAR szCmdLine[MAX_CMD_SIZE]; int nBlkSize = MAX_ENV_SIZE; - _TCHAR * szEnvBlock = (_TCHAR *)malloc(nBlkSize * sizeof(_TCHAR)); + _TCHAR * szEnvBlock = NULL; jsize nCmdTokens = 0; jsize nEnvVars = 0; int i; @@ -220,10 +220,16 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec0 szCmdLine[nPos] = _T('\0'); + +#ifdef DEBUG_MONITOR + _stprintf(buffer, _T("There are %i environment variables \n"), nEnvVars); + OutputDebugStringW(buffer); +#endif // Prepare environment block if (nEnvVars > 0) { nPos = 0; + szEnvBlock = (_TCHAR *)malloc(nBlkSize * sizeof(_TCHAR)); for(i = 0; i < nEnvVars; ++i) { jobject item = (*env) -> GetObjectArrayElement(env, envp, i); @@ -298,7 +304,7 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec0 0, /* thread security attribute */ FALSE, /* inherits system handles */ flags, /* normal attached process */ - envBlk, /* environment block */ + szEnvBlock, /* environment block */ cwd, /* change to the new current directory */ &si, /* (in) startup information */ &pi); /* (out) process information */ @@ -307,8 +313,9 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec0 if(NULL != cwd) free((void *)cwd); - - free(szEnvBlock); + + if(NULL != szEnvBlock) + free(szEnvBlock); if (!ret) // Launching error { @@ -411,7 +418,7 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec1 int nPos; _TCHAR szCmdLine[MAX_CMD_SIZE]; int nBlkSize = MAX_ENV_SIZE; - _TCHAR * szEnvBlock = (_TCHAR *)malloc(nBlkSize * sizeof(_TCHAR)); + _TCHAR * szEnvBlock = NULL; sa.nLength = sizeof(sa); @@ -450,6 +457,7 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec1 // Prepare environment block if (nEnvVars > 0) { + szEnvBlock = (_TCHAR *)malloc(nBlkSize * sizeof(_TCHAR)); nPos = 0; for(i = 0; i < nEnvVars; ++i) { @@ -516,7 +524,8 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec1 if(NULL != cwd) free(cwd); - free(szEnvBlock); + if(NULL != szEnvBlock) + free(szEnvBlock); if (!ret) // error { diff --git a/core/org.eclipse.cdt.core.win32/library/starter/starter.cpp b/core/org.eclipse.cdt.core.win32/library/starter/starter.cpp index a60e8ac5b32..21087d46d6b 100644 --- a/core/org.eclipse.cdt.core.win32/library/starter/starter.cpp +++ b/core/org.eclipse.cdt.core.win32/library/starter/starter.cpp @@ -151,6 +151,27 @@ extern "C" int _tmain(int argc, _TCHAR * argv[]) { return -1;; } + + +#ifdef DEBUG_MONITOR + _TCHAR * lpvEnv = GetEnvironmentStringsW(); + + // If the returned pointer is NULL, exit. + if (lpvEnv == NULL) + OutputDebugStringW(_T("Cannot Read Environment\n")); + else { + // Variable strings are separated by NULL byte, and the block is + // terminated by a NULL byte. + + OutputDebugStringW(_T("Starter: Environment\n")); + for (_TCHAR * lpszVariable = (_TCHAR *) lpvEnv; *lpszVariable; lpszVariable+=_tcslen(lpszVariable) + 1) { + _stprintf(buffer, _T("%s\n"), lpszVariable); + OutputDebugStringW(buffer); + } + + FreeEnvironmentStringsW(lpvEnv); + } +#endif #ifdef DEBUG_MONITOR _stprintf(buffer, _T("Starting: %s\n"), szCmdLine); OutputDebugStringW(buffer); diff --git a/core/org.eclipse.cdt.core.win32/os/win32/x86/spawner.dll b/core/org.eclipse.cdt.core.win32/os/win32/x86/spawner.dll index a654506805eccc29b313dbe895861e191e761b87..d2bb0a6563e4da1a9d5a56ea44aaa70f41780df9 100644 GIT binary patch delta 4990 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 Bk@Wxo delta 4981 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 diff --git a/core/org.eclipse.cdt.core.win32/os/win32/x86/starter.exe b/core/org.eclipse.cdt.core.win32/os/win32/x86/starter.exe index 8161d7fece3b4b877ddd351aecc52b3d2aca074e..105b0a1ba76fd1bd30e36f4fbc2e51a348f9712c 100644 GIT binary patch delta 16 XcmZo@U~Fh$obZ5Iw({@B$FlYSI5`IS delta 16 XcmZo@U~Fh$obZ4-``pBhk7exvIz0z4