PERFORCE change 11406 for review

[email protected] (Chris Nandor) Wed, 18 Jul 2001 22:57:43 -0400
Newsgroups perl.perl5.changes.mac
Message-ID <p0510030db77bfd0c3a2a@[10.0.1.177]>
Change 11406 by pudge@pudge-mobile on 2001/07/19 01:11:39

	Integrate changes 11399,11401

Affected files ...

... //depot/maint-5.6/macperl/win32/perlhost.h#2 integrate
... //depot/maint-5.6/macperl/win32/win32.c#2 integrate

Differences ...

==== //depot/maint-5.6/macperl/win32/perlhost.h#2 (text) ====
Index: perl/win32/perlhost.h
--- perl/win32/perlhost.h.~1~	Wed Jul 18 19:15:05 2001
+++ perl/win32/perlhost.h	Wed Jul 18 19:15:05 2001
@@ -2286,9 +2286,10 @@
 void
 CPerlHost::Clearenv(void)
 {
+    dTHXo;
     char ch;
     LPSTR lpPtr, lpStr, lpEnvPtr;
-    if(m_lppEnvList != NULL) {
+    if (m_lppEnvList != NULL) {
 	/* set every entry to an empty string */
 	for(DWORD index = 0; index < m_dwEnvCount; ++index) {
 	    char* ptr = strchr(m_lppEnvList[index], '=');
@@ -2311,6 +2312,8 @@
 	    ch = *++lpPtr;
 	    *lpPtr = 0;
 	    Add(lpStr);
+	    if (!w32_pseudo_id)
+		(void)win32_putenv(lpStr);
 	    *lpPtr = ch;
 	}
 	lpStr += strlen(lpStr) + 1;
@@ -2323,22 +2326,23 @@
 char*
 CPerlHost::Getenv(const char *varname)
 {
-    char* pEnv = Find(varname);
-    if(pEnv == NULL) {
-	pEnv = win32_getenv(varname);
+    dTHXo;
+    if (w32_pseudo_id) {
+	char *pEnv = Find(varname);
+	if (pEnv && *pEnv)
+	    return pEnv;
     }
-    else {
-	if(!*pEnv)
-	    pEnv = 0;
-    }
-
-    return pEnv;
+    return win32_getenv(varname);
 }
 
 int
 CPerlHost::Putenv(const char *envstring)
 {
+    dTHXo;
     Add(envstring);
+    if (!w32_pseudo_id)
+	return win32_putenv(envstring);
+
     return 0;
 }
 

==== //depot/maint-5.6/macperl/win32/win32.c#2 (text) ====
Index: perl/win32/win32.c
--- perl/win32/win32.c.~1~	Wed Jul 18 19:15:05 2001
+++ perl/win32/win32.c	Wed Jul 18 19:15:05 2001
@@ -518,7 +518,7 @@
 	 */
 	const char* defaultshell = (IsWinNT()
 				    ? "cmd.exe /x/c" : "command.com /c");
-	const char *usershell = getenv("PERL5SHELL");
+	const char *usershell = PerlEnv_getenv("PERL5SHELL");
 	w32_perlshell_items = tokenize(usershell ? usershell : defaultshell,
 				       &w32_perlshell_tokens,
 				       &w32_perlshell_vec);
@@ -3055,7 +3055,7 @@
     }
 
     /* look in PATH */
-    pathstr = win32_getenv("PATH");
+    pathstr = PerlEnv_getenv("PATH");
     New(0, fullcmd, MAX_PATH+1, char);
     curfullcmd = fullcmd;
 
End of Patch.