From a3a5d87b880956fffef255620eb70becaa0a9713 Mon Sep 17 00:00:00 2001
From: obarun <eric@obarun.org>
Date: Wed, 14 Jun 2023 20:23:03 +1100
Subject: [PATCH] fix help and usage call

---
 src/lib66/exec/ssexec_reconfigure.c | 18 ++++++++++++++++++
 src/lib66/exec/ssexec_remove.c      |  9 +++++++++
 2 files changed, 27 insertions(+)

diff --git a/src/lib66/exec/ssexec_reconfigure.c b/src/lib66/exec/ssexec_reconfigure.c
index b1bd0adf..d2515e54 100644
--- a/src/lib66/exec/ssexec_reconfigure.c
+++ b/src/lib66/exec/ssexec_reconfigure.c
@@ -139,6 +139,12 @@ int ssexec_reconfigure(int argc, char const *const *argv, ssexec_t *info)
         char const *prog = PROG ;
         char const *newargv[nargc] ;
 
+        char const *help = info->help ;
+        char const *usage = info->usage ;
+
+        info->help = help_stop ;
+        info->usage = usage_stop ;
+
         newargv[m++] = "stop" ;
         if (siglen)
             newargv[m++] = "-P" ;
@@ -159,6 +165,9 @@ int ssexec_reconfigure(int argc, char const *const *argv, ssexec_t *info)
         if (e)
             goto freed ;
 
+        info->help = help ;
+        info->usage = usage ;
+
         info->treename.len = 0 ;
         if (!auto_stra(&info->treename, tree))
             log_die_nomem("stralloc") ;
@@ -176,6 +185,12 @@ int ssexec_reconfigure(int argc, char const *const *argv, ssexec_t *info)
         char const *prog = PROG ;
         char const *newargv[nargc] ;
 
+        char const *help = info->help ;
+        char const *usage = info->usage ;
+
+        info->help = help_start ;
+        info->usage = usage_start ;
+
         newargv[m++] = "start" ;
         if (siglen)
             newargv[m++] = "-P" ;
@@ -192,6 +207,9 @@ int ssexec_reconfigure(int argc, char const *const *argv, ssexec_t *info)
         PROG= "start" ;
         e = ssexec_start(m, newargv, info) ;
         PROG = prog ;
+
+        info->help = help ;
+        info->usage = usage ;
     }
 
     freed:
diff --git a/src/lib66/exec/ssexec_remove.c b/src/lib66/exec/ssexec_remove.c
index 389741a7..db96f011 100644
--- a/src/lib66/exec/ssexec_remove.c
+++ b/src/lib66/exec/ssexec_remove.c
@@ -185,6 +185,12 @@ int ssexec_remove(int argc, char const *const *argv, ssexec_t *info)
         char const *newargv[nargc] ;
         unsigned int m = 0 ;
 
+        char const *help = info->help ;
+        char const *usage = info->usage ;
+
+        info->help = help_stop ;
+        info->usage = usage_stop ;
+
         newargv[m++] = "stop" ;
         newargv[m++] = "-u" ;
         if (siglen)
@@ -199,6 +205,9 @@ int ssexec_remove(int argc, char const *const *argv, ssexec_t *info)
         if (ssexec_stop(nargc, newargv, info))
             log_dieu(LOG_EXIT_SYS, "stop service selection") ;
         PROG = prog ;
+
+        info->help = help ;
+        info->usage = usage ;
     }
 
     for (pos = 0 ; pos < areslen ; pos++) {
-- 
GitLab