diff --git a/src/dbStatic/dbLexRoutines.c b/src/dbStatic/dbLexRoutines.c index a9eed9a2a..6ed8d2ffb 100644 --- a/src/dbStatic/dbLexRoutines.c +++ b/src/dbStatic/dbLexRoutines.c @@ -27,21 +27,21 @@ of this distribution. #include #include -#include +#include "dbmf.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "dbDefs.h" +#include "dbFldTypes.h" +#include "epicsPrint.h" +#include "errMdef.h" +#include "dbStaticLib.h" +#include "dbStaticPvt.h" +#include "ellLib.h" +#include "gpHash.h" +#include "freeList.h" +#include "guigroup.h" +#include "special.h" +#include "link.h" +#include "macLib.h" /*private routines */ static void yyerrorAbort(char *str); diff --git a/src/dbStatic/dbPvdLib.c b/src/dbStatic/dbPvdLib.c index 0530d56e3..ff2276ff4 100644 --- a/src/dbStatic/dbPvdLib.c +++ b/src/dbStatic/dbPvdLib.c @@ -17,10 +17,10 @@ of this distribution. #include #include -#include -#include -#include -#include +#include "dbDefs.h" +#include "ellLib.h" +#include "dbStaticLib.h" +#include "dbStaticPvt.h" int dbPvdHashTableSize = 512; static int dbPvdHashTableShift; diff --git a/src/dbStatic/dbReadTest.c b/src/dbStatic/dbReadTest.c index 6850ea07b..1e9899b1e 100644 --- a/src/dbStatic/dbReadTest.c +++ b/src/dbStatic/dbReadTest.c @@ -19,12 +19,14 @@ of this distribution. #include #include #include -#include -#include -#include -#include -#include -#include + +#include "dbDefs.h" +#include "epicsPrint.h" +#include "errMdef.h" +#include "dbStaticLib.h" +#include "dbStaticPvt.h" +#include "dbBase.h" +#include "gpHash.h" DBBASE *pdbbase = NULL; @@ -45,7 +47,7 @@ int main(int argc,char **argv) /*Look for options*/ if(argc<2) { - printf("usage: dbReadTest -Idir -Idir file.dbd file.dbd \n"); + printf("usage: dbReadTest -Idir -Smacsub file.dbd file.db \n"); exit(0); } while((strncmp(argv[1],"-I",2)==0)||(strncmp(argv[1],"-S",2)==0)) { @@ -84,8 +86,8 @@ int main(int argc,char **argv) dbPvdDump(pdbbase); gphDump(pdbbase->pgpHash); dbDumpMenu(pdbbase,NULL); -*/ dbDumpRecord(pdbbase,NULL,0); dbFreeBase(pdbbase); +*/ return(0); } diff --git a/src/dbStatic/dbStaticLib.c b/src/dbStatic/dbStaticLib.c index 7c9b861a7..069e8276b 100644 --- a/src/dbStatic/dbStaticLib.c +++ b/src/dbStatic/dbStaticLib.c @@ -32,24 +32,24 @@ of this distribution. #define DBFLDTYPES_GBLSOURCE #define GUIGROUPS_GBLSOURCE #define SPECIAL_GBLSOURCE -#include +#include "dbDefs.h" #define LINK_GBLSOURCE -#include +#include "link.h" #undef LINK_GBLSOURCE -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "dbFldTypes.h" +#include "epicsPrint.h" +#include "errMdef.h" +#include "ellLib.h" +#include "cvtFast.h" +#include "dbStaticLib.h" +#include "dbStaticPvt.h" +#include "devSup.h" +#include "drvSup.h" +#include "special.h" +#include "gpHash.h" +#include "guigroup.h" +#include "special.h" +#include "dbmf.h" int dbStaticDebug = 0; #define messagesize 100 @@ -760,6 +760,7 @@ long dbAddPath(DBBASE *pdbbase,const char *path) const char *pcolon; const char *pdir; int len; + int emptyName; if(!pdbbase) return(-1); ppathList = (ELLLIST *)pdbbase->pathPvt; @@ -769,18 +770,29 @@ long dbAddPath(DBBASE *pdbbase,const char *path) pdbbase->pathPvt = (void *)ppathList; } pdir = path; - while(pdir) { - if(*pdir == ':') { - pdir++; - continue; - } - pdbPathNode = (dbPathNode *)dbCalloc(1,sizeof(dbPathNode)); + /*an empty name at beginning, middle, or end means current directory*/ + while(pdir && *pdir) { + emptyName = ((*pdir == ':') ? TRUE : FALSE); + if(emptyName) ++pdir; + pdbPathNode = (dbPathNode *)calloc(1,sizeof(dbPathNode)); ellAdd(ppathList,&pdbPathNode->node); - pcolon = strchr(pdir,':'); - len = (pcolon ? (pcolon - pdir) : strlen(pdir)); - pdbPathNode->directory = (char *)dbCalloc(1,len + 1); - strncpy(pdbPathNode->directory,pdir,len); - pdir = (pcolon ? (pcolon+1) : 0); + if(!emptyName) { + pcolon = strchr(pdir,':'); + len = (pcolon ? (pcolon - pdir) : strlen(pdir)); + if(len>0) { + pdbPathNode->directory = (char *)calloc(len+1,sizeof(char)); + strncpy(pdbPathNode->directory,pdir,len); + pdir = pcolon; + /*unless at end skip past first colon*/ + if(pdir && *(pdir+1)!=0) ++pdir; + } else { /*must have been trailing : */ + emptyName=TRUE; + } + } + if(emptyName) { + pdbPathNode->directory = (char *)calloc(2,sizeof(char)); + strcpy(pdbPathNode->directory,"."); + } } return(0); } @@ -1114,7 +1126,7 @@ long dbWriteBreaktableFP(DBBASE *pdbbase,FILE *fp) fprintf(fp,"breaktable(%s) {\n",pbrkTable->name); for(ind=0; indnumber; ind++) { pbrkInt = pbrkTable->papBrkInt[ind]; - fprintf(fp,"\t%f %f\n",pbrkInt->raw,pbrkInt->eng); + fprintf(fp,"\t%e %e\n",pbrkInt->raw,pbrkInt->eng); } fprintf(fp,"}\n"); } diff --git a/src/dbStatic/dbStaticNoRun.c b/src/dbStatic/dbStaticNoRun.c index 6c82dd397..4eec61d55 100644 --- a/src/dbStatic/dbStaticNoRun.c +++ b/src/dbStatic/dbStaticNoRun.c @@ -22,12 +22,12 @@ of this distribution. #include #include -#include -#include -#include -#include -#include -#include +#include "dbDefs.h" +#include "dbFldTypes.h" +#include "epicsPrint.h" +#include "errMdef.h" +#include "dbStaticLib.h" +#include "dbStaticPvt.h" long dbAllocRecord(DBENTRY *pdbentry,char *precordName) { @@ -206,9 +206,7 @@ int dbIsDefaultValue(DBENTRY *pdbentry) case DBF_DOUBLE: case DBF_ENUM: if(!pflddes->initial) { - if((strtod((char *)pfield,&endp)==0.0) && (*endp=='\0')) - return(TRUE); - return(FALSE); + return((strlen((char *)pfield)==0)?TRUE:FALSE); } return(strcmp((char *)pfield,(char *)pflddes->initial)==0); case DBF_MENU: { @@ -240,11 +238,8 @@ int dbIsDefaultValue(DBENTRY *pdbentry) if(!plink) return(FALSE); if(plink->type!=CONSTANT) return(FALSE); if(!plink->value.constantStr) return(TRUE); - if(!pflddes->initial) { - if((strtod((char *)plink->value.constantStr,&endp)==0.0) - && (*endp=='\0')) return(TRUE); - return(FALSE); - } + if(!pflddes->initial) + return((strlen((char *)plink->value.constantStr)==0)?TRUE:FALSE); if(strcmp(plink->value.constantStr,pflddes->initial)==0) return(TRUE); return(FALSE); diff --git a/src/dbStatic/dbStaticRun.c b/src/dbStatic/dbStaticRun.c index 3110be0f3..2d4691eda 100644 --- a/src/dbStatic/dbStaticRun.c +++ b/src/dbStatic/dbStaticRun.c @@ -27,15 +27,15 @@ of this distribution. #include #include /* for sysSymTbl*/ -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "dbDefs.h" +#include "errMdef.h" +#include "epicsPrint.h" +#include "ellLib.h" +#include "dbDefs.h" +#include "cvtFast.h" +#include "dbStaticLib.h" +#include "dbStaticPvt.h" +#include "special.h" static char hex_digit_to_ascii[16]={'0','1','2','3','4','5','6','7','8','9', 'a','b','c','d','e','f'}; diff --git a/src/dbStatic/dbToMenuH.c b/src/dbStatic/dbToMenuH.c index 03230fbc7..f906e7928 100644 --- a/src/dbStatic/dbToMenuH.c +++ b/src/dbStatic/dbToMenuH.c @@ -19,12 +19,14 @@ of this distribution. #include #include #include -#include -#include -#include -#include -#include -#include + +#include "dbDefs.h" +#include "epicsPrint.h" +#include "errMdef.h" +#include "dbStaticLib.h" +#include "dbStaticPvt.h" +#include "dbBase.h" +#include "gpHash.h" DBBASE *pdbbase = NULL; diff --git a/src/dbStatic/dbToRecordtypeH.c b/src/dbStatic/dbToRecordtypeH.c index 33e65948d..d5fa3741f 100644 --- a/src/dbStatic/dbToRecordtypeH.c +++ b/src/dbStatic/dbToRecordtypeH.c @@ -19,12 +19,14 @@ of this distribution. #include #include #include -#include -#include -#include -#include -#include -#include + +#include "dbDefs.h" +#include "epicsPrint.h" +#include "errMdef.h" +#include "dbStaticLib.h" +#include "dbStaticPvt.h" +#include "dbBase.h" +#include "gpHash.h" DBBASE *pdbbase = NULL;