From a31f5e166c4acb033020463fd10f8b85b2cd9166 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 29 Jul 2003 20:25:37 +0000 Subject: [PATCH] Expand environment variable macros in filenames --- src/dbStatic/dbLexRoutines.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/dbStatic/dbLexRoutines.c b/src/dbStatic/dbLexRoutines.c index 0405e7407..69ac52280 100644 --- a/src/dbStatic/dbLexRoutines.c +++ b/src/dbStatic/dbLexRoutines.c @@ -223,17 +223,18 @@ static long dbReadCOM(DBBASE **ppdbbase,const char *filename, FILE *fp, freeListInitPvt(&freeListPvt,sizeof(tempListNode),100); pinputFile = dbCalloc(1,sizeof(inputFile)); if(filename) { - pinputFile->filename = epicsStrDup(filename); + pinputFile->filename = macEnvExpand(filename); } if(!fp) { FILE *fp; - if(filename) pinputFile->path = dbOpenFile(pdbbase,filename,&fp); - if(!filename || !fp) { + if(pinputFile->filename) pinputFile->path = dbOpenFile(pdbbase,pinputFile->filename,&fp); + if(!pinputFile->filename || !fp) { errPrintf(0,__FILE__, __LINE__, - "dbRead opening file %s",filename); + "dbRead opening file %s",pinputFile->filename); free((void *)my_buffer); freeListCleanup(freeListPvt); + free((void *)pinputFile->filename); free((void *)pinputFile); return(-1); } @@ -375,15 +376,16 @@ static void dbIncludeNew(char *filename) FILE *fp; pinputFile = dbCalloc(1,sizeof(inputFile)); - pinputFile->path = dbOpenFile(pdbbase,filename,&fp); + pinputFile->filename = macEnvExpand(filename); + pinputFile->path = dbOpenFile(pdbbase,pinputFile->filename,&fp); if(!fp) { errPrintf(0,__FILE__, __LINE__, "dbIncludeNew opening file %s",filename); yyerror(NULL); + free((void *)pinputFile->filename); free((void *)pinputFile); return; } - pinputFile->filename = epicsStrDup(filename); pinputFile->fp = fp; ellAdd(&inputFileList,&pinputFile->node); pinputFileNow = pinputFile;