aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/service/dumpscript.c2
-rw-r--r--cmd/service/list.c2
-rw-r--r--cmd/service/loadsvc.c4
-rw-r--r--cmd/service/servicecmd.h2
-rw-r--r--cmd/service/status.c4
-rw-r--r--initd/supervisor.c4
-rw-r--r--lib/include/service.h12
-rw-r--r--lib/init/rdsvc.c32
-rw-r--r--lib/init/svcscan.c4
9 files changed, 22 insertions, 44 deletions
diff --git a/cmd/service/dumpscript.c b/cmd/service/dumpscript.c
index 23966ee..21acfac 100644
--- a/cmd/service/dumpscript.c
+++ b/cmd/service/dumpscript.c
@@ -93,7 +93,7 @@ static int cmd_dumpscript(int argc, char **argv)
strcat(filename, argv[i]);
}
- svc = loadsvc(SVCDIR, filename, 0);
+ svc = loadsvc(SVCDIR, filename);
if (svc == NULL) {
fprintf(stderr, "Could not load service '%s'\n", filename);
diff --git a/cmd/service/list.c b/cmd/service/list.c
index 23f59fb..321df1f 100644
--- a/cmd/service/list.c
+++ b/cmd/service/list.c
@@ -24,7 +24,7 @@ static int cmd_list(int argc, char **argv)
if (check_arguments(argv[0], argc, 1, 2))
return EXIT_FAILURE;
- if (svcscan(SVCDIR, &list, 0)) {
+ if (svcscan(SVCDIR, &list)) {
fprintf(stderr, "Error while reading services from %s\n",
SVCDIR);
ret = EXIT_FAILURE;
diff --git a/cmd/service/loadsvc.c b/cmd/service/loadsvc.c
index bbd15f8..8c6915b 100644
--- a/cmd/service/loadsvc.c
+++ b/cmd/service/loadsvc.c
@@ -5,7 +5,7 @@
#include <fcntl.h>
#include <stdio.h>
-service_t *loadsvc(const char *directory, const char *filename, int flags)
+service_t *loadsvc(const char *directory, const char *filename)
{
service_t *svc;
int dirfd;
@@ -17,7 +17,7 @@ service_t *loadsvc(const char *directory, const char *filename, int flags)
return NULL;
}
- svc = rdsvc(dirfd, filename, flags);
+ svc = rdsvc(dirfd, filename);
close(dirfd);
return svc;
}
diff --git a/cmd/service/servicecmd.h b/cmd/service/servicecmd.h
index d65c4b5..9b309e2 100644
--- a/cmd/service/servicecmd.h
+++ b/cmd/service/servicecmd.h
@@ -40,7 +40,7 @@ typedef struct command_t {
/* Global list of available commands */
extern command_t *commands;
-service_t *loadsvc(const char *directory, const char *filename, int flags);
+service_t *loadsvc(const char *directory, const char *filename);
/*
Implemented in servicecmd.c. Prints program usage message and
diff --git a/cmd/service/status.c b/cmd/service/status.c
index 752b0c7..a13a450 100644
--- a/cmd/service/status.c
+++ b/cmd/service/status.c
@@ -128,9 +128,7 @@ static int cmd_status(int argc, char **argv)
printf("\tTemplate name: %s\n", resp.service_name);
printf("\tExit status: %d\n", resp.exit_status);
- svc = loadsvc(SVCDIR, resp.filename,
- RDSVC_NO_EXEC | RDSVC_NO_DEPS |
- RDSVC_NO_CTTY | RDSVC_NO_FNAME);
+ svc = loadsvc(SVCDIR, resp.filename);
if (svc == NULL) {
fputs("\tError loading service file\n", stdout);
diff --git a/initd/supervisor.c b/initd/supervisor.c
index 8d53416..f9d3d7f 100644
--- a/initd/supervisor.c
+++ b/initd/supervisor.c
@@ -175,7 +175,7 @@ void supervisor_init(void)
{
int status = STATUS_OK;
- if (svcscan(SVCDIR, &cfg, 0))
+ if (svcscan(SVCDIR, &cfg))
status = STATUS_FAIL;
target = TGT_BOOT;
@@ -191,7 +191,7 @@ void supervisor_reload_config(void)
service_t *svc;
int i;
- if (svcscan(SVCDIR, &newcfg, 0))
+ if (svcscan(SVCDIR, &newcfg))
return;
for (i = 0; i < TGT_MAX; ++i) {
diff --git a/lib/include/service.h b/lib/include/service.h
index a05c7ee..a01c6bb 100644
--- a/lib/include/service.h
+++ b/lib/include/service.h
@@ -36,14 +36,6 @@ enum {
};
enum {
- RDSVC_NO_FNAME = 0x01, /* do not store a copy of the filename */
- RDSVC_NO_EXEC = 0x02, /* do not store executable script */
- RDSVC_NO_CTTY = 0x04, /* do not store the controlling tty */
- RDSVC_NO_DEPS = 0x08, /* do not store dependencies */
- RDSVC_NO_DESC = 0x10, /* do not store description */
-};
-
-enum {
/* truncate stdout */
SVC_FLAG_TRUNCATE_OUT = 0x01,
@@ -87,7 +79,7 @@ typedef struct {
/*
Read a service from a file.
*/
-service_t *rdsvc(int dirfd, const char *filename, int flags);
+service_t *rdsvc(int dirfd, const char *filename);
void delsvc(service_t *svc);
@@ -98,7 +90,7 @@ void delsvc(service_t *svc);
Returns 0 on success, -1 on failure. The function takes care of
printing error messages on failure.
*/
-int svcscan(const char *directory, service_list_t *list, int flags);
+int svcscan(const char *directory, service_list_t *list);
void del_svc_list(service_list_t *list);
diff --git a/lib/init/rdsvc.c b/lib/init/rdsvc.c
index 40e73bc..7d70232 100644
--- a/lib/init/rdsvc.c
+++ b/lib/init/rdsvc.c
@@ -46,9 +46,7 @@ static int try_pack_argv(char *str, rdline_t *rd)
static int svc_desc(void *user, char *arg, rdline_t *rd, int flags)
{
service_t *svc = user;
-
- if (flags & RDSVC_NO_DESC)
- return 0;
+ (void)flags;
if (try_unescape(arg, rd))
return -1;
@@ -59,9 +57,7 @@ static int svc_desc(void *user, char *arg, rdline_t *rd, int flags)
static int svc_tty(void *user, char *arg, rdline_t *rd, int flags)
{
service_t *svc = user;
-
- if (flags & RDSVC_NO_CTTY)
- return 0;
+ (void)flags;
if (strncmp(arg, "truncate", 8) == 0 && isspace(arg[8])) {
svc->flags |= SVC_FLAG_TRUNCATE_OUT;
@@ -81,12 +77,10 @@ static int svc_exec(void *user, char *arg, rdline_t *rd, int flags)
{
service_t *svc = user;
exec_t *e, *end;
+ (void)flags;
svc->flags |= SVC_FLAG_HAS_EXEC;
- if (flags & RDSVC_NO_EXEC)
- return 0;
-
e = calloc(1, sizeof(*e) + strlen(arg) + 1);
if (e == NULL) {
fprintf(stderr, "%s: %zu: out of memory\n",
@@ -113,9 +107,7 @@ static int svc_exec(void *user, char *arg, rdline_t *rd, int flags)
static int svc_before(void *user, char *arg, rdline_t *rd, int flags)
{
service_t *svc = user;
-
- if (flags & RDSVC_NO_DEPS)
- return 0;
+ (void)flags;
if (svc->before != NULL) {
fprintf(stderr, "%s: %zu: 'before' dependencies respecified\n",
@@ -134,9 +126,7 @@ static int svc_before(void *user, char *arg, rdline_t *rd, int flags)
static int svc_after(void *user, char *arg, rdline_t *rd, int flags)
{
service_t *svc = user;
-
- if (flags & RDSVC_NO_DEPS)
- return 0;
+ (void)flags;
if (svc->after != NULL) {
fprintf(stderr, "%s: %zu: 'after' dependencies respecified\n",
@@ -231,7 +221,7 @@ static const cfg_param_t svc_params[] = {
{ "after", 0, svc_after },
};
-service_t *rdsvc(int dirfd, const char *filename, int flags)
+service_t *rdsvc(int dirfd, const char *filename)
{
const char *arg, *args[1];
service_t *svc = NULL;
@@ -255,17 +245,15 @@ service_t *rdsvc(int dirfd, const char *filename, int flags)
if (svc == NULL)
goto fail_oom;
- if (!(flags & RDSVC_NO_FNAME)) {
- svc->fname = strdup(filename);
- if (svc->fname == NULL)
- goto fail_oom;
- }
+ svc->fname = strdup(filename);
+ if (svc->fname == NULL)
+ goto fail_oom;
memcpy(svc->name, filename, nlen);
svc->id = -1;
if (rdcfg(svc, &rd, svc_params,
- sizeof(svc_params) / sizeof(svc_params[0]), flags)) {
+ sizeof(svc_params) / sizeof(svc_params[0]), 0)) {
goto fail;
}
diff --git a/lib/init/svcscan.c b/lib/init/svcscan.c
index 840d819..9fdf0bb 100644
--- a/lib/init/svcscan.c
+++ b/lib/init/svcscan.c
@@ -11,7 +11,7 @@
#include "service.h"
-int svcscan(const char *directory, service_list_t *list, int flags)
+int svcscan(const char *directory, service_list_t *list)
{
int i, dfd, type, ret = 0;
struct dirent *ent;
@@ -66,7 +66,7 @@ int svcscan(const char *directory, service_list_t *list, int flags)
if (type != S_IFREG && type != S_IFLNK)
continue;
- svc = rdsvc(dfd, ent->d_name, flags);
+ svc = rdsvc(dfd, ent->d_name);
if (svc == NULL) {
ret = -1;
continue;