diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-02-23 02:05:46 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-02-23 02:05:46 +0000 |
commit | 19341a787be644444063ba4f751fe735e4a581cb (patch) | |
tree | ac231285e5ed4e9fdb7716895c9f6d9f0dd76de5 | |
parent | 969058bb0cecac9baf4433435b1677be040f039c (diff) | |
download | perl-19341a787be644444063ba4f751fe735e4a581cb.tar.gz |
A better workaround for Borland putenv() brokenness from Sarathy.
p4raw-id: //depot/perl@8909
-rw-r--r-- | perl.c | 21 |
1 files changed, 6 insertions, 15 deletions
@@ -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 |