You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2011/06/21 08:45:50 UTC

svn commit: r1137878 - /commons/proper/daemon/trunk/src/native/windows/src/utils.c

Author: mturk
Date: Tue Jun 21 06:45:50 2011
New Revision: 1137878

URL: http://svn.apache.org/viewvc?rev=1137878&view=rev
Log:
Modify CRT's PATH as well

Modified:
    commons/proper/daemon/trunk/src/native/windows/src/utils.c

Modified: commons/proper/daemon/trunk/src/native/windows/src/utils.c
URL: http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/native/windows/src/utils.c?rev=1137878&r1=1137877&r2=1137878&view=diff
==============================================================================
--- commons/proper/daemon/trunk/src/native/windows/src/utils.c (original)
+++ commons/proper/daemon/trunk/src/native/windows/src/utils.c Tue Jun 21 06:45:50 2011
@@ -116,17 +116,19 @@ BOOL apxAddEnvironmentVariableW(APXHANDL
     rc = GetEnvironmentVariableW(wsName, NULL, 0);
     if (rc == 0 && GetLastError() == ERROR_ENVVAR_NOT_FOUND)
         return FALSE;
-    al = lstrlenW(szAdd) + 1;    
+    al = lstrlenW(szAdd) + 6;
     if (!(wsAdd = apxPoolAlloc(hPool, (al + rc + 1) * sizeof(WCHAR))))
         return FALSE;
-    lstrcpyW(wsAdd, szAdd);        
+    lstrcpyW(wsAdd, L"PATH=");        
+    lstrcatW(wsAdd, szAdd);        
     lstrcatW(wsAdd, L";");        
-    if (!GetEnvironmentVariableW(wsName, wsAdd + al, rc)) {
+    if (!GetEnvironmentVariableW(wsName, wsAdd + al, rc - al)) {
         apxLogWrite(APXLOG_MARK_SYSERR);
         apxFree(wsAdd);
         return FALSE;
     }
-    SetEnvironmentVariableW(wsName, wsAdd);
+    SetEnvironmentVariableW(wsName, wsAdd + 5);
+    _wputenv(wsAdd);
     apxFree(wsAdd);
     return TRUE;
 }