Make epicsEnvShow work when called from vxWorks shell or iocsh.
Limits operation to a single argument.
This commit is contained in:
@@ -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 */
|
||||
|
||||
2
src/libCom/env/envDefs.h
vendored
2
src/libCom/env/envDefs.h
vendored
@@ -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
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user