summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorAndy Broad <andy@broad.ology.org.uk>2015-08-27 09:31:34 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2015-09-05 11:12:45 -0400
commit6e3136a65af8652c1ee695f86642438ada8d82cb (patch)
treeb87c4a7d39a08d38b7f9c61ab8dc3d63fa01ce59 /util.c
parent5ce45b7bbc7aa6b7aeb0db6c6a7faa07a30bff04 (diff)
downloadperl-6e3136a65af8652c1ee695f86642438ada8d82cb.tar.gz
amigaos4: use our own environ implementation
Diffstat (limited to 'util.c')
-rw-r--r--util.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/util.c b/util.c
index c2df74d929..5bc3aa5473 100644
--- a/util.c
+++ b/util.c
@@ -2055,6 +2055,9 @@ void
Perl_my_setenv(pTHX_ const char *nam, const char *val)
{
dVAR;
+#if defined(__amigaos4__)
+ amigaos4_obtain_environ(__FUNCTION__);
+#endif
#ifdef USE_ITHREADS
/* only parent thread can modify process environment */
if (PL_curinterp == aTHX)
@@ -2096,7 +2099,11 @@ Perl_my_setenv(pTHX_ const char *nam, const char *val)
environ[i] = environ[i+1];
i++;
}
+#if defined(__amigaos4__)
+ goto my_setenv_out;
+#else
return;
+#endif
}
if (!environ[i]) { /* does not exist yet */
environ = (char**)safesysrealloc(environ, (i+2) * sizeof(char*));
@@ -2157,6 +2164,10 @@ Perl_my_setenv(pTHX_ const char *nam, const char *val)
}
#endif
}
+#if defined(__amigaos4__)
+my_setenv_out:
+ amigaos4_release_environ(__FUNCTION__);
+#endif
}
#else /* WIN32 || NETWARE */