Make epicsEnvShow work when called from vxWorks shell or iocsh.

Limits operation to a single argument.
This commit is contained in:
W. Eric Norum
2001-05-17 16:56:14 +00:00
parent 63a964914d
commit 84cd107ad9
4 changed files with 17 additions and 25 deletions

View File

@@ -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 */

View File

@@ -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
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}