From 3487157e3c71f089d9ff4ff555a893f2cdb066a3 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Thu, 26 Jul 2018 12:27:30 +0200 Subject: Add the binding root dir to the config search path Change-Id: Ia067ce46f13bc49b6050522d0484f92627968ff1 Signed-off-by: Romain Forlot --- src/aft.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/aft.c b/src/aft.c index b5dd29b..76fb6a1 100644 --- a/src/aft.c +++ b/src/aft.c @@ -190,22 +190,27 @@ static int CtrlCreateApi(AFB_ApiT apiHandle, CtlConfigT *ctrlConfig) { } int afbBindingEntry(afb_api_t apiHandle) { - size_t len = 0; + size_t len = 0, bindingRootDirLen = 0; char *dirList; - const char *envDirList = NULL, *configPath = NULL; + const char *envDirList = NULL, *configPath = NULL, *bindingRootDir = NULL; AFB_default = apiHandle; AFB_ApiDebug(apiHandle, "Controller in afbBindingEntry"); envDirList = getEnvDirList(CONTROL_PREFIX, "CONFIG_PATH"); + bindingRootDir = GetBindingDirPath(); + bindingRootDirLen = strlen(bindingRootDir); + if(envDirList) { - len = strlen(CONTROL_CONFIG_PATH) + strlen(envDirList); + len = strlen(CONTROL_CONFIG_PATH) + strlen(envDirList) + bindingRootDirLen; dirList = malloc(len + 1); - snprintf(dirList, len + 1, "%s:%s", envDirList, CONTROL_CONFIG_PATH); + snprintf(dirList, len + 2, "%s:%s:%s", envDirList, bindingRootDir, CONTROL_CONFIG_PATH); } else { - dirList = CONTROL_CONFIG_PATH; + len = strlen(CONTROL_CONFIG_PATH) + bindingRootDirLen; + dirList = malloc(len + 1); + snprintf(dirList, len + 1, "%s:%s", bindingRootDir, CONTROL_CONFIG_PATH); } configPath = CtlConfigSearch(apiHandle, dirList, CONTROL_PREFIX); -- cgit 1.2.3-korg