From ca23988d60543dc6b946530efbf4a390d47302c5 Mon Sep 17 00:00:00 2001 From: obarun <eric@obarun.org> Date: Tue, 30 Nov 2021 22:35:05 +1100 Subject: [PATCH] adapt to new sastr_dir_get function interface --- src/lib66/ss_environ.c | 6 ++++-- src/lib66/ss_resolve_graph.c | 7 +++++-- src/lib66/ss_service.c | 8 +++++--- src/lib66/ss_utils.c | 3 ++- src/lib66/ssexec_env.c | 16 ++++++++++------ src/lib66/ssexec_init.c | 3 ++- 6 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/lib66/ss_environ.c b/src/lib66/ss_environ.c index ddfdd1af..5a94dd5b 100644 --- a/src/lib66/ss_environ.c +++ b/src/lib66/ss_environ.c @@ -314,7 +314,8 @@ int env_import_version_file(char const *svname, char const *svconf, char const * !env_append_version(&dst_ver,svconf,dversion)) return 0 ; - if (!sastr_dir_get(&salist,src_ver.s,svname_dot,S_IFREG)) + char const *exclude[2] = { svname_dot, 0 } ; + if (!sastr_dir_get(&salist,src_ver.s,exclude,S_IFREG)) log_warnusys_return(LOG_EXIT_ZERO,"get configuration file from directory: ",src_ver.s) ; FOREACH_SASTR(&salist,pos) { @@ -348,7 +349,8 @@ int env_import_version_file(char const *svname, char const *svconf, char const * salist.len = 0 ; pos = 0 ; - if (!sastr_dir_get(&salist,src_ver.s,"",S_IFDIR)) + char const *exclude[1] = { 0 } ; + if (!sastr_dir_get(&salist,src_ver.s,exclude,S_IFDIR)) log_warnusys_return(LOG_EXIT_ZERO,"get configuration directories from directory: ",src_ver.s) ; FOREACH_SASTR(&salist,pos) { diff --git a/src/lib66/ss_resolve_graph.c b/src/lib66/ss_resolve_graph.c index d022b301..277fe46b 100644 --- a/src/lib66/ss_resolve_graph.c +++ b/src/lib66/ss_resolve_graph.c @@ -190,6 +190,7 @@ int ss_resolve_graph_src(ss_resolve_graph_t *graph, char const *dir, unsigned in stralloc sa = STRALLOC_ZERO ; ss_resolve_t res = RESOLVE_ZERO ; size_t dirlen = strlen(dir), pos = 0 ; + char const *exclude[2] = { 0 } ; char solve[dirlen + SS_DB_LEN + SS_SRC_LEN + 1] ; memcpy(solve,dir,dirlen) ; @@ -198,14 +199,16 @@ int ss_resolve_graph_src(ss_resolve_graph_t *graph, char const *dir, unsigned in { memcpy(solve + dirlen, SS_SVC, SS_SVC_LEN) ; solve[dirlen + SS_SVC_LEN] = 0 ; - if (!sastr_dir_get(&sa,solve,"",S_IFDIR)) goto err ; + if (!sastr_dir_get(&sa,solve,exclude,S_IFDIR)) goto err ; } if (what) { memcpy(solve + dirlen, SS_DB, SS_DB_LEN) ; memcpy(solve + dirlen + SS_DB_LEN, SS_SRC, SS_SRC_LEN) ; solve[dirlen + SS_DB_LEN + SS_SRC_LEN] = 0 ; - if (!sastr_dir_get(&sa,solve,SS_MASTER + 1,S_IFDIR)) goto err ; + exclude[0] = SS_MASTER + 1 ; + exclude[1] = 0 ; + if (!sastr_dir_get(&sa,solve,exclude,S_IFDIR)) goto err ; } for (;pos < sa.len; pos += strlen(sa.s + pos) + 1) { diff --git a/src/lib66/ss_service.c b/src/lib66/ss_service.c index cef23c9c..ab94fc42 100644 --- a/src/lib66/ss_service.c +++ b/src/lib66/ss_service.c @@ -1,5 +1,5 @@ /* - * ss_service.c + * service.c * * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> * @@ -40,6 +40,7 @@ int service_isenabled(char const *sv) ss_resolve_t res = RESOLVE_ZERO ; size_t newlen = 0, pos = 0 ; int e = -1 ; + char const *exclude[3] = { SS_BACKUP + 1, SS_RESOLVE + 1, 0 } ; if (!set_ownersysdir(&sa, getuid())) { @@ -60,7 +61,7 @@ int service_isenabled(char const *sv) newlen = sa.len + SS_SYSTEM_LEN + 1 ; sa.len = 0 ; - if (!sastr_dir_get(&sa, tmp, SS_BACKUP + 1, S_IFDIR)) { + if (!sastr_dir_get(&sa, tmp, exclude, S_IFDIR)) { log_warnu("get list of trees from: ", tmp) ; goto freed ; @@ -116,6 +117,7 @@ int service_isenabledat(stralloc *tree, char const *sv) ss_resolve_t res = RESOLVE_ZERO ; size_t newlen = 0, pos = 0 ; int e = -1 ; + char const *exclude[3] = { SS_BACKUP + 1, SS_RESOLVE + 1, 0 } ; if (!set_ownersysdir(&sa, getuid())) { @@ -136,7 +138,7 @@ int service_isenabledat(stralloc *tree, char const *sv) newlen = sa.len + SS_SYSTEM_LEN + 1 ; sa.len = 0 ; - if (!sastr_dir_get(&sa, tmp, SS_BACKUP + 1, S_IFDIR)) { + if (!sastr_dir_get(&sa, tmp, exclude, S_IFDIR)) { log_warnu("get list of trees from: ", tmp) ; goto freed ; diff --git a/src/lib66/ss_utils.c b/src/lib66/ss_utils.c index abba2223..b1806421 100644 --- a/src/lib66/ss_utils.c +++ b/src/lib66/ss_utils.c @@ -359,11 +359,12 @@ int module_search_service(char const *src, genalloc *gares, char const *name,uin stralloc list = STRALLOC_ZERO ; stralloc tmp = STRALLOC_ZERO ; ss_resolve_t res = RESOLVE_ZERO ; + char const *exclude[2] = { SS_MASTER + 1, 0 } ; char t[srclen + SS_RESOLVE_LEN + 1] ; auto_strings(t,src,SS_RESOLVE) ; - if (!sastr_dir_get(&list,t,SS_MASTER+1,S_IFREG)) goto err ; + if (!sastr_dir_get(&list,t,exclude,S_IFREG)) goto err ; for (;pos < list.len ; pos += strlen(list.s + pos) + 1) { diff --git a/src/lib66/ssexec_env.c b/src/lib66/ssexec_env.c index 6223efd9..d383b8b9 100644 --- a/src/lib66/ssexec_env.c +++ b/src/lib66/ssexec_env.c @@ -357,9 +357,11 @@ int ssexec_env(int argc, char const *const *argv,char const *const *envp,ssexec_ switch(todo) { case T_VLIST: - - if (!sastr_dir_get(&satmp,svconf,SS_SYM_VERSION + 1,S_IFDIR)) - log_dieu(LOG_EXIT_SYS,"get versioned directory of: ",svconf) ; + { + char const *exclude[2] = { SS_SYM_VERSION + 1, 0 } ; + if (!sastr_dir_get(&satmp,svconf,exclude,S_IFDIR)) + log_dieu(LOG_EXIT_SYS,"get versioned directory of: ",svconf) ; + } for (pos = 0 ; pos < satmp.len; pos += strlen(satmp.s + pos) + 1) { if (buffer_puts(buffer_1, svconf) < 0) @@ -377,9 +379,11 @@ int ssexec_env(int argc, char const *const *argv,char const *const *envp,ssexec_ break ; case T_LIST: - - if (!sastr_dir_get(&satmp,src,SS_SYM_VERSION + 1,S_IFREG)) - log_dieu(LOG_EXIT_SYS,"get versioned directory at: ",src) ; + { + char const *exclude[2] = { SS_SYM_VERSION + 1, 0 } ; + if (!sastr_dir_get(&satmp,src,exclude,S_IFREG)) + log_dieu(LOG_EXIT_SYS,"get versioned directory at: ",src) ; + } for (pos = 0 ; pos < satmp.len; pos += strlen(satmp.s + pos) + 1) { salist.len = 0 ; diff --git a/src/lib66/ssexec_init.c b/src/lib66/ssexec_init.c index 3a6bf157..bdb153fb 100644 --- a/src/lib66/ssexec_init.c +++ b/src/lib66/ssexec_init.c @@ -48,6 +48,7 @@ int ssexec_init(int argc, char const *const *argv,char const *const *envp,ssexec stralloc sasvc = STRALLOC_ZERO ; ss_resolve_t res = RESOLVE_ZERO ; ss_state_t sta = STATE_ZERO ; + char const *exclude[1] = { 0 } ; classic = db = earlier = 0 ; @@ -92,7 +93,7 @@ int ssexec_init(int argc, char const *const *argv,char const *const *envp,ssexec /** svc already initiated? */ if (classic) { - if (!sastr_dir_get(&sasvc,svdir,"",S_IFDIR)) log_dieusys(LOG_EXIT_SYS,"get classic services from: ",svdir) ; + if (!sastr_dir_get(&sasvc,svdir,exclude,S_IFDIR)) log_dieusys(LOG_EXIT_SYS,"get classic services from: ",svdir) ; if (!sasvc.len) { log_info("Initialization report: no classic services into tree: ",info->treename.s) ; -- GitLab