summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-02-23 02:05:46 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-02-23 02:05:46 +0000
commit19341a787be644444063ba4f751fe735e4a581cb (patch)
treeac231285e5ed4e9fdb7716895c9f6d9f0dd76de5
parent969058bb0cecac9baf4433435b1677be040f039c (diff)
downloadperl-19341a787be644444063ba4f751fe735e4a581cb.tar.gz
A better workaround for Borland putenv() brokenness from Sarathy.
p4raw-id: //depot/perl@8909
-rw-r--r--perl.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/perl.c b/perl.c
index b90dea9b04..23b1a4d887 100644
--- a/perl.c
+++ b/perl.c
@@ -3384,21 +3384,12 @@ S_init_postdump_symbols(pTHX_ register int argc, register char **argv, register
*s = '=';
#if defined(__BORLANDC__) && defined(USE_WIN32_RTL_ENV)
/* Sins of the RTL. See note in my_setenv(). */
- { /* 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? */
- }
+ {
+ STRLEN len = strlen(*env);
+ char *e = safesysmalloc(len+1);
+ (void)strcpy(e, *env);
+ (void)PerlEnv_putenv(e);
+ }
#endif
}
#ifdef NEED_ENVIRON_DUP_FOR_MODIFY