Added two new envParams and converted iocsh to use these instead of getenv()
This commit is contained in:
+4
-3
@@ -25,6 +25,7 @@
|
||||
#include "epicsString.h"
|
||||
#include "epicsThread.h"
|
||||
#include "epicsMutex.h"
|
||||
#include "envDefs.h"
|
||||
#include "registry.h"
|
||||
#define epicsExportSharedSymbols
|
||||
#include "iocsh.h"
|
||||
@@ -299,7 +300,7 @@ iocsh (const char *pathname)
|
||||
* See if command interpreter is interactive
|
||||
*/
|
||||
if ((pathname == NULL) || (strcmp (pathname, "<telnet>") == 0)) {
|
||||
if ((prompt = getenv ("IOCSH_PS1")) == NULL)
|
||||
if ((prompt = envGetConfigParamPtr(&IOCSH_PS1)) == NULL)
|
||||
prompt = "epics> ";
|
||||
}
|
||||
else {
|
||||
@@ -538,8 +539,8 @@ iocsh (const char *pathname)
|
||||
break;
|
||||
}
|
||||
if((prompt != NULL) && (strcmp(argv[0], "epicsEnvSet") == 0)) {
|
||||
char *newPrompt;
|
||||
if ((newPrompt = getenv ("IOCSH_PS1")) != NULL)
|
||||
const char *newPrompt;
|
||||
if ((newPrompt = envGetConfigParamPtr(&IOCSH_PS1)) != NULL)
|
||||
prompt = newPrompt;
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -73,6 +73,8 @@ epicsShareExtern READONLY ENV_PARAM EPICS_IOC_LOG_FILE_NAME;
|
||||
epicsShareExtern READONLY ENV_PARAM EPICS_IOC_LOG_FILE_COMMAND;
|
||||
epicsShareExtern READONLY ENV_PARAM EPICS_CMD_PROTO_PORT;
|
||||
epicsShareExtern READONLY ENV_PARAM EPICS_AR_PORT;
|
||||
epicsShareExtern READONLY ENV_PARAM IOCSH_PS1;
|
||||
epicsShareExtern READONLY ENV_PARAM IOCSH_HISTSIZE;
|
||||
|
||||
/*
|
||||
* bldEnvData looks for "epicsShareExtern ENV_PARAM" so
|
||||
@@ -94,8 +96,6 @@ epicsShareFunc long epicsShareAPI
|
||||
envGetDoubleConfigParam(const ENV_PARAM *pParam, double *pDouble);
|
||||
epicsShareFunc long epicsShareAPI
|
||||
envGetLongConfigParam(const ENV_PARAM *pParam, long *pLong);
|
||||
epicsShareFunc const char * epicsShareAPI
|
||||
envGetConfigParamPtr(const ENV_PARAM *pParam);
|
||||
epicsShareFunc unsigned short epicsShareAPI envGetInetPortConfigParam
|
||||
(const ENV_PARAM *pEnv, unsigned short defaultPort);
|
||||
epicsShareFunc long epicsShareAPI epicsPrtEnvParams(void);
|
||||
|
||||
@@ -10,10 +10,11 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include "envDefs.h"
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
|
||||
#include <epicsReadline.h>
|
||||
#include "epicsReadline.h"
|
||||
|
||||
#define EPICS_COMMANDLINE_LIBRARY_EPICS 0
|
||||
#define EPICS_COMMANDLINE_LIBRARY_LIBTECLA 1
|
||||
@@ -36,13 +37,10 @@ void * epicsShareAPI
|
||||
epicsReadlineBegin (FILE *in)
|
||||
{
|
||||
GetLine *gl;
|
||||
const char *histSize = getenv("IOCSH_HISTSIZE");
|
||||
int i;
|
||||
long i = 50;
|
||||
|
||||
if (histSize == NULL)
|
||||
i = 50;
|
||||
else if ((i = atoi(histSize)) < 0)
|
||||
i = 0;
|
||||
envGetLongConfigParam(&IOCSH_HISTSIZE, &i);
|
||||
if (i < 0) i = 0;
|
||||
gl = new_GetLine(200, i * 40);
|
||||
if ((gl != NULL) && (in != NULL))
|
||||
gl_change_terminal(gl, in, stdout, NULL);
|
||||
@@ -97,13 +95,10 @@ epicsReadlineBegin(FILE *in)
|
||||
readlineContext->in = in;
|
||||
readlineContext->line = NULL;
|
||||
if (in == NULL) {
|
||||
const char *histSize = getenv("IOCSH_HISTSIZE");
|
||||
int i;
|
||||
long i = 50;
|
||||
|
||||
if (histSize == NULL)
|
||||
i = 50;
|
||||
else if ((i = atoi(histSize)) < 0)
|
||||
i = 0;
|
||||
envGetLongConfigParam(&IOCSH_HISTSIZE, &i);
|
||||
if (i < 0) i = 0;
|
||||
stifle_history (i);
|
||||
rl_bind_key ('\t', rl_insert);
|
||||
}
|
||||
@@ -211,13 +206,10 @@ epicsReadlineBegin(FILE *in)
|
||||
readlineContext->ledId = ERROR;
|
||||
readlineContext->in = in;
|
||||
if (in == NULL) {
|
||||
const char *histSize = getenv("IOCSH_HISTSIZE");
|
||||
int i;
|
||||
long i = 50;
|
||||
|
||||
if (histSize == NULL)
|
||||
i = 50;
|
||||
else if ((i = atoi(histSize)) < 0)
|
||||
i = 1;
|
||||
envGetLongConfigParam(&IOCSH_HISTSIZE, &i);
|
||||
if (i < 1) i = 1;
|
||||
readlineContext->ledId = ledOpen(fileno(stdin), fileno(stdout), i);
|
||||
if (readlineContext->ledId == ERROR) {
|
||||
readlineContext->in = stdin;
|
||||
|
||||
Reference in New Issue
Block a user