diff --git a/src/libs/tgf/params.cpp b/src/libs/tgf/params.cpp index 1b1f51209..03d64c543 100644 --- a/src/libs/tgf/params.cpp +++ b/src/libs/tgf/params.cpp @@ -1233,7 +1233,21 @@ GfParmReadBuf (char *buffer) return NULL; } +void * +GfParmReadFileBoth(const char *file, int mode) +{ + void *ret = GfParmReadFileLocal(file, mode); + if (!ret) + return GfParmReadFile(file, mode); + + return ret; +} + +void *GfParmReadFileBoth(const std::string &file, int mode) +{ + return GfParmReadFileBoth(file.c_str(), mode); +} void * GfParmReadFileLocal(const std::string &file, int mode, bool neededFile) diff --git a/src/libs/tgf/tgf.h b/src/libs/tgf/tgf.h index a1d4fdee3..3734cbc9c 100644 --- a/src/libs/tgf/tgf.h +++ b/src/libs/tgf/tgf.h @@ -409,6 +409,9 @@ TGF_API char* GfPathNormalizeFile(char* pszPath, size_t nMaxPathLen); /* parameter file read */ TGF_API void *GfParmReadFileLocal(const char *file, int mode, bool neededFile = true); TGF_API void *GfParmReadFileLocal(const std::string &file, int mode, bool neededFile = true); +/* attempt GfParmReadFileLocal first, then GfParmReadFile */ +TGF_API void *GfParmReadFileBoth(const char *file, int mode); +TGF_API void *GfParmReadFileBoth(const std::string &file, int mode); /* last optional parameter allows usage without logger be available */ TGF_API void *GfParmReadFile(const char *file, int mode, bool neededFile = true, bool trace = true); TGF_API void *GfParmReadFile(const std::string &file, int mode, bool neededFile = true, bool trace = true);