From 1b3faf5ef3161b9702756386ab5c08858ea3ee09 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 18 Apr 2020 19:12:01 +0200 Subject: [PATCH] mxqd: Reformulate server_is_qualified Reformulate server_is_qualified to make it (IMO) easier to understand and easier to expand. --- mxqd.c | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/mxqd.c b/mxqd.c index 7f45a403..81eb514d 100644 --- a/mxqd.c +++ b/mxqd.c @@ -1405,29 +1405,23 @@ unsigned long start_job(struct mxq_group_list *glist) static int server_is_qualified(struct mxq_server *server, struct mxq_group *group) { - int is_qualified; + /* server in exclusive mode and no whitelist on group ? */ + if ( server->daemon.daemon_flags && *group->group_whitelist == 0 ) + return 0; if (*group->group_whitelist != 0) { - is_qualified = 0; - struct keywordset *kws = keywordset_new(group->group_whitelist); - if ( keywordset_ismember(kws, server->hostname_short) - || keywordset_ismember(kws, server->hostname) ) - is_qualified = 1; - keywordset_free(kws); - } else { - if (server->daemon.daemon_flags) - return 0; // exclusive - is_qualified = 1; + _mx_cleanup_(keywordset_free_byref) struct keywordset *kws = keywordset_new(group->group_whitelist); + if (! (keywordset_ismember(kws, server->hostname_short) || keywordset_ismember(kws, server->hostname))) + return 0; } if (*group->group_blacklist != 0) { - struct keywordset *kws = keywordset_new(group->group_blacklist); - if ( keywordset_ismember(kws, server->hostname_short) - || keywordset_ismember(kws, server->hostname) ) - is_qualified = 0; - keywordset_free(kws); + _mx_cleanup_(keywordset_free_byref) struct keywordset *kws = keywordset_new(group->group_whitelist); + if (keywordset_ismember(kws, server->hostname_short) || keywordset_ismember(kws, server->hostname)) + return 0; } - return (is_qualified); + + return (1); } static int server_is_qualified_cached(struct mxq_server *server, struct mxq_group_list *glist) {