summaryrefslogtreecommitdiffstats
path: root/src/monitor
diff options
context:
space:
mode:
authorFabiano Fidêncio <fidencio@redhat.com>2016-11-17 16:24:38 +0100
committerLukas Slebodnik <lslebodn@redhat.com>2017-01-23 18:46:37 +0100
commit9b3cd1171cd822fc8fa7c64788c8ff350d036b1b (patch)
treeb56a2d3c3bb4eb815c877d27af043eb8390fe51f /src/monitor
parent9222a4fcbeec9d5a6f84aab31a5131f14d4a6430 (diff)
downloadsssd-9b3cd1171cd822fc8fa7c64788c8ff350d036b1b.tar.gz
sssd-9b3cd1171cd822fc8fa7c64788c8ff350d036b1b.tar.xz
sssd-9b3cd1171cd822fc8fa7c64788c8ff350d036b1b.zip
MONITOR: Split up check_services()
Let's split up check_services() function and create a check_service() function, that receives a single service name as parameter and checks whether the service is a known service or not. This new function will be used in order to check the socket activated services. Related: https://fedorahosted.org/sssd/ticket/2243 Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Pavel Březina <pbrezina@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Diffstat (limited to 'src/monitor')
-rw-r--r--src/monitor/monitor.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
index c35aba776..21f34999b 100644
--- a/src/monitor/monitor.c
+++ b/src/monitor/monitor.c
@@ -806,21 +806,29 @@ done:
return ret;
}
-static char *check_services(char **services)
+static char *check_service(char *service)
{
const char * const *known_services = get_known_services();
int i;
- int ii;
- /* Check if services we are about to start are in the list if known */
- for (i = 0; services[i]; i++) {
- for (ii=0; known_services[ii]; ii++) {
- if (strcasecmp(services[i], known_services[ii]) == 0) {
- break;
- }
+ for (i = 0; known_services[i] != NULL; i++) {
+ if (strcasecmp(service, known_services[i]) == 0) {
+ break;
}
+ }
+
+ if (known_services[i] == NULL) {
+ return service;
+ }
+
+ return NULL;
+}
- if (known_services[ii] == NULL) {
+static char *check_services(char **services)
+{
+ /* Check if services we are about to start are in the list if known */
+ for (int i = 0; services[i]; i++) {
+ if (check_service(services[i]) != NULL) {
return services[i];
}
}