/*
* 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
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));
\f
/*
*----------------------------------------------------------------------
*/
-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;
*----------------------------------------------------------------------
*/
-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;
/*
*----------------------------------------------------------------------
*
- * setenv --
+ * setenv_tcl --
*
* Set an environment variable, replacing an existing value
* or creating a new variable if there doesn't exist a variable
*----------------------------------------------------------------------
*/
-#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;
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
-
}
\f
/*
*----------------------------------------------------------------------
*
- * unsetenv --
+ * unsetenv_tcl --
*
* Remove an environment variable, updating the "env" arrays
* in all interpreters managed by us.
*----------------------------------------------------------------------
*/
-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;
/* 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
}
/*
- * 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;
}
*----------------------------------------------------------------------
*/
-static void
-EnvInit()
+static void
+EnvInit (void)
{
char **newEnviron;
int i, length;