diff options
author | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2019-12-03 17:16:19 +0100 |
---|---|---|
committer | Jonathan Aillet <jonathan.aillet@iot.bzh> | 2019-12-04 14:45:36 +0100 |
commit | 6d828a1b309685ad7f5d74abc0162c59fbbd3304 (patch) | |
tree | 9cefd7edde86a987bf8d7ffe89110ab43150ee9d /filescan-utils.c | |
parent | 4480e19e555318d04a8b63f8e5ef827b627ea408 (diff) |
Add 'GetRunningBindingDirPath' functionicefish_8.99.4icefish_8.99.3icefish_8.99.2icefish/8.99.4icefish/8.99.3icefish/8.99.28.99.48.99.38.99.2
Add 'GetRunningBindingDirPath' function that returns the binding
directory path (the path to the directory that contains the binding).
FYI:
- 'Binding directory path' is the path to the directory that contains
a binding binding launched by the binder.
- 'Binder root directory path' is the path specified at binder launch
using '--rootdir' option. If no option is specified, binder root
directory is set to the current directory.
SPEC-AGL: SPEC-3009
Change-Id: I34b3d17710ebc2bf06541a00ca7f8d7189f6aa18
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
Diffstat (limited to 'filescan-utils.c')
-rw-r--r-- | filescan-utils.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/filescan-utils.c b/filescan-utils.c index 236e192..6ac90fe 100644 --- a/filescan-utils.c +++ b/filescan-utils.c @@ -179,7 +179,33 @@ char *GetAFBRootDirPath(afb_api_t apiHandle) return GetAFBRootDirPathUsingFd(fd); } +char *GetRunningBindingDirPath(afb_api_t apiHandle) +{ + int ret; + + char *lastSlashInPath, *bindingDirectoryPath; + const char *bindingPath; + + json_object *settingsJ, *bindingPathJ = NULL; + + settingsJ = afb_api_settings(apiHandle); + if(!settingsJ) + return NULL; + + ret = json_object_object_get_ex(settingsJ, "binding-path", &bindingPathJ); + if(!ret || !bindingPathJ || !json_object_is_type(bindingPathJ, json_type_string)) + return NULL; + + bindingPath = json_object_get_string(bindingPathJ); + + lastSlashInPath = rindex(bindingPath, '/'); + if(!lastSlashInPath) + return NULL; + + bindingDirectoryPath = strndup(bindingPath, lastSlashInPath - bindingPath); + return bindingDirectoryPath; +} /** |