Skip to content
Snippets Groups Projects
Commit ca23988d authored by Eric Vidal's avatar Eric Vidal :speech_balloon:
Browse files

adapt to new sastr_dir_get function interface

parent 51a471ff
No related branches found
No related tags found
No related merge requests found
......@@ -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) {
......
......@@ -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)
{
......
/*
* 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 ;
......
......@@ -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)
{
......
......@@ -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 ;
......
......@@ -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) ;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment