From 04a23330e4a2085ee91980c223c5e4f089ebbe97 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Wed, 4 Apr 2018 14:58:01 +0200 Subject: Merge preprocessing of command lines - Common function for splitting string into argument vector - Preprocess & split command lines while parsing the service file - Specify "before" and "after" dependencies in a single line Signed-off-by: David Oberhollenzer --- lib/include/service.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'lib/include/service.h') diff --git a/lib/include/service.h b/lib/include/service.h index 76d48ce..593b221 100644 --- a/lib/include/service.h +++ b/lib/include/service.h @@ -44,21 +44,27 @@ enum { TGT_MAX }; +typedef struct exec_t { + char **argv; + char *raw_argv; + + struct exec_t *next; +} exec_t; + typedef struct service_t { int type; /* SVC_* service type */ int target; /* TGT_* service target */ char *name; /* canonical service name */ char *desc; /* description string */ - char **exec; /* command lines to execute */ - size_t num_exec; /* number of command lines */ + exec_t *exec; /* command lines to execute */ char *ctty; /* controlling tty or log file */ int rspwn_limit; /* maximum respawn count */ char **before; /* services that must be executed later */ - size_t num_before; char **after; /* services that must be executed first */ - size_t num_after; + char *raw_after; + char *raw_before; pid_t pid; int status; /* process exit status */ -- cgit v1.2.3