Merge branch 'FixShellCommands' into PSI-7.0

This commit is contained in:
2018-09-27 13:58:23 +02:00
11 changed files with 105 additions and 2 deletions

View File

@@ -754,13 +754,22 @@ long dbBufferSize(short dbr_type, long options, long no_elements)
}
int dbLoadDatabase(const char *file, const char *path, const char *subs)
{
if (!file) {
printf("Usage: dbLoadDatabase (\"file\", \"path\", \"subs\")\n");
return -1;
}
return dbReadDatabase(&pdbbase, file, path, subs);
}
int dbLoadRecords(const char* file, const char* subs)
{
int status = dbReadDatabase(&pdbbase, file, 0, subs);
int status;
if (!file) {
printf("Usage: dbLoadRecords (\"file\", \"subs\")\n");
return -1;
}
status = dbReadDatabase(&pdbbase, file, 0, subs);
if (!status && dbLoadRecordsHook)
dbLoadRecordsHook(file, subs);
return status;

View File

@@ -283,6 +283,10 @@ long dbb(const char *record_name)
/*
* Convert name to address
*/
if (!record_name) {
printf("Usage: dbb (\"record_name\")\n");
return -1;
}
status = dbNameToAddr(record_name, &addr);
if (status == S_db_notFound)
printf(" BKPT> Record %s not found\n", record_name);
@@ -403,6 +407,10 @@ long dbd(const char *record_name)
/*
* Convert name to address
*/
if (!record_name) {
printf("Usage: dbd (\"record_name\")\n");
return -1;
}
status = dbNameToAddr(record_name, &addr);
if (status == S_db_notFound)
printf(" BKPT> Record %s not found\n", record_name);
@@ -846,6 +854,10 @@ long dbap(const char *record_name)
/*
* Convert name to address
*/
if (!record_name) {
printf("Usage: dbap (\"record_name\")\n");
return -1;
}
status = dbNameToAddr(record_name, &addr);
if (status == S_db_notFound)
printf(" BKPT> Record %s not found\n", record_name);

View File

@@ -596,9 +596,13 @@ long dbtpn(char *pname, char *pvalue)
tpnInfo *ptpnInfo;
processNotify *ppn=NULL;
if (!pname) {
printf("Usage: dbtpn (\"name\", \"value\")\n");
return -1;
}
chan = dbChannelCreate(pname);
if (!chan) {
printf("dbtpn: No such channel");
printf("dbtpn: No such channel\n");
return -1;
}

View File

@@ -49,6 +49,11 @@ dbStateId dbStateCreate(const char *name)
{
dbStateId id;
if (!name)
{
printf("Usage: dbStateCreate (\"name\")\n");
return NULL;
}
if ((id = dbStateFind(name)))
return id;

View File

@@ -40,6 +40,10 @@ int gft(const char *pname)
short type;
int i;
if (!pname) {
printf("Usage: gft (\"name\")\n");
return -1;
}
chan = dbChannel_create(pname);
if (!chan) {
printf("Channel couldn't be created\n");
@@ -94,6 +98,10 @@ int pft(const char *pname, const char *pvalue)
unsigned char charvalue;
double doublevalue;
if (!pname || !pvalue) {
printf("Usage: pft (\"name\", \"value\")\n");
return -1;
}
chan = dbChannel_create(pname);
if (!chan) {
printf("Channel couldn't be created\n");
@@ -223,6 +231,10 @@ int tpn(const char *pname, const char *pvalue)
tpnInfo *ptpnInfo;
processNotify *ppn = NULL;
if (!pname || !pvalue) {
printf("Usage: tpn (\"name\", \"value\")\n");
return -1;
}
chan = dbChannel_create(pname);
if (!chan) {
printf("Channel couldn't be created\n");

View File

@@ -23,3 +23,12 @@ static void dlloadRegistar(void) {
iocshRegister(&dlloadFuncDef, dlloadCallFunc);
}
epicsExportRegistrar(dlloadRegistar);
#ifdef vxWorks
void dlload(const char* name)
{
if (!epicsLoadLibrary(name)) {
printf("epicsLoadLibrary failed: %s\n", epicsLoadError());
}
}
#endif

View File

@@ -66,6 +66,17 @@ static void echoCallFunc(const iocshArgBuf *args)
printf("%s\n", str);
}
#ifdef vxWorks
void echo(char* str)
{
if (str)
dbTranslateEscape(str, str);
else
str = "";
printf("%s\n", str);
}
#endif
/* chdir */
static const iocshArg chdirArg0 = { "directory name",iocshArgString};
static const iocshArg * const chdirArgs[1] = {&chdirArg0};
@@ -117,6 +128,13 @@ static void epicsParamShowCallFunc(const iocshArgBuf *args)
epicsPrtEnvParams ();
}
#ifdef vxWorks
void epicsParamShow()
{
epicsPrtEnvParams ();
}
#endif
/* epicsPrtEnvParams */
static const iocshFuncDef epicsPrtEnvParamsFuncDef = {"epicsPrtEnvParams",0,0};
static void epicsPrtEnvParamsCallFunc(const iocshArgBuf *args)
@@ -156,6 +174,13 @@ static void iocLogDisableCallFunc(const iocshArgBuf *args)
iocLogDisable = args[0].ival;
}
#ifdef vxWorks
void setIocLogDisable(int val)
{
iocLogDisable = val;
}
#endif
/* iocLogShow */
static const iocshArg iocLogShowArg0 = {"level",iocshArgInt};
static const iocshArg * const iocLogShowArgs[1] = {&iocLogShowArg0};
@@ -205,6 +230,13 @@ static void errlogCallFunc(const iocshArgBuf *args)
errlogPrintfNoConsole("%s\n", args[0].sval);
}
#ifdef vxWorks
void errlog(const char *message)
{
errlogPrintfNoConsole("%s\n", message);
}
#endif
/* iocLogPrefix */
static const iocshArg iocLogPrefixArg0 = { "prefix",iocshArgString};
static const iocshArg * const iocLogPrefixArgs[1] = {&iocLogPrefixArg0};

View File

@@ -35,6 +35,11 @@
*/
epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *value)
{
if (!name) {
printf ("Usage: epicsEnvSet (\"name\", \"value\")\n");
return;
}
iocshEnvClear(name);
setenv(name, value, 1);
}

View File

@@ -36,6 +36,11 @@ epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *val
{
char *cp;
if (!name) {
printf ("Usage: epicsEnvSet (\"name\", \"value\")\n");
return;
}
iocshEnvClear(name);
cp = mallocMustSucceed (strlen (name) + strlen (value) + 2, "epicsEnvSet");

View File

@@ -32,6 +32,11 @@
*/
epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *value)
{
if (!name) {
printf ("Usage: epicsEnvSet (\"name\", \"value\")\n");
return;
}
iocshEnvClear(name);
setenv(name, value, 1);
}

View File

@@ -37,6 +37,11 @@ epicsShareFunc void epicsShareAPI epicsEnvSet (const char *name, const char *val
{
char *cp;
if (!name) {
printf ("Usage: epicsEnvSet (\"name\", \"value\")\n");
return;
}
iocshEnvClear(name);
cp = mallocMustSucceed (strlen (name) + strlen (value) + 2, "epicsEnvSet");