diff options
Diffstat (limited to 'src/service/util/serviceutil.c')
-rw-r--r-- | src/service/util/serviceutil.c | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/src/service/util/serviceutil.c b/src/service/util/serviceutil.c index 829d0ec..a326ad7 100644 --- a/src/service/util/serviceutil.c +++ b/src/service/util/serviceutil.c @@ -207,7 +207,7 @@ Service_End_Enum(void *handle) } } -int +unsigned int Service_Operation(const char *service, const char *method, char *result, int resultlen) { char cmdbuffer[OPERATION_BUFSIZE]; @@ -220,32 +220,9 @@ Service_Operation(const char *service, const char *method, char *result, int res memset(&cmdout, '\0', sizeof(cmdout)); asprintf(&cmdout, "%s", "/tmp/Service_OperationXXXXXX"); - if (!strcasecmp(method, "startservice")) - op="start"; - else if (!strcasecmp(method, "stopservice")) - op="stop"; - else if (!strcasecmp(method, "reloadservice")) - op="reload"; - else if (!strcasecmp(method, "restartservice")) - op="restart"; - else if (!strcasecmp(method, "tryrestartservice")) - op="try-restart"; - else if (!strcasecmp(method, "condrestartservice")) - op="condrestart"; - else if (!strcasecmp(method, "reloadorrestartservice")) - op="reload-or-restart"; - else if (!strcasecmp(method, "reloadortryrestartservice")) - op="reload-or-try-restart"; - else if (!strcasecmp(method, "turnserviceon")) - op="enable"; - else if (!strcasecmp(method, "turnserviceoff")) - op="disable"; - else - return -1; - if (op && ((fd = mkstemp(cmdout)) != -1)) { - snprintf(cmdbuffer, OPERATION_BUFSIZE, "%s %s %s > %s", suscript, op, service, cmdout); + snprintf(cmdbuffer, OPERATION_BUFSIZE, "%s %s %s > %s", suscript, method, service, cmdout); if (system(cmdbuffer) == 0) { /* we got some output? */ |