diff --git a/src/db/dbTest.c b/src/db/dbTest.c index 3eb4dfd88..764122388 100644 --- a/src/db/dbTest.c +++ b/src/db/dbTest.c @@ -15,8 +15,8 @@ #include #include #include -#include +#include "epicsStdio.h" #include "dbDefs.h" #include "errlog.h" #include "ellLib.h" @@ -64,14 +64,14 @@ static void printBuffer( long status,short dbr_type,void *pbuffer,long reqOptions, long retOptions,long no_elements,TAB_BUFFER *pMsgBuff,int tab_size); static int dbpr_report( - char *pname,DBADDR *paddr,int interest_level, + const char *pname,DBADDR *paddr,int interest_level, TAB_BUFFER *pMsgBuff,int tab_size); static void dbpr_msgOut(TAB_BUFFER *pMsgBuff,int tab_size); static void dbpr_init_msg(TAB_BUFFER *pMsgBuff,int tab_size); static void dbpr_insert_msg(TAB_BUFFER *pMsgBuff,int len,int tab_size); static void dbpr_msg_flush(TAB_BUFFER *pMsgBuff,int tab_size); -long epicsShareAPI dba(char*pname) +long epicsShareAPI dba(const char*pname) { DBADDR addr; long status; @@ -89,21 +89,17 @@ long epicsShareAPI dba(char*pname) return 0; } -long epicsShareAPI dbl(char *precordTypename,char *filename,char *fields) +long epicsShareAPI dbl( + const char *precordTypename,const char *fields) { DBENTRY dbentry; DBENTRY *pdbentry=&dbentry; long status; - FILE *stream = NULL; int nfields = 0; int ifield; char *fieldnames = 0; char **papfields = 0; - if (precordTypename && ((*precordTypename == '\0') || !strcmp(precordTypename,"*"))) - precordTypename = NULL; - if (filename && (*filename == '\0')) - filename = NULL; if (fields && (*fields == '\0')) fields = NULL; if(fields) { @@ -128,20 +124,6 @@ long epicsShareAPI dbl(char *precordTypename,char *filename,char *fields) } } } - if(filename && strlen(filename)) { - int fd; - - fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644 ); - if(fd<0) { - fprintf(stderr,"%s could not be created\n",filename); - return(0); - } - stream = fdopen(fd,"w"); - if(stream==NULL) { - fprintf(stderr,"%s could not be opened for output\n",filename); - return(0); - } - } if(!pdbbase) { fprintf(stderr,"no database has been loaded\n"); return(0); @@ -152,26 +134,23 @@ long epicsShareAPI dbl(char *precordTypename,char *filename,char *fields) else status = dbFindRecordType(pdbentry,precordTypename); if(status) { - if(stream) fprintf(stream,"No record description\n"); - else printf("No record description\n"); + fprintf(stdout,"No record description\n"); } while(!status) { status = dbFirstRecord(pdbentry); while(!status) { - if(stream) fprintf(stream,"%s",dbGetRecordName(pdbentry)); - else printf("%s",dbGetRecordName(pdbentry)); + fprintf(stdout,"%s",dbGetRecordName(pdbentry)); for(ifield=0; ifieldreport)(type); + (*pdrvet->report)(interest_level); } } /* now check devSup reports */ @@ -722,46 +700,20 @@ long epicsShareAPI dbior(char *pdrvName,int type) if(pdrvName!=NULL && *pdrvName!='\0' && (strcmp(pdrvName,pname)!=0)) continue; if(pdset->report!=NULL) { printf("Device Support: %s\n",pname); - (*pdset->report)(type); + (*pdset->report)(interest_level); } } } return(0); } -int epicsShareAPI dbhcr(char *filename) +int epicsShareAPI dbhcr(void) { - FILE *stream = NULL; - int isStdout = TRUE; - if(!pdbbase) { fprintf(stderr,"no database has been loaded\n"); return(0); } - if(filename && strlen(filename)) { - int fd; - - fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644 ); - if(fd<0) { - fprintf(stderr,"%s could not be created\n",filename); - return(0); - } - stream = fdopen(fd,"w"); - if(stream==NULL) { - fprintf(stderr,"%s could not be opened for output\n",filename); - return(0); - } - isStdout = FALSE; - } else { - stream = stdout; - } - - dbReportDeviceConfig(pdbbase,stream); - if(isStdout) { - fflush(stream); - } else { - fclose(stream); - } + dbReportDeviceConfig(pdbbase,stdout); return(0); } @@ -1097,7 +1049,7 @@ static void printBuffer( } static int dbpr_report( - char *pname,DBADDR *paddr,int interest_level, + const char *pname,DBADDR *paddr,int interest_level, TAB_BUFFER *pMsgBuff,int tab_size) { diff --git a/src/db/dbTest.h b/src/db/dbTest.h index 836a99f82..3c2118139 100644 --- a/src/db/dbTest.h +++ b/src/db/dbTest.h @@ -22,29 +22,31 @@ extern "C" { #endif /*dbAddr info */ -epicsShareFunc long epicsShareAPI dba(char*pname); +epicsShareFunc long epicsShareAPI dba(const char*pname); /*list records*/ -epicsShareFunc long epicsShareAPI dbl(char *precordTypename,char *filename,char *fields); +epicsShareFunc long epicsShareAPI dbl( + const char *precordTypename,const char *fields); /*list number of records of each type*/ epicsShareFunc long epicsShareAPI dbnr(int verbose); /*list records with mask*/ -epicsShareFunc long epicsShareAPI dbgrep(char *pmask); +epicsShareFunc long epicsShareAPI dbgrep(const char *pmask); /*get field value*/ -epicsShareFunc long epicsShareAPI dbgf(char *pname); +epicsShareFunc long epicsShareAPI dbgf(const char *pname); /*put field value*/ -epicsShareFunc long epicsShareAPI dbpf(char *pname,char *pvalue); +epicsShareFunc long epicsShareAPI dbpf(const char *pname,const char *pvalue); /*print record*/ -epicsShareFunc long epicsShareAPI dbpr(char *pname,int interest_level); +epicsShareFunc long epicsShareAPI dbpr(const char *pname,int interest_level); /*test record*/ -epicsShareFunc long epicsShareAPI dbtr(char *pname); +epicsShareFunc long epicsShareAPI dbtr(const char *pname); /*test get field*/ -epicsShareFunc long epicsShareAPI dbtgf(char *pname); +epicsShareFunc long epicsShareAPI dbtgf(const char *pname); /*test put field*/ -epicsShareFunc long epicsShareAPI dbtpf(char *pname,char *pvalue); +epicsShareFunc long epicsShareAPI dbtpf(const char *pname,const char *pvalue); /*I/O report */ -epicsShareFunc long epicsShareAPI dbior(char *pdrvName,int interest_level); +epicsShareFunc long epicsShareAPI dbior( + const char *pdrvName,int interest_level); /*Hardware Configuration Report*/ -epicsShareFunc int epicsShareAPI dbhcr(char *filename); +epicsShareFunc int epicsShareAPI dbhcr(); #ifdef __cplusplus }