diff --git a/src/ioc/db/dbBkpt.c b/src/ioc/db/dbBkpt.c index 5a24822cb..8e7bf3a2b 100644 --- a/src/ioc/db/dbBkpt.c +++ b/src/ioc/db/dbBkpt.c @@ -410,7 +410,7 @@ long dbd(const char *record_name) precord = addr.precord; - if (! (precord->bkpt & BKPT_ON_MASK)) { + if (!(precord->bkpt & BKPT_ON_MASK)) { printf(" BKPT> No breakpoint set in this record\n"); return(S_db_bkptNotSet); } diff --git a/src/ioc/db/dbTest.c b/src/ioc/db/dbTest.c index e707dab7f..4bbd40630 100644 --- a/src/ioc/db/dbTest.c +++ b/src/ioc/db/dbTest.c @@ -309,6 +309,11 @@ long dbgf(const char *pname) if (nameToAddr(pname, &addr)) return -1; + if (addr.precord->lset == NULL) { + printf("dbgf only works after iocInit\n"); + return -1; + } + no_elements = MIN(addr.no_elements, sizeof(buffer)/addr.field_size); if (addr.dbr_field_type == DBR_ENUM) { long status = dbGetField(&addr, DBR_STRING, pbuffer, @@ -345,6 +350,11 @@ long dbpf(const char *pname,const char *pvalue) if (nameToAddr(pname, &addr)) return -1; + if (addr.precord->lset == NULL) { + printf("dbpf only works after iocInit\n"); + return -1; + } + if (addr.no_elements > 1 && (addr.dbr_field_type == DBR_CHAR || addr.dbr_field_type == DBR_UCHAR)) { dbrType = addr.dbr_field_type; @@ -399,6 +409,11 @@ long dbtr(const char *pname) if (nameToAddr(pname, &addr)) return -1; + if (addr.precord->lset == NULL) { + printf("dbtr only works after iocInit\n"); + return -1; + } + precord = (struct dbCommon*)addr.precord; if (precord->pact) { printf("record active\n"); @@ -438,6 +453,11 @@ long dbtgf(const char *pname) if (nameToAddr(pname, &addr)) return -1; + if (addr.precord->lset == NULL) { + printf("dbtgf only works after iocInit\n"); + return -1; + } + /* try all options first */ req_options = 0xffffffff; ret_options = req_options; @@ -534,6 +554,11 @@ long dbtpf(const char *pname, const char *pvalue) if (nameToAddr(pname, &addr)) return -1; + if (addr.precord->lset == NULL) { + printf("dbtpf only works after iocInit\n"); + return -1; + } + for (put_type = DBR_STRING; put_type <= DBF_ENUM; put_type++) { union { epicsInt8 i8; @@ -795,7 +820,7 @@ static void printBuffer( printf("no_strs = %u:\n", pdbr_enumStrs->no_str); - for (i = 0; i < pdbr_enumStrs->no_str; i++) + for (i = 0; i < pdbr_enumStrs->no_str; i++) printf("\t\"%s\"\n", pdbr_enumStrs->strs[i]); } else { diff --git a/src/ioc/dbStatic/dbLexRoutines.c b/src/ioc/dbStatic/dbLexRoutines.c index 19bea450d..97a85ff54 100644 --- a/src/ioc/dbStatic/dbLexRoutines.c +++ b/src/ioc/dbStatic/dbLexRoutines.c @@ -4,7 +4,7 @@ * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE is distributed subject to a Software License Agreement found -* in file LICENSE that is included with this distribution. +* in file LICENSE that is included with this distribution. \*************************************************************************/ /* Author: Marty Kraimer Date: 13JUL95*/ @@ -169,7 +169,7 @@ static char *dbOpenFile(DBBASE *pdbbase,const char *filename,FILE **fp) } pdbPathNode = (dbPathNode *)ellFirst(ppathList); while (pdbPathNode) { - fullfilename = dbMalloc(strlen(pdbPathNode->directory) + + fullfilename = dbMalloc(strlen(pdbPathNode->directory) + strlen(filename) + 2); strcpy(fullfilename, pdbPathNode->directory); strcat(fullfilename, "/"); @@ -190,7 +190,7 @@ static void freeInputFileList(void) inputFile *pinputFileNow; while((pinputFileNow=(inputFile *)ellFirst(&inputFileList))) { - if(fclose(pinputFileNow->fp)) + if(fclose(pinputFileNow->fp)) errPrintf(0,__FILE__, __LINE__, "Closing file %s",pinputFileNow->filename); free((void *)pinputFileNow->filename); @@ -215,7 +215,7 @@ static long dbReadCOM(DBBASE **ppdbbase,const char *filename, FILE *fp, inputFile *pinputFile = NULL; char *penv; char **macPairs; - + if(ellCount(&tempList)) { epicsPrintf("dbReadCOM: Parser stack dirty %d\n", ellCount(&tempList)); } @@ -341,7 +341,7 @@ static int db_yyinput(char *buf, int max_size) { size_t l,n; char *fgetsRtn; - + if(yyAbort) return(0); if(*my_buffer_ptr==0) { while(TRUE) { /*until we get some input*/ @@ -360,7 +360,7 @@ static int db_yyinput(char *buf, int max_size) fgetsRtn = fgets(my_buffer,MY_BUFFER_SIZE,pinputFileNow->fp); } if(fgetsRtn) break; - if(fclose(pinputFileNow->fp)) + if(fclose(pinputFileNow->fp)) errPrintf(0,__FILE__, __LINE__, "Closing file %s",pinputFileNow->filename); free((void *)pinputFileNow->filename); @@ -511,7 +511,7 @@ static void dbRecordtypeFieldHead(char *name,char *type) { dbFldDes *pdbFldDes; int i; - + if(duplicate) return; pdbFldDes = dbCalloc(1,sizeof(dbFldDes)); allocTemp(pdbFldDes); @@ -544,7 +544,7 @@ static short findOrAddGuiGroup(const char *name) static void dbRecordtypeFieldItem(char *name,char *value) { dbFldDes *pdbFldDes; - + if(duplicate) return; pdbFldDes = (dbFldDes *)getLastTemp(); if(strcmp(name,"asl")==0) { @@ -636,11 +636,11 @@ static void dbRecordtypeCdef(char *text) { dbText *pdbCdef; tempListNode *ptempListNode; dbRecordType *pdbRecordType; - + if (!pdbbase->loadCdefs || duplicate) return; ptempListNode = (tempListNode *)ellFirst(&tempList); pdbRecordType = ptempListNode->item; - + pdbCdef = dbCalloc(1,sizeof(dbText)); if (text[0] == ' ') text++; /* strip leading space if present */ pdbCdef->text = epicsStrDup(text); @@ -699,7 +699,7 @@ static void dbRecordtypeBody(void) if((field_type==DBF_STRING) && (pdbFldDes->size==0)) fprintf(stderr,"recordtype(%s).%s size not specified\n", pdbRecordType->name,pdbFldDes->name); - if((field_type==DBF_NOACCESS) && (pdbFldDes->extra==0)) + if((field_type==DBF_NOACCESS) && (pdbFldDes->extra==0)) fprintf(stderr,"recordtype(%s).%s extra not specified\n", pdbRecordType->name,pdbFldDes->name); } @@ -811,7 +811,7 @@ static void dbDriver(char *name) pgphentry = gphAdd(pdbbase->pgpHash,pdrvSup->name,&pdbbase->drvList); if(!pgphentry) { yyerrorAbort("gphAdd failed"); - } + } pgphentry->userPvt = pdrvSup; ellAdd(&pdbbase->drvList,&pdrvSup->node); } @@ -831,7 +831,7 @@ static void dbLinkType(char *name, char *jlif_name) pgphentry = gphAdd(pdbbase->pgpHash, pLinkSup->name, &pdbbase->linkList); if (!pgphentry) { yyerrorAbort("gphAdd failed"); - } + } pgphentry->userPvt = pLinkSup; ellAdd(&pdbbase->linkList, &pLinkSup->node); } @@ -850,7 +850,7 @@ static void dbRegistrar(char *name) pgphentry = gphAdd(pdbbase->pgpHash,ptext->text,&pdbbase->registrarList); if(!pgphentry) { yyerrorAbort("gphAdd failed"); - } + } pgphentry->userPvt = ptext; ellAdd(&pdbbase->registrarList,&ptext->node); } @@ -889,7 +889,7 @@ static void dbVariable(char *name, char *type) pgphentry = gphAdd(pdbbase->pgpHash,pvar->name,&pdbbase->variableList); if(!pgphentry) { yyerrorAbort("gphAdd failed"); - } + } pgphentry->userPvt = pvar; ellAdd(&pdbbase->variableList,&pvar->node); } @@ -948,11 +948,11 @@ static void dbBreakBody(void) pnewbrkTable->paBrkInt = paBrkInt = dbCalloc(number, sizeof(brkInt)); for (i=0; iitem; status = dbFindField(pdbentry,name); if(status) { - epicsPrintf("Record \"%s\" does not have a field \"%s\"\n", + epicsPrintf("Record \"%s\" does not have a field \"%s\"\n", dbGetRecordName(pdbentry), name); yyerror(NULL); return; diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index e68c4531a..c2b1afa49 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -879,10 +879,14 @@ long dbWriteRecordFP( status=dbNextField(pdbentry,dctonly); } status = dbFirstInfo(pdbentry); - while(!status) { - fprintf(fp,"\tinfo(\"%s\",\"%s\")\n", - dbGetInfoName(pdbentry), dbGetInfoString(pdbentry)); - status=dbNextInfo(pdbentry); + while (!status) { + const char *pinfostr = dbGetInfoString(pdbentry); + + fprintf(fp, "\tinfo(\"%s\",\"", + dbGetInfoName(pdbentry)); + epicsStrPrintEscaped(fp, pinfostr, strlen(pinfostr)); + fprintf(fp, "\")\n"); + status = dbNextInfo(pdbentry); } fprintf(fp,"}\n"); status = dbNextRecord(pdbentry); diff --git a/src/ioc/misc/epicsRelease.c b/src/ioc/misc/epicsRelease.c index 7ee89fcda..5eb55960c 100644 --- a/src/ioc/misc/epicsRelease.c +++ b/src/ioc/misc/epicsRelease.c @@ -17,9 +17,6 @@ #define epicsExportSharedSymbols #include "epicsRelease.h" -static const char id[] EPICS_UNUSED = - "@(#) " EPICS_VERSION_STRING ", Misc. Utilities Library" __DATE__; - epicsShareFunc int coreRelease(void) { printf ( "############################################################################\n" ); diff --git a/src/ioc/rsrv/online_notify.c b/src/ioc/rsrv/online_notify.c index b2547c464..6b6157370 100644 --- a/src/ioc/rsrv/online_notify.c +++ b/src/ioc/rsrv/online_notify.c @@ -45,7 +45,6 @@ void rsrv_online_notify_task(void *pParm) caHdr msg; int status; ca_uint32_t beaconCounter = 0; - char buf[16]; taskwdInsert (epicsThreadGetIdSelf(),NULL,NULL); @@ -85,10 +84,12 @@ void rsrv_online_notify_task(void *pParm) &pAddr->addr.sa, sizeof(pAddr->addr)); if (status < 0) { char sockErrBuf[64]; - epicsSocketConvertErrnoToString ( sockErrBuf, sizeof ( sockErrBuf ) ); - ipAddrToDottedIP (&pAddr->addr.ia, buf, sizeof(buf)); + char sockDipBuf[22]; + + epicsSocketConvertErrnoToString(sockErrBuf, sizeof(sockErrBuf)); + ipAddrToDottedIP(&pAddr->addr.ia, sockDipBuf, sizeof(sockDipBuf)); errlogPrintf ( "CAS: CA beacon send to %s error: %s\n", - buf, sockErrBuf); + sockDipBuf, sockErrBuf); } else { assert (status == sizeof(msg)); diff --git a/test/std/rec/Makefile b/test/std/rec/Makefile index 203a1eee4..892f6cc10 100644 --- a/test/std/rec/Makefile +++ b/test/std/rec/Makefile @@ -97,6 +97,7 @@ TESTFILES += $(COMMON_DIR)/analogMonitorTest.dbd ../analogMonitorTest.db TESTS += analogMonitorTest TARGETS += $(COMMON_DIR)/regressTest.dbd +DBDDEPENDS_FILES += regressTest.dbd$(DEP) regressTest_DBD += base.dbd TESTPROD_HOST += regressTest regressTest_SRCS += regressTest.c