diff --git a/src/service.c b/src/service.c index c6ee18d0..1ee54e5a 100644 --- a/src/service.c +++ b/src/service.c @@ -1620,7 +1620,7 @@ int service_register(int type, char *cfg, struct rlimit rlimit[], char *file) strlcat(ident, id, sizeof(ident)); } - if (ifstmt && !svc_ifthen(1, ident, ifstmt)) + if (ifstmt && !svc_ifthen(1, ident, ifstmt, nowarn)) return 0; levels = conf_parse_runlevels(runlevels); @@ -2027,7 +2027,7 @@ void service_mark_unavail(void) if (!svc->ifstmt[0]) continue; - if (!svc_ifthen(1, svc_ident(svc, buf, sizeof(buf)), svc->ifstmt)) + if (!svc_ifthen(1, svc_ident(svc, buf, sizeof(buf)), svc->ifstmt, svc->nowarn)) svc_mark(svc); } } diff --git a/src/svc.c b/src/svc.c index 001993de..6bb90049 100644 --- a/src/svc.c +++ b/src/svc.c @@ -649,7 +649,7 @@ int svc_enabled(svc_t *svc) return 0; } - if (!svc_ifthen(0, NULL, svc->ifstmt)) { + if (!svc_ifthen(0, NULL, svc->ifstmt, svc->nowarn)) { // dbg("ifthen:%s>", svc->ifstmt[0] ? svc->ifstmt : "<"); return 0; } @@ -704,11 +704,12 @@ int svc_conflicts(svc_t *svc) * @is_conf: Set when called by service_mark_unavail() * @ident: svc_t identififcation (name:id) * @stmt: if: statement from .conf file + * @quiet: If non-zero, do not warn in syslog * * Returns: * %TRUE(1) yes, use this svc_t, %FALSE(0) prune */ -int svc_ifthen(int is_conf, const char *ident, char *stmt) +int svc_ifthen(int is_conf, const char *ident, char *stmt, int quiet) { char stmts[MAX_IDENT_LEN]; int not = 0; diff --git a/src/svc.h b/src/svc.h index f94a30e5..520aabcc 100644 --- a/src/svc.h +++ b/src/svc.h @@ -249,7 +249,7 @@ void svc_prune_bootstrap (void); void svc_enable (svc_t *svc); int svc_enabled (svc_t *svc); int svc_conflicts (svc_t *svc); -int svc_ifthen (int is_conf, const char *ident, char *stmt); +int svc_ifthen (int is_conf, const char *ident, char *stmt, int quiet); int svc_parse_jobstr (char *str, size_t len, void *user_data, int (*found)(svc_t *, void *), int (not_found)(char *, char *, void *));