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

adapt to new resolve field name

parent f166bcd9
No related branches found
No related tags found
No related merge requests found
...@@ -186,7 +186,7 @@ int ssexec_resolve(int argc, char const *const *argv, ssexec_t *info) ...@@ -186,7 +186,7 @@ int ssexec_resolve(int argc, char const *const *argv, ssexec_t *info)
"owner", "owner",
"treename", "treename",
"user" , "user" ,
"inmodule", "inns",
"enabled", "enabled",
"home", "home",
......
...@@ -456,7 +456,7 @@ static int ssexec_callback(stralloc *sa, ssexec_t *info, unsigned int what) ...@@ -456,7 +456,7 @@ static int ssexec_callback(stralloc *sa, ssexec_t *info, unsigned int what)
if (!what ? res.enabled : ste.issupervised == STATE_FLAGS_TRUE && !res.earlier) { if (!what ? res.enabled : ste.issupervised == STATE_FLAGS_TRUE && !res.earlier) {
if (get_rstrlen_until(name, SS_LOG_SUFFIX) < 0 && !res.inmodule) if (get_rstrlen_until(name, SS_LOG_SUFFIX) < 0 && !res.inns)
if (!sastr_add_string(sa, name)) if (!sastr_add_string(sa, name))
log_dieu(LOG_EXIT_SYS, "add string") ; log_dieu(LOG_EXIT_SYS, "add string") ;
} }
......
...@@ -393,8 +393,8 @@ static void compute_log(resolve_service_t *res, resolve_service_t *ares, unsigne ...@@ -393,8 +393,8 @@ static void compute_log(resolve_service_t *res, resolve_service_t *ares, unsigne
lres.owner = res->owner ; lres.owner = res->owner ;
lres.treename = resolve_add_string(wres, str + res->treename) ; lres.treename = resolve_add_string(wres, str + res->treename) ;
lres.user = resolve_add_string(wres, str + res->user) ; lres.user = resolve_add_string(wres, str + res->user) ;
if (res->inmodule) if (res->inns)
lres.inmodule = resolve_add_string(wres, str + res->inmodule) ; lres.inns = resolve_add_string(wres, str + res->inns) ;
lres.path.home = resolve_add_string(wres, str + res->path.home) ; lres.path.home = resolve_add_string(wres, str + res->path.home) ;
lres.path.frontend = resolve_add_string(wres, str + res->path.frontend) ; lres.path.frontend = resolve_add_string(wres, str + res->path.frontend) ;
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <stdint.h> #include <stdint.h>
#include <string.h> #include <string.h>
#include <stdlib.h> //free #include <stdlib.h> //free
#include <sys/stat.h>
#include <oblibs/log.h> #include <oblibs/log.h>
#include <oblibs/sastr.h> #include <oblibs/sastr.h>
...@@ -84,7 +85,7 @@ static void parse_service_instance(stralloc *frontend, char const *svsrc, char c ...@@ -84,7 +85,7 @@ static void parse_service_instance(stralloc *frontend, char const *svsrc, char c
* @Die on fail * @Die on fail
* @Return 1 on success * @Return 1 on success
* @Return 2 -> already parsed */ * @Return 2 -> already parsed */
int parse_frontend(char const *sv, resolve_service_t *ares, unsigned int *areslen, ssexec_t *info, uint8_t force, uint8_t conf, char const *forced_directory, char const *main, char const *inmodule) int parse_frontend(char const *sv, resolve_service_t *ares, unsigned int *areslen, ssexec_t *info, uint8_t force, uint8_t conf, char const *forced_directory, char const *main, char const *inns)
{ {
log_flow() ; log_flow() ;
...@@ -100,13 +101,13 @@ int parse_frontend(char const *sv, resolve_service_t *ares, unsigned int *aresle ...@@ -100,13 +101,13 @@ int parse_frontend(char const *sv, resolve_service_t *ares, unsigned int *aresle
if (!ob_dirname(svsrc, sv)) if (!ob_dirname(svsrc, sv))
log_dieu(LOG_EXIT_SYS, "get dirname of: ", sv) ; log_dieu(LOG_EXIT_SYS, "get dirname of: ", sv) ;
if (inmodule) { if (inns) {
if (service_resolve_array_search(ares, *areslen, svname) >= 0) if (service_resolve_array_search(ares, *areslen, svname) >= 0)
log_warn_return(2, "ignoring: ", svname, " service -- already appended to the selection") ; log_warn_return(2, "ignoring: ", svname, " service -- already appended to the selection") ;
char n[strlen(inmodule) + 1 + strlen(svname) + 1] ; char n[strlen(inns) + 1 + strlen(svname) + 1] ;
auto_strings(n, inmodule, ":", svname) ; auto_strings(n, inns, ":", svname) ;
if (service_resolve_array_search(ares, *areslen, n) >= 0) if (service_resolve_array_search(ares, *areslen, n) >= 0)
log_warn_return(2, "ignoring: ", n, " service -- already appended to the selection") ; log_warn_return(2, "ignoring: ", n, " service -- already appended to the selection") ;
...@@ -189,13 +190,13 @@ int parse_frontend(char const *sv, resolve_service_t *ares, unsigned int *aresle ...@@ -189,13 +190,13 @@ int parse_frontend(char const *sv, resolve_service_t *ares, unsigned int *aresle
} }
} }
if (inmodule) { if (inns) {
char n[strlen(inmodule) + 1 + strlen(svname) + 1] ; char n[strlen(inns) + 1 + strlen(svname) + 1] ;
auto_strings(n, inmodule,":",svname) ; auto_strings(n, inns,":",svname) ;
res.name = resolve_add_string(wres, n) ; res.name = resolve_add_string(wres, n) ;
res.inmodule = resolve_add_string(wres, inmodule) ; res.inns = resolve_add_string(wres, inns) ;
} else { } else {
...@@ -217,8 +218,11 @@ int parse_frontend(char const *sv, resolve_service_t *ares, unsigned int *aresle ...@@ -217,8 +218,11 @@ int parse_frontend(char const *sv, resolve_service_t *ares, unsigned int *aresle
/** contents of directory should be listed by service_frontend_path /** contents of directory should be listed by service_frontend_path
* except for module type */ * except for module type */
if (scan_mode(sv, S_IFDIR) == 1 && res.type != TYPE_MODULE) if (scan_mode(sv, S_IFDIR) == 1 && res.type != TYPE_MODULE) {
goto freed ; stralloc_free(&sa) ;
resolve_free(wres) ;
return 1 ;
}
if (!parse_contents(wres, file, svname)) if (!parse_contents(wres, file, svname))
log_dieu(LOG_EXIT_SYS, "parse file of service: ", svname) ; log_dieu(LOG_EXIT_SYS, "parse file of service: ", svname) ;
...@@ -254,24 +258,23 @@ int parse_frontend(char const *sv, resolve_service_t *ares, unsigned int *aresle ...@@ -254,24 +258,23 @@ int parse_frontend(char const *sv, resolve_service_t *ares, unsigned int *aresle
/** parse interdependences if the service was never parsed */ /** parse interdependences if the service was never parsed */
if (isparsed == STATE_FLAGS_FALSE) { if (isparsed == STATE_FLAGS_FALSE) {
if (!parse_interdependences(svname, res.sa.s + res.dependencies.depends, res.dependencies.ndepends, ares, areslen, info, force, conf, forced_directory, main, inmodule)) if (!parse_interdependences(svname, res.sa.s + res.dependencies.depends, res.dependencies.ndepends, ares, areslen, info, force, conf, forced_directory, main, inns))
log_dieu(LOG_EXIT_SYS, "parse dependencies of service: ", svname) ; log_dieu(LOG_EXIT_SYS, "parse dependencies of service: ", svname) ;
} }
if (res.type == TYPE_MODULE) if (res.type == TYPE_MODULE)
parse_module(&res, ares, areslen, info, force) ; parse_module(&res, ares, areslen, info, force) ;
if (service_resolve_array_search(ares, *areslen, svname) < 0) { if (service_resolve_array_search(ares, *areslen, res.sa.s + res.name) < 0) {
log_trace("add service ", svname, " to the selection") ; log_trace("add service ", res.sa.s + res.name, " to the selection") ;
if (*areslen > SS_MAX_SERVICE) if (*areslen > SS_MAX_SERVICE)
log_die(LOG_EXIT_SYS, "too many services to parse -- compile again 66 changing the --max-service options") ; log_die(LOG_EXIT_SYS, "too many services to parse -- compile again 66 changing the --max-service options") ;
ares[(*areslen)++] = res ; ares[(*areslen)++] = res ;
} }
freed: stralloc_free(&sa) ;
stralloc_free(&sa) ; free(wres) ;
free(wres) ; return 1 ;
return 1 ;
} }
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#include <66/instance.h> #include <66/instance.h>
#include <66/module.h> #include <66/module.h>
int parse_interdependences(char const *service, char const *list, unsigned int listlen, resolve_service_t *ares, unsigned int *areslen, ssexec_t *info, uint8_t force, uint8_t conf, char const *forced_directory, char const *main, char const *inmodule) int parse_interdependences(char const *service, char const *list, unsigned int listlen, resolve_service_t *ares, unsigned int *areslen, ssexec_t *info, uint8_t force, uint8_t conf, char const *forced_directory, char const *main, char const *inns)
{ {
log_flow() ; log_flow() ;
...@@ -89,11 +89,9 @@ int parse_interdependences(char const *service, char const *list, unsigned int l ...@@ -89,11 +89,9 @@ int parse_interdependences(char const *service, char const *list, unsigned int l
* forced_directory == 0 means that the service * forced_directory == 0 means that the service
* comes from an external directory of the module. * comes from an external directory of the module.
* In this case don't associated it at the module. */ * In this case don't associated it at the module. */
parse_frontend(sa.s, ares, areslen, info, force, conf, forced_directory, main, !forced_directory ? 0 : inmodule) ; parse_frontend(sa.s, ares, areslen, info, force, conf, forced_directory, main, !forced_directory ? 0 : inns) ;
} }
} else } else
log_trace("no interdependences found for service: ", service) ; log_trace("no interdependences found for service: ", service) ;
......
...@@ -52,7 +52,7 @@ static void parse_prefix(char *result, stack *stk, resolve_service_t *ares, unsi ...@@ -52,7 +52,7 @@ static void parse_prefix(char *result, stack *stk, resolve_service_t *ares, unsi
/** check if the dependencies is a external one. In this /** check if the dependencies is a external one. In this
* case, the service is not considered as part of the prefix */ * case, the service is not considered as part of the prefix */
if (ares[aresid].inmodule && (!strcmp(ares[aresid].sa.s + ares[aresid].inmodule, prefix))) if (ares[aresid].inns && (!strcmp(ares[aresid].sa.s + ares[aresid].inns, prefix)))
auto_strings(result + strlen(result), prefix, ":", stk->s + pos, " ") ; auto_strings(result + strlen(result), prefix, ":", stk->s + pos, " ") ;
else else
auto_strings(result + strlen(result), stk->s + pos, " ") ; auto_strings(result + strlen(result), stk->s + pos, " ") ;
......
...@@ -76,7 +76,7 @@ void service_enable_disable(graph_t *g, unsigned int idx, resolve_service_t *are ...@@ -76,7 +76,7 @@ void service_enable_disable(graph_t *g, unsigned int idx, resolve_service_t *are
/** the logger must be disabled to avoid to start it /** the logger must be disabled to avoid to start it
* with the 66 tree start <tree> command */ * with the 66 tree start <tree> command */
if (res->logger.want && !action && res->type == TYPE_CLASSIC && !res->inmodule) { if (res->logger.want && !action && res->type == TYPE_CLASSIC && !res->inns) {
char *name = res->sa.s + res->logger.name ; char *name = res->sa.s + res->logger.name ;
......
...@@ -48,7 +48,7 @@ int service_resolve_copy(resolve_service_t *dst, resolve_service_t *res) ...@@ -48,7 +48,7 @@ int service_resolve_copy(resolve_service_t *dst, resolve_service_t *res)
dst->owner = res->owner ; dst->owner = res->owner ;
dst->treename = res->treename ; dst->treename = res->treename ;
dst->user = res->user ; dst->user = res->user ;
dst->inmodule = res->inmodule ; dst->inns = res->inns ;
dst->enabled = res->enabled ; dst->enabled = res->enabled ;
// path // path
......
...@@ -92,8 +92,8 @@ int service_resolve_get_field_tosa(stralloc *sa, resolve_service_t *res, resolve ...@@ -92,8 +92,8 @@ int service_resolve_get_field_tosa(stralloc *sa, resolve_service_t *res, resolve
str = res->sa.s + res->user ; str = res->sa.s + res->user ;
break ; break ;
case E_RESOLVE_SERVICE_INMODULE: case E_RESOLVE_SERVICE_INNS:
str = res->sa.s + res->inmodule ; str = res->sa.s + res->inns ;
break ; break ;
case E_RESOLVE_SERVICE_ENABLED: case E_RESOLVE_SERVICE_ENABLED:
......
...@@ -35,7 +35,7 @@ resolve_field_table_t resolve_service_field_table[] = { ...@@ -35,7 +35,7 @@ resolve_field_table_t resolve_service_field_table[] = {
[E_RESOLVE_SERVICE_OWNER] = { .field = "owner" }, [E_RESOLVE_SERVICE_OWNER] = { .field = "owner" },
[E_RESOLVE_SERVICE_TREENAME] = { .field = "treename" }, [E_RESOLVE_SERVICE_TREENAME] = { .field = "treename" },
[E_RESOLVE_SERVICE_USER] = { .field = "user" }, [E_RESOLVE_SERVICE_USER] = { .field = "user" },
[E_RESOLVE_SERVICE_INMODULE] = { .field = "inmodule" }, [E_RESOLVE_SERVICE_INNS] = { .field = "inns" },
[E_RESOLVE_SERVICE_ENABLED] = { .field = "enabled" }, [E_RESOLVE_SERVICE_ENABLED] = { .field = "enabled" },
// path // path
...@@ -188,12 +188,12 @@ int service_resolve_modify_field(resolve_service_t *res, resolve_service_enum_t ...@@ -188,12 +188,12 @@ int service_resolve_modify_field(resolve_service_t *res, resolve_service_enum_t
res->user = resolve_add_string(wres, data) ; res->user = resolve_add_string(wres, data) ;
break ; break ;
case E_RESOLVE_SERVICE_INMODULE: case E_RESOLVE_SERVICE_INNS:
res->inmodule = resolve_add_string(wres, data) ; res->inns = resolve_add_string(wres, data) ;
break ; break ;
case E_RESOLVE_SERVICE_ENABLED: case E_RESOLVE_SERVICE_ENABLED:
res->enabled = resolve_add_uint(data) ; ; res->enabled = resolve_add_uint(data) ;
break ; break ;
......
...@@ -60,8 +60,8 @@ int service_resolve_read_cdb(cdb *c, resolve_service_t *res) ...@@ -60,8 +60,8 @@ int service_resolve_read_cdb(cdb *c, resolve_service_t *res)
res->treename = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ; res->treename = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ;
resolve_find_cdb(&tmp,c,"user") ; resolve_find_cdb(&tmp,c,"user") ;
res->user = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ; res->user = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ;
resolve_find_cdb(&tmp,c,"inmodule") ; resolve_find_cdb(&tmp,c,"inns") ;
res->inmodule = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ; res->inns = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ;
x = resolve_find_cdb(&tmp,c,"enabled") ; x = resolve_find_cdb(&tmp,c,"enabled") ;
res->enabled = x ; res->enabled = x ;
......
...@@ -40,7 +40,7 @@ int service_resolve_write_cdb(cdbmaker *c, resolve_service_t *sres) ...@@ -40,7 +40,7 @@ int service_resolve_write_cdb(cdbmaker *c, resolve_service_t *sres)
!resolve_add_cdb_uint(c, "owner", sres->owner) || !resolve_add_cdb_uint(c, "owner", sres->owner) ||
!resolve_add_cdb(c, "treename", str, sres->treename, 1) || !resolve_add_cdb(c, "treename", str, sres->treename, 1) ||
!resolve_add_cdb(c, "user", str, sres->user, 1) || !resolve_add_cdb(c, "user", str, sres->user, 1) ||
!resolve_add_cdb(c, "inmodule", str, sres->inmodule, 1) || !resolve_add_cdb(c, "inns", str, sres->inns, 1) ||
!resolve_add_cdb_uint(c, "enabled", sres->enabled) || !resolve_add_cdb_uint(c, "enabled", sres->enabled) ||
// path // path
......
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