This is a followup to
07ad9e0e19891ec129e1a78e40a66ca19b51302d.
util.c:Perl_my_setenv() unconditionally used setenv() if #defined(__sun).
Solaris 8 had neither setenv() nor unsetenv(), so it failed. Configure
does not currently check for setenv(), but the check for unsetenv()
is sufficient here since Solaris 9 and later have both.
my_setenv_format(environ[i], nam, nlen, val, vlen);
} else {
# endif
-# if defined(__CYGWIN__)|| defined(__SYMBIAN32__) || defined(__riscos__) || defined(__sun)
+ /* This next branch should only be called #if defined(HAS_SETENV), but
+ Configure doesn't test for that yet. For Solaris, setenv() and unsetenv()
+ were introduced in Solaris 9, so testing for HAS UNSETENV is sufficient.
+ */
+# if defined(__CYGWIN__)|| defined(__SYMBIAN32__) || defined(__riscos__) || (defined(__sun) && defined(HAS_UNSETENV))
# if defined(HAS_UNSETENV)
if (val == NULL) {
(void)unsetenv(nam);