From f8f306624ea5da4258dd0b10fa24d5f09a5eb0e4 Mon Sep 17 00:00:00 2001 From: "W. Eric Norum" Date: Tue, 1 May 2001 18:38:50 +0000 Subject: [PATCH] Remove env command -- vxWorks has no environ pointer. Add epicsPrtEnvParams to print all EPICS environment parameters. Add printEnv to print specified environment variables. --- src/iocsh/iocUtil.c | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/src/iocsh/iocUtil.c b/src/iocsh/iocUtil.c index 62002aa49..e82c65c26 100644 --- a/src/iocsh/iocUtil.c +++ b/src/iocsh/iocUtil.c @@ -6,6 +6,7 @@ #include #include #include +#include #include "osiUnistd.h" #include "epicsThread.h" @@ -60,7 +61,7 @@ static void showCallFunc(const ioccrfArgBuf *args) epicsThreadId tid; unsigned long ltmp; int argc = args[0].aval.ac; - const char * const *argv = args[0].aval.av; + char **argv = args[0].aval.av; char *endp; if ((i < argc) && (*(cp = argv[i]) == '-')) { @@ -118,15 +119,31 @@ static void putenvCallFunc(const ioccrfArgBuf *args) } } -/* env */ -static const ioccrfFuncDef showenvFuncDef = {"env",0,NULL}; -static void showenvCallFunc(const ioccrfArgBuf *args) +/* epicsPrtEnvParams */ +static const ioccrfFuncDef epicsPrtEnvParamsFuncDef = {"epicsPrtEnvParams",0,NULL}; +static void epicsPrtEnvParamsCallFunc(const ioccrfArgBuf *args) { - extern char **environ; - char **sp; + epicsPrtEnvParams (); +} - for (sp = environ ; (sp != NULL) && (*sp != NULL) ; sp++) - printf ("%s\n", *sp); +/* printEnv */ +static const ioccrfArg printEnvArg0 = { "name ...", ioccrfArgArgv}; +static const ioccrfArg * const printEnvArgs[1] = {&printEnvArg0}; +static const ioccrfFuncDef printEnvFuncDef = {"printEnv",1,printEnvArgs}; +static void printEnvCallFunc(const ioccrfArgBuf *args) +{ + int i = 1; + const char *cp; + int argc = args[0].aval.ac; + char **argv = args[0].aval.av; + + for (i = 1 ; i < argc ; i++) { + cp = getenv (argv[i]); + if (cp == NULL) + printf ("%s is not an environment variable.\n", argv[i]); + else + printf ("%s\n", cp); + } } /* iocLogInit */ @@ -143,6 +160,7 @@ void epicsShareAPI iocUtilRegister(void) ioccrfRegister(&pwdFuncDef,pwdCallFunc); ioccrfRegister(&showFuncDef,showCallFunc); ioccrfRegister(&putenvFuncDef,putenvCallFunc); - ioccrfRegister(&showenvFuncDef,showenvCallFunc); + ioccrfRegister(&epicsPrtEnvParamsFuncDef,epicsPrtEnvParamsCallFunc); + ioccrfRegister(&printEnvFuncDef,printEnvCallFunc); ioccrfRegister(&iocLogInitFuncDef,iocLogInitCallFunc); }