X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/micropolis/blobdiff_plain/6a5fa4e03967ab980cdc7ef96a42400bc29b4414..176c45720f3b9e5555fe1084d3e6ea59488c1785:/src/tcl/tclenv.c diff --git a/src/tcl/tclenv.c b/src/tcl/tclenv.c index 656ca53..35c9650 100644 --- a/src/tcl/tclenv.c +++ b/src/tcl/tclenv.c @@ -1,7 +1,7 @@ /* * tclEnv.c -- * - * Tcl support for environment variables, including a setenv + * Tcl support for environment variables, including a setenv_tcl * procedure. * * Copyright 1991 Regents of the University of California @@ -57,13 +57,8 @@ static char * EnvTraceProc _ANSI_ARGS_((ClientData clientData, int flags)); static int FindVariable _ANSI_ARGS_((char *name, int *lengthPtr)); -#ifdef IS_LINUX -int setenv _ANSI_ARGS_((const char *name, const char *value, int replace)); -int unsetenv _ANSI_ARGS_((const char *name)); -#else -void setenv _ANSI_ARGS_((char *name, char *value)); -void unsetenv _ANSI_ARGS_((char *name)); -#endif +void setenv_tcl _ANSI_ARGS_((char *name, char *value)); +void unsetenv_tcl _ANSI_ARGS_((char *name)); /* @@ -89,10 +84,11 @@ void unsetenv _ANSI_ARGS_((char *name)); *---------------------------------------------------------------------- */ -void -TclSetupEnv(interp) - Tcl_Interp *interp; /* Interpreter whose "env" array is to be +void +TclSetupEnv ( + Tcl_Interp *interp /* Interpreter whose "env" array is to be * managed. */ +) { EnvInterp *eiPtr; int i; @@ -161,13 +157,14 @@ TclSetupEnv(interp) *---------------------------------------------------------------------- */ -static int -FindVariable(name, lengthPtr) - char *name; /* Name of desired environment variable. */ - int *lengthPtr; /* Used to return length of name (for +static int +FindVariable ( + char *name, /* Name of desired environment variable. */ + int *lengthPtr /* Used to return length of name (for * successful searches) or number of non-NULL * entries in environ (for unsuccessful * searches). */ +) { int i; register char *p1, *p2; @@ -188,7 +185,7 @@ FindVariable(name, lengthPtr) /* *---------------------------------------------------------------------- * - * setenv -- + * setenv_tcl -- * * Set an environment variable, replacing an existing value * or creating a new variable if there doesn't exist a variable @@ -204,20 +201,12 @@ FindVariable(name, lengthPtr) *---------------------------------------------------------------------- */ -#ifdef IS_LINUX -int -setenv(name, value, replace) - const char *name; /* Name of variable whose value is to be +void +setenv_tcl ( + char *name, /* Name of variable whose value is to be * set. */ - const char *value; /* New value for variable. */ - int replace; -#else -void -setenv(name, value) - char *name; /* Name of variable whose value is to be - * set. */ - char *value; /* New value for variable. */ -#endif + char *value /* New value for variable. */ +) { int index, length, nameLength; char *p; @@ -272,17 +261,12 @@ setenv(name, value) for (eiPtr= firstInterpPtr; eiPtr != NULL; eiPtr = eiPtr->nextPtr) { (void) Tcl_SetVar2(eiPtr->interp, "env", (char *)name, p+1, TCL_GLOBAL_ONLY); } - -#ifdef IS_LINUX - return 0; -#endif - } /* *---------------------------------------------------------------------- * - * unsetenv -- + * unsetenv_tcl -- * * Remove an environment variable, updating the "env" arrays * in all interpreters managed by us. @@ -296,13 +280,10 @@ setenv(name, value) *---------------------------------------------------------------------- */ -int -unsetenv(name) -#ifdef IS_LINUX - const char *name; /* Name of variable to remove. */ -#else - char *name; /* Name of variable to remove. */ -#endif +void +unsetenv_tcl ( + char *name /* Name of variable to remove. */ +) { int index, dummy; char **envPtr; @@ -361,14 +342,15 @@ unsetenv(name) /* ARGSUSED */ static char * -EnvTraceProc(clientData, interp, name1, name2, flags) - ClientData clientData; /* Not used. */ - Tcl_Interp *interp; /* Interpreter whose "env" variable is +EnvTraceProc ( + ClientData clientData, /* Not used. */ + Tcl_Interp *interp, /* Interpreter whose "env" variable is * being modified. */ - char *name1; /* Better be "env". */ - char *name2; /* Name of variable being modified, or + char *name1, /* Better be "env". */ + char *name2, /* Name of variable being modified, or * NULL if whole array is being deleted. */ - int flags; /* Indicates what's happening. */ + int flags /* Indicates what's happening. */ +) { /* * First see if the whole "env" variable is being deleted. If @@ -402,15 +384,15 @@ EnvTraceProc(clientData, interp, name1, name2, flags) } /* - * If a value is being set, call setenv to do all of the work. + * If a value is being set, call setenv_tcl to do all of the work. */ if (flags & TCL_TRACE_WRITES) { - setenv(name2, Tcl_GetVar2(interp, "env", name2, TCL_GLOBAL_ONLY), 0); + setenv_tcl(name2, Tcl_GetVar2(interp, "env", name2, TCL_GLOBAL_ONLY)); } if (flags & TCL_TRACE_UNSETS) { - unsetenv(name2); + unsetenv_tcl(name2); } return NULL; } @@ -434,8 +416,8 @@ EnvTraceProc(clientData, interp, name1, name2, flags) *---------------------------------------------------------------------- */ -static void -EnvInit() +static void +EnvInit (void) { char **newEnviron; int i, length;