From aca86d46417a1afb198c927aea79e50a96925580 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Wed, 9 May 2018 12:56:47 +0200 Subject: Adapt function to dynamic API A dynamic API being dynamic, you need to pass as parameter on behalf of which API you want to act. If you are using classic v2 API then just pass a NULL pointer value. Change-Id: I9ac6b606ff25c63a05a647e418a7c2bcc4b2a7fe Signed-off-by: Romain Forlot --- filescan-utils.c | 13 +++++++------ filescan-utils.h | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/filescan-utils.c b/filescan-utils.c index d590aab..60905a6 100644 --- a/filescan-utils.c +++ b/filescan-utils.c @@ -130,19 +130,21 @@ const char *GetBinderName() { return binderName; } -#ifndef USE_API_DYN -char *GetBindingDirPath() +char *GetBindingDirPath(struct afb_dynapi *dynapi) { // A file description should not be greater than 999.999.999 char fd_link[CONTROL_MAXPATH_LEN]; char retdir[CONTROL_MAXPATH_LEN]; - sprintf(fd_link, "/proc/self/fd/%d", afb_daemon_rootdir_get_fd()); - ssize_t len; + + if(dynapi) + sprintf(fd_link, "/proc/self/fd/%d", afb_dynapi_rootdir_get_fd(dynapi)); + else + sprintf(fd_link, "/proc/self/fd/%d", afb_daemon_rootdir_get_fd_v2()); + if((len = readlink(fd_link, retdir, sizeof(retdir)-1)) == -1) { perror("lstat"); - AFB_ERROR("Error reading stat of link: %s", fd_link); strncpy(retdir, "/tmp", 4); } else @@ -152,4 +154,3 @@ char *GetBindingDirPath() return strndup(retdir, sizeof(retdir)); } -#endif diff --git a/filescan-utils.h b/filescan-utils.h index c282c2b..fb942e0 100644 --- a/filescan-utils.h +++ b/filescan-utils.h @@ -51,8 +51,8 @@ typedef enum { const char *GetMidleName(const char*name); const char *GetBinderName(); json_object* ScanForConfig (const char* searchPath, CtlScanDirModeT mode, const char *pre, const char *ext); -char *GetBindingDirPath(); +char *GetBindingDirPath(struct afb_dynapi *dynapi); #ifdef __cplusplus } -- cgit 1.2.3-korg