*s = '=';
#if defined(__BORLANDC__) && defined(USE_WIN32_RTL_ENV)
/* Sins of the RTL. See note in my_setenv(). */
- (void)PerlEnv_putenv(savepv(*env));
+ { /* Turn this into Perl_my_putenv()? */
+ char *putenvp = savepv(*env);
+
+ if (putenvp) {
+ char *p = putenvp;
+
+ while (*p && *p != '=') p++;
+ if (p == '=') {
+ *p++ = 0;
+ my_setenv(putenvp, p);
+ }
+
+ Safefree(putenvp);
+ } /* else what? */
+ }
#endif
}
#ifdef NEED_ENVIRON_DUP_FOR_MODIFY
safesysfree(*dup_env);
safesysfree(dup_env_base);
}
-#endif /* NEED_ENVIRON_DUP_FOR_MODIFU */
+#endif /* NEED_ENVIRON_DUP_FOR_MODIFY */
#endif /* USE_ENVIRON_ARRAY */
#ifdef DYNAMIC_ENV_FETCH
HvNAME(hv) = savepv(ENV_HV_NAME);