From 5488024ef5cfd0ce98a430d643e04f367747df5d Mon Sep 17 00:00:00 2001
From: obarun <eric@obarun.org>
Date: Fri, 22 Dec 2023 10:28:31 +1100
Subject: [PATCH] switch to stack_clean_string function

---
 src/lib66/exec/ssexec_remove.c                  |  4 ++--
 src/lib66/parse/parse_db_migrate.c              |  4 ++--
 src/lib66/parse/parse_rename_interdependences.c |  6 +++---
 src/lib66/service/service_db_migrate.c          |  6 +++---
 src/lib66/service/service_enable_disable.c      | 10 ++++------
 src/lib66/service/service_graph_build.c         |  2 +-
 src/lib66/service/service_graph_collect.c       |  6 ++++--
 src/lib66/svc/svc_compute_ns.c                  |  2 +-
 src/lib66/svc/svc_unsupervise.c                 |  8 +++++---
 src/lib66/tree/tree_service_add.c               |  4 ++--
 src/lib66/tree/tree_service_remove.c            |  2 +-
 11 files changed, 28 insertions(+), 26 deletions(-)

diff --git a/src/lib66/exec/ssexec_remove.c b/src/lib66/exec/ssexec_remove.c
index a359aac1..d84de2ce 100644
--- a/src/lib66/exec/ssexec_remove.c
+++ b/src/lib66/exec/ssexec_remove.c
@@ -58,7 +58,7 @@ static void remove_deps(resolve_service_t *res, resolve_service_t *ares, unsigne
     resolve_wrapper_t_ref wres = 0 ;
     _init_stack_(stk, strlen(res->sa.s + res->dependencies.requiredby)) ;
 
-    if (!stack_convert_string_g(&stk, res->sa.s + res->dependencies.requiredby))
+    if (!stack_clean_string_g(&stk, res->sa.s + res->dependencies.requiredby))
         log_dieu(LOG_EXIT_SYS, "convert string") ;
 
     FOREACH_STK(&stk, pos) {
@@ -276,7 +276,7 @@ int ssexec_remove(int argc, char const *const *argv, ssexec_t *info)
                 resolve_wrapper_t_ref mwres = resolve_set_struct(DATA_SERVICE, &mres) ;
                 _init_stack_(stk, strlen(ares[pos].sa.s + ares[pos].dependencies.contents)) ;
 
-                if (!stack_convert_string_g(&stk, ares[pos].sa.s + ares[pos].dependencies.contents))
+                if (!stack_clean_string_g(&stk, c->res.sa.s + c->res.dependencies.contents))
                     log_dieu(LOG_EXIT_SYS, "convert string") ;
 
                 FOREACH_STK(&stk, pos) {
diff --git a/src/lib66/parse/parse_db_migrate.c b/src/lib66/parse/parse_db_migrate.c
index a505c8d2..a38b686f 100644
--- a/src/lib66/parse/parse_db_migrate.c
+++ b/src/lib66/parse/parse_db_migrate.c
@@ -37,14 +37,14 @@ static void service_db_tree(resolve_service_t *old, resolve_service_t *new, ssex
     {
         _init_stack_(sold, olen + 1) ;
 
-        if (!stack_convert_string_g(&sold, ocontents))
+        if (!stack_clean_string_g(&sold, ocontents))
             log_dieusys(LOG_EXIT_SYS, "convert string") ;
 
         {
             size_t nlen = strlen(ncontents) ;
             _init_stack_(snew, nlen + 1) ;
 
-            if (!stack_convert_string_g(&snew, ncontents))
+            if (!stack_clean_string_g(&snew, ncontents))
                 log_dieusys(LOG_EXIT_SYS, "convert string") ;
 
             FOREACH_STK(&sold, pos) {
diff --git a/src/lib66/parse/parse_rename_interdependences.c b/src/lib66/parse/parse_rename_interdependences.c
index f5ae12b2..a150b8ce 100644
--- a/src/lib66/parse/parse_rename_interdependences.c
+++ b/src/lib66/parse/parse_rename_interdependences.c
@@ -73,7 +73,7 @@ static void parse_prefix_name(unsigned int idx, resolve_service_t *ares, unsigne
         size_t depslen = strlen(ares[idx].sa.s + ares[idx].dependencies.depends) ;
         _init_stack_(stk, depslen + 1) ;
 
-        if (!stack_convert_string(&stk, ares[idx].sa.s + ares[idx].dependencies.depends, depslen))
+        if (!stack_clean_string(&stk, res->sa.s + res->dependencies.depends, depslen))
             log_dieusys(LOG_EXIT_SYS, "convert string to stack") ;
 
         size_t len = (mlen + 1 + SS_MAX_TREENAME + 2) * ares[idx].dependencies.ndepends ;
@@ -92,7 +92,7 @@ static void parse_prefix_name(unsigned int idx, resolve_service_t *ares, unsigne
         size_t depslen = strlen(ares[idx].sa.s + ares[idx].dependencies.requiredby) ;
         _init_stack_(stk, depslen + 1) ;
 
-        if (!stack_convert_string(&stk, ares[idx].sa.s + ares[idx].dependencies.requiredby, depslen))
+        if (!stack_clean_string(&stk, res->sa.s + res->dependencies.requiredby, depslen))
             log_dieusys(LOG_EXIT_SYS, "convert string to stack") ;
 
         size_t len = (mlen + 1 + SS_MAX_TREENAME + 2) * ares[idx].dependencies.nrequiredby ;
@@ -153,4 +153,4 @@ void parse_rename_interdependences(resolve_service_t *res, char const *prefix, r
     stralloc_free(&sa) ;
     free(wres) ;
     free(awres) ;
-}
\ No newline at end of file
+}
diff --git a/src/lib66/service/service_db_migrate.c b/src/lib66/service/service_db_migrate.c
index b8dec605..73b5d227 100644
--- a/src/lib66/service/service_db_migrate.c
+++ b/src/lib66/service/service_db_migrate.c
@@ -35,7 +35,7 @@ void service_db_migrate(resolve_service_t *old, resolve_service_t *new, char con
         size_t pos = 0, olen = strlen(old->sa.s + *ofield) ;
         _init_stack_(sold, olen + 1) ;
 
-        if (!stack_convert_string(&sold, old->sa.s + *ofield, olen))
+        if (!stack_clean_string(&sold, old->sa.s + *ofield, olen))
             log_dieusys(LOG_EXIT_SYS, "convert string") ;
 
         {
@@ -47,7 +47,7 @@ void service_db_migrate(resolve_service_t *old, resolve_service_t *new, char con
 
             /** new module configuration depends field may be empty.*/
             if (clen)
-                if (!stack_convert_string(&snew, new->sa.s + *nfield, clen))
+                if (!stack_clean_string(&snew, new->sa.s + *nfield, clen))
                     log_dieusys(LOG_EXIT_SYS, "convert string") ;
 
             /** check if the service was deactivated.*/
@@ -72,7 +72,7 @@ void service_db_migrate(resolve_service_t *old, resolve_service_t *new, char con
                         size_t len = strlen(dres.sa.s + *dfield) ;
                         _init_stack_(stk, len + 1) ;
 
-                        if (!stack_convert_string(&stk, dres.sa.s + *dfield, len))
+                        if (!stack_clean_string(&stk, dres.sa.s + *dfield, len))
                             log_dieusys(LOG_EXIT_SYS, "convert string to stack") ;
 
                         /** remove the module name to the depends field of the old service dependency*/
diff --git a/src/lib66/service/service_enable_disable.c b/src/lib66/service/service_enable_disable.c
index 578692e8..94ab8695 100644
--- a/src/lib66/service/service_enable_disable.c
+++ b/src/lib66/service/service_enable_disable.c
@@ -113,14 +113,14 @@ void service_enable_disable(graph_t *g, unsigned int idx, resolve_service_t *are
             if (res->dependencies.ncontents) {
 
                 size_t pos = 0 ;
-                stralloc sa = STRALLOC_ZERO ;
+                _init_stack_(stk, strlen(res->sa.s + res->dependencies.contents)) ;
 
-                if (!sastr_clean_string(&sa, res->sa.s + res->dependencies.contents))
+                if (!stack_clean_string_g(&stk, res->sa.s + res->dependencies.contents))
                     log_dieu(LOG_EXIT_SYS, "clean string") ;
 
-                FOREACH_SASTR(&sa, pos) {
+                FOREACH_STK(&stk, pos) {
 
-                    char *name = sa.s + pos ;
+                    char *name = stk.s + pos ;
                     int aresid = service_resolve_array_search(ares, areslen, name) ;
                     if (aresid < 0)
                         log_die(LOG_EXIT_USER, "service: ", name, " not available -- did you parse it?") ;
@@ -145,8 +145,6 @@ void service_enable_disable(graph_t *g, unsigned int idx, resolve_service_t *are
                         log_info(!action ? "Disabled" : "Enabled"," successfully service: ", ares[aresid].sa.s + ares[aresid].name) ;
                     }
                 }
-
-                stralloc_free(&sa) ;
             }
         }
 
diff --git a/src/lib66/service/service_graph_build.c b/src/lib66/service/service_graph_build.c
index 1630b9ab..09f2dc0e 100644
--- a/src/lib66/service/service_graph_build.c
+++ b/src/lib66/service/service_graph_build.c
@@ -32,7 +32,7 @@ static void issupervised(char *store, resolve_service_t *ares, unsigned int ares
     _init_stack_(stk, len) ;
     memset(store, 0, len * sizeof(char)) ;
 
-    if (!stack_convert_string(&stk, str, len))
+    if (!stack_clean_string(&stk, str, len))
         log_dieu(LOG_EXIT_SYS, "clean string") ;
 
     FOREACH_STK(&stk, pos) {
diff --git a/src/lib66/service/service_graph_collect.c b/src/lib66/service/service_graph_collect.c
index d976a419..b885e84c 100644
--- a/src/lib66/service/service_graph_collect.c
+++ b/src/lib66/service/service_graph_collect.c
@@ -128,7 +128,8 @@ void service_graph_collect(graph_t *g, char const *slist, size_t slen, resolve_s
 
                     size_t len = strlen(res.sa.s + res.dependencies.depends) ;
                     _init_stack_(stk, len + 1) ;
-                    if (!stack_convert_string(&stk, res.sa.s + res.dependencies.depends, len))
+
+                    if (!stack_clean_string(&stk, res.sa.s + res.dependencies.depends, len))
                         log_dieusys(LOG_EXIT_SYS, "clean string") ;
 
                     service_graph_collect(g, stk.s, stk.len, ares, areslen, info, flag) ;
@@ -139,7 +140,8 @@ void service_graph_collect(graph_t *g, char const *slist, size_t slen, resolve_s
 
                     size_t len = strlen(res.sa.s + res.dependencies.requiredby) ;
                     _init_stack_(stk, len + 1) ;
-                    if (!stack_convert_string(&stk, res.sa.s + res.dependencies.requiredby, len))
+
+                    if (!stack_clean_string(&stk, res.sa.s + res.dependencies.requiredby, len))
                         log_dieusys(LOG_EXIT_SYS, "clean string") ;
 
                     service_graph_collect(g, stk.s, stk.len, ares, areslen, info, flag) ;
diff --git a/src/lib66/svc/svc_compute_ns.c b/src/lib66/svc/svc_compute_ns.c
index f4b4a22c..266d3e3c 100644
--- a/src/lib66/svc/svc_compute_ns.c
+++ b/src/lib66/svc/svc_compute_ns.c
@@ -58,7 +58,7 @@ int svc_compute_ns(resolve_service_t *sares, unsigned int sareslen, unsigned int
 
     if (sares[saresid].dependencies.ncontents) {
 
-        if (!stack_convert_string_g(&stk, sares[saresid].sa.s + sares[saresid].dependencies.contents))
+        if (!stack_clean_string_g(&stk, res->sa.s + res->dependencies.contents))
             log_dieu(LOG_EXIT_SYS, "clean string") ;
 
     } else {
diff --git a/src/lib66/svc/svc_unsupervise.c b/src/lib66/svc/svc_unsupervise.c
index 64896514..9533ae1a 100644
--- a/src/lib66/svc/svc_unsupervise.c
+++ b/src/lib66/svc/svc_unsupervise.c
@@ -13,7 +13,7 @@
  */
 
 #include <oblibs/log.h>
-#include <oblibs/sastr.h>
+#include <oblibs/stack.h>
 
 #include <66/state.h>
 #include <66/sanitize.h>
@@ -75,10 +75,12 @@ void svc_unsupervise(unsigned int *alist, unsigned int alen, graph_t *g, resolve
 
             sa.len = 0, bpos = 0 ;
 
-            if (!sastr_clean_string(&sa, ares[aresid].sa.s + ares[aresid].dependencies.contents))
+            _init_stack_(stk, strlen(hash->res.sa.s + hash->res.dependencies.contents)) ;
+
+            if (!stack_clean_string_g(&stk, hash->res.sa.s + hash->res.dependencies.contents))
                 log_dieusys(LOG_EXIT_SYS, "clean string") ;
 
-            FOREACH_SASTR(&sa, bpos) {
+            FOREACH_STK(&stk, bpos) {
 
                 int aresid = service_resolve_array_search(ares, areslen, sa.s + bpos) ;
                 if (aresid < 0)
diff --git a/src/lib66/tree/tree_service_add.c b/src/lib66/tree/tree_service_add.c
index d8293209..5afb1b83 100644
--- a/src/lib66/tree/tree_service_add.c
+++ b/src/lib66/tree/tree_service_add.c
@@ -52,7 +52,7 @@ void tree_service_add(char const *treename, char const *service, ssexec_t *info)
 
     if (tres.ncontents) {
 
-        if (!stack_convert_string(&stk, tres.sa.s + tres.contents, strlen(tres.sa.s + tres.contents)))
+        if (!stack_clean_string_g(&stk, tres.sa.s + tres.contents))
             log_dieusys(LOG_EXIT_SYS, "convert string to stack") ;
 
         if (stack_retrieve_element(&stk, service) < 0)
@@ -78,7 +78,7 @@ void tree_service_add(char const *treename, char const *service, ssexec_t *info)
         log_dieu(LOG_EXIT_SYS, "convert stack to string") ;
 
     if (!resolve_modify_field(wres, E_RESOLVE_TREE_CONTENTS, stk.s))
-        log_dieusys(LOG_EXIT_SYS, "modify resolve file of: ", treename) ;
+        log_dieusys(LOG_EXIT_SYS, "modify resolve file of tree: ", treename) ;
 
     if (!resolve_write_g(wres, info->base.s, treename))
         log_dieusys(LOG_EXIT_SYS, "write resolve file of tree: ", treename) ;
diff --git a/src/lib66/tree/tree_service_remove.c b/src/lib66/tree/tree_service_remove.c
index fd31801f..209f4b1b 100644
--- a/src/lib66/tree/tree_service_remove.c
+++ b/src/lib66/tree/tree_service_remove.c
@@ -34,7 +34,7 @@ void tree_service_remove(char const *base, char const *treename, char const *ser
         size_t clen = strlen(tres.sa.s + tres.contents) ;
         _init_stack_(stk, clen + 1) ;
 
-        if (!stack_convert_string(&stk, tres.sa.s + tres.contents, clen))
+        if (!stack_clean_string(&stk, tres.sa.s + tres.contents, clen))
             log_dieusys(LOG_EXIT_SYS, "convert string to stack") ;
 
         if (!stack_remove_element_g(&stk, service))
-- 
GitLab