29 #define DISABLE_DEBUGLOG 32 #include "pathmanager_p.h" 33 #include <gwenhywfar/db.h> 34 #include <gwenhywfar/debug.h> 35 #include <gwenhywfar/directory.h> 84 "Path \"%s/%s\" already exists",
123 const char *pathName,
124 const char *pathValue)
165 const char *pathName,
166 const char *pathValue,
175 pcwd=getcwd(cwd,
sizeof(cwd)-1);
230 "Could not determine HOME directory (%d)",
256 const char *pathName,
257 const char *pathValue)
294 const char *pathName,
295 const char *pathValue,
304 pcwd=getcwd(cwd,
sizeof(cwd)-1);
359 "Could not determine HOME directory (%d)",
384 const char *pathName,
385 const char *pathValue)
409 (!callingLib && !s) ||
410 (callingLib && s && strcasecmp(s, callingLib)==0)
412 strcasecmp(p, pathValue)==0
454 if (s && strcasecmp(s, callingLib)==0) {
471 const char *pathName)
495 const char *pathName)
542 const char *pathName,
543 const char *fileName,
581 "File \"%s\" found in folder \"%s\"",
605 const char *pathName,
606 const char *subFolderName,
635 if (subFolderName && *subFolderName) {
663 const char *pathName,
675 snprintf(nbuffer,
sizeof(nbuffer), keypath);
678 if (RegOpenKey(HKEY_LOCAL_MACHINE, nbuffer, &hkey)) {
685 nsize=
sizeof(nbuffer);
686 vsize=
sizeof(vbuffer);
687 if (ERROR_SUCCESS!=RegEnumValue(hkey,
696 if (strcasecmp(nbuffer, varname)==0 && typ==REG_SZ) {
708 "In RegKey \"%s\" the variable \"%s\" does not exist",
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
GWENHYWFAR_API int GWEN_Directory_OsifyPath(const char *path, GWEN_BUFFER *pbuf, int transformDriveElement)
struct GWEN_DB_NODE GWEN_DB_NODE
#define GWEN_DB_FLAGS_INSERT
void GWEN_DB_Group_free(GWEN_DB_NODE *n)
#define GWEN_ERROR_INVALID
#define GWEN_DIR_SEPARATOR_S
GWENHYWFAR_API int GWEN_Directory_GetPrefixDirectory(char *buffer, unsigned int size)
int GWEN_PathManager_AddPath(const char *callingLib, const char *destLib, const char *pathName, const char *pathValue)
uint32_t GWEN_DB_GetNodeFlags(const GWEN_DB_NODE *n)
#define GWEN_PATH_FLAGS_CREATE_GROUP
static GWEN_DB_NODE * gwen__paths
int GWEN_PathManager_UndefinePath(const char *destLib, const char *pathName)
int GWEN_PathManager_InsertRelPath(const char *callingLib, const char *destLib, const char *pathName, const char *pathValue, GWEN_PATHMANAGER_RELMODE rm)
GWENHYWFAR_API int GWEN_Directory_GetMatchingFilesRecursively(const char *folder, GWEN_STRINGLIST *sl, const char *mask)
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
void GWEN_Buffer_Reset(GWEN_BUFFER *bf)
GWENHYWFAR_API int GWEN_Directory_GetHomeDirectory(char *buffer, unsigned int size)
int GWEN_PathManager_RemovePaths(const char *callingLib)
void GWEN_StringList_free(GWEN_STRINGLIST *sl)
int GWEN_PathManager_ModuleInit(void)
int GWEN_StringList_AppendString(GWEN_STRINGLIST *sl, const char *s, int take, int checkDouble)
#define DBG_DEBUG(dbg_logger, format, args...)
int GWEN_Buffer_AppendBuffer(GWEN_BUFFER *bf, GWEN_BUFFER *sf)
int GWEN_DB_DeleteGroup(GWEN_DB_NODE *n, const char *path)
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
GWEN_DB_NODE * GWEN_DB_GetNextGroup(GWEN_DB_NODE *n)
const char * GWEN_DB_GetCharValue(GWEN_DB_NODE *n, const char *path, int idx, const char *defVal)
GWEN_STRINGLIST * GWEN_PathManager_GetPaths(const char *destLib, const char *pathName)
GWEN_DB_NODE * GWEN_DB_GetGroup(GWEN_DB_NODE *n, uint32_t flags, const char *path)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
#define GWEN_DB_NODE_FLAGS_DIRTY
unsigned int GWEN_StringList_Count(const GWEN_STRINGLIST *sl)
#define DBG_ERROR(dbg_logger, format, args...)
int GWEN_PathManager_PathChanged(const char *destLib, const char *pathName)
int GWEN_PathManager_ModuleFini(void)
int GWEN_DB_SetCharValue(GWEN_DB_NODE *n, uint32_t flags, const char *path, const char *val)
#define GWEN_DIR_SEPARATOR
int GWEN_PathManager_AddRelPath(const char *callingLib, const char *destLib, const char *pathName, const char *pathValue, GWEN_PATHMANAGER_RELMODE rm)
#define GWEN_ERROR_NOT_FOUND
#define DBG_INFO(dbg_logger, format, args...)
int GWEN_PathManager_AddPathFromWinReg(GWEN_UNUSED const char *callingLib, GWEN_UNUSED const char *destLib, GWEN_UNUSED const char *pathName, GWEN_UNUSED const char *keypath, GWEN_UNUSED const char *varname)
void GWEN_DB_UnlinkGroup(GWEN_DB_NODE *n)
int GWEN_PathManager_RemovePath(const char *callingLib, const char *destLib, const char *pathName, const char *pathValue)
GWEN_DB_NODE * GWEN_DB_FindFirstGroup(GWEN_DB_NODE *n, const char *name)
GWEN_DB_NODE * GWEN_DB_Group_new(const char *name)
GWEN_DB_NODE * GWEN_DB_GetFirstGroup(GWEN_DB_NODE *n)
int GWEN_PathManager_InsertPath(const char *callingLib, const char *destLib, const char *pathName, const char *pathValue)
int GWEN_PathManager_FindFile(const char *destLib, const char *pathName, const char *fileName, GWEN_BUFFER *fbuf)
GWEN_STRINGLIST * GWEN_StringList_new(void)
#define GWEN_PATH_FLAGS_NAMEMUSTEXIST
GWEN_DB_NODE * GWEN_DB_FindNextGroup(GWEN_DB_NODE *n, const char *name)
int GWEN_PathManager_GetMatchingFilesRecursively(const char *destLib, const char *pathName, const char *subFolderName, GWEN_STRINGLIST *sl, const char *mask)
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)
#define GWEN_DB_FLAGS_DEFAULT
int GWEN_PathManager_DefinePath(const char *destLib, const char *pathName)