dbStatic: More commands accept "" or "*" to mean 'all'

dbDumpRecordType, dbDumpMenu and dbDumpRecord commands improved.
This commit is contained in:
Andrew Johnson
2013-05-09 15:48:49 -05:00
parent 34744264e1
commit 593e313fab
2 changed files with 25 additions and 2 deletions

View File

@@ -901,6 +901,11 @@ long epicsShareAPI dbWriteRecordFP(
dctonly = ((level>1) ? FALSE : TRUE);
dbInitEntry(pdbbase,pdbentry);
if (precordTypename) {
if (*precordTypename == 0 || *precordTypename == '*')
precordTypename = 0;
}
if(!precordTypename) {
status = dbFirstRecordType(pdbentry);
if(status) {
@@ -997,6 +1002,10 @@ long epicsShareAPI dbWriteMenuFP(DBBASE *pdbbase,FILE *fp,const char *menuName)
fprintf(stderr,"pdbbase not specified\n");
return(-1);
}
if (menuName) {
if (*menuName == 0 || *menuName == '*')
menuName = 0;
}
pdbMenu = (dbMenu *)ellFirst(&pdbbase->menuList);
while(pdbMenu) {
if(menuName) {
@@ -1042,6 +1051,11 @@ long epicsShareAPI dbWriteRecordTypeFP(
fprintf(stderr,"pdbbase not specified\n");
return(-1);
}
if (recordTypeName) {
if (*recordTypeName == 0 || *recordTypeName == '*')
recordTypeName = 0;
}
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList);
pdbRecordType; pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
if(recordTypeName) {
@@ -3962,8 +3976,9 @@ void epicsShareAPI dbDumpDevice(DBBASE *pdbbase,const char *recordTypeName)
devSup *pdevSup;
int gotMatch;
if(recordTypeName) {
if(recordTypeName[0]==0 || recordTypeName[0] == '*') recordTypeName = 0;
if (recordTypeName) {
if (*recordTypeName == 0 || *recordTypeName == '*')
recordTypeName = 0;
}
if(!pdbbase) {
fprintf(stderr,"pdbbase not specified\n");