dbStatic: More commands accept "" or "*" to mean 'all'
dbDumpRecordType, dbDumpMenu and dbDumpRecord commands improved.
This commit is contained in:
@@ -13,6 +13,14 @@
|
||||
|
||||
<!-- Insert new items immediately below here ... -->
|
||||
|
||||
<h4>More dbStatic commands accept "" or "*" to mean 'all'</h4>
|
||||
|
||||
<p>The IOC commands dbDumpRecordType, dbDumpMenu and dbDumpRecord will now
|
||||
accept either an empty string or any string beginning with an asterisk '*' to
|
||||
mean all record types or menus. Previously the 'all' option for these commands
|
||||
required passing in a NULL value, which could be done from the vxWorks shell but
|
||||
was not possible from iocsh.</p>
|
||||
|
||||
<h4>VxWorks sysAtReboot Registration</h4>
|
||||
|
||||
<p>The increasing intelligence of the GNU compiler and linker broke the method
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user