From c3a3bcb206bd339d8d40d47d3f5d97040db0d46e Mon Sep 17 00:00:00 2001 From: algernon Date: Tue, 8 Jan 2002 19:14:00 +0000 Subject: (setenv, unsetenv): new functions, used when the system libc does not have them. --- src/actions.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/actions.c b/src/actions.c index 6adb8cf..4553ecc 100644 --- a/src/actions.c +++ b/src/actions.c @@ -1980,6 +1980,46 @@ cmd_defbgcolor (int interactive, void *data) return NULL; } +#ifndef HAVE_SETENV +/* For systems, such as Solaris, where setenv is not implemented + * in libc */ +/* FIXME: overwrite has no effect in this implementation! */ +int +setenv (const char *name, const char *value, int overwrite) +{ + char *tmp; + int i; + + tmp = (char *)malloc (strlen(name) + strlen(value) + 2); + strcpy(tmp, name); + strcat(tmp, "="); + strcat(tmp, value); + + i = putenv(tmp); + + free(tmp); + + return i; +} +#endif + +#ifndef HAVE_UNSETENV +/* For systems which lack unsetenv (eg, Solaris) */ +void +unsetenv (const char *name) +{ + char *tmp; + + tmp = (char *)malloc (strlen(name) + 2); + strcpy (tmp, name); + strcat (tmp, "="); + + putenv(tmp); + + free(tmp); +} +#endif + char * cmd_setenv (int interactive, void *data) { -- cgit v1.2.3