From 84cd107ad9398d84c8d71b3a0b4ce2d257fb5975 Mon Sep 17 00:00:00 2001 From: "W. Eric Norum" Date: Thu, 17 May 2001 16:56:14 +0000 Subject: [PATCH] Make epicsEnvShow work when called from vxWorks shell or iocsh. Limits operation to a single argument. --- src/iocsh/iocUtil.c | 4 ++-- src/libCom/env/envDefs.h | 2 +- src/libCom/osi/os/default/osdEnv.c | 18 +++++++----------- src/libCom/osi/os/vxWorks/osdEnv.c | 18 +++++++----------- 4 files changed, 17 insertions(+), 25 deletions(-) diff --git a/src/iocsh/iocUtil.c b/src/iocsh/iocUtil.c index 139b3a867..36bda0bc8 100644 --- a/src/iocsh/iocUtil.c +++ b/src/iocsh/iocUtil.c @@ -122,12 +122,12 @@ static void epicsParamShowCallFunc(const ioccrfArgBuf *args) } /* epicsEnvShow */ -static const ioccrfArg epicsEnvShowArg0 = { "[name ...]", ioccrfArgArgv}; +static const ioccrfArg epicsEnvShowArg0 = { "[name]",ioccrfArgString}; static const ioccrfArg * const epicsEnvShowArgs[1] = {&epicsEnvShowArg0}; static const ioccrfFuncDef epicsEnvShowFuncDef = {"epicsEnvShow",1,epicsEnvShowArgs}; static void epicsEnvShowCallFunc(const ioccrfArgBuf *args) { - epicsEnvShow (args[0].aval.ac, args[0].aval.av); + epicsEnvShow (args[0].sval); } /* iocLogInit */ diff --git a/src/libCom/env/envDefs.h b/src/libCom/env/envDefs.h index 2be5ae8e8..d3c013c4e 100644 --- a/src/libCom/env/envDefs.h +++ b/src/libCom/env/envDefs.h @@ -122,7 +122,7 @@ epicsShareFunc unsigned short epicsShareAPI envGetInetPortConfigParam (const ENV_PARAM *pEnv, unsigned short defaultPort); epicsShareFunc long epicsShareAPI epicsPrtEnvParams(void); epicsShareFunc void epicsShareAPI epicsEnvSet (char *name, char *value); -epicsShareFunc void epicsShareAPI epicsEnvShow (int argc, char **argv); +epicsShareFunc void epicsShareAPI epicsEnvShow (const char *name); #ifdef __cplusplus } diff --git a/src/libCom/osi/os/default/osdEnv.c b/src/libCom/osi/os/default/osdEnv.c index 929d462fe..724be7132 100644 --- a/src/libCom/osi/os/default/osdEnv.c +++ b/src/libCom/osi/os/default/osdEnv.c @@ -50,9 +50,9 @@ epicsShareFunc void epicsShareAPI epicsEnvSet (char *name, char *value) /* * Show the value of the specified, or all, environment variables */ -epicsShareFunc void epicsShareAPI epicsEnvShow (int argc, char **argv) +epicsShareFunc void epicsShareAPI epicsEnvShow (const char *name) { - if (argc <= 1) { + if (name == NULL) { extern char **environ; char **sp; @@ -60,14 +60,10 @@ epicsShareFunc void epicsShareAPI epicsEnvShow (int argc, char **argv) printf ("%s\n", *sp); } else { - int i; - - for (i = 1 ; i < argc ; i++) { - const char *cp = getenv (argv[i]); - if (cp == NULL) - printf ("%s is not an environment variable.\n", argv[i]); - else - printf ("%s=%s\n", argv[i], cp); - } + const char *cp = getenv (name); + if (cp == NULL) + printf ("%s is not an environment variable.\n", name); + else + printf ("%s=%s\n", name, cp); } } diff --git a/src/libCom/osi/os/vxWorks/osdEnv.c b/src/libCom/osi/os/vxWorks/osdEnv.c index 21b586871..ecff9ea59 100644 --- a/src/libCom/osi/os/vxWorks/osdEnv.c +++ b/src/libCom/osi/os/vxWorks/osdEnv.c @@ -50,20 +50,16 @@ epicsShareFunc void epicsShareAPI epicsEnvSet (char *name, char *value) /* * Show the value of the specified, or all, environment variables */ -epicsShareFunc void epicsShareAPI epicsEnvShow (int argc, char **argv) +epicsShareFunc void epicsShareAPI epicsEnvShow (const char *name) { - if (argc <= 1) { + if (name == NULL) { envShow (0); } else { - int i; - - for (i = 1 ; i < argc ; i++) { - const char *cp = getenv (argv[i]); - if (cp == NULL) - printf ("%s is not an environment variable.\n", argv[i]); - else - printf ("%s=%s\n", argv[i], cp); - } + const char *cp = getenv (name); + if (cp == NULL) + printf ("%s is not an environment variable.\n", name); + else + printf ("%s=%s\n", name, cp); } }