From 82ce7b8e0d5a54d32cc5b444b9d1ce513e219e96 Mon Sep 17 00:00:00 2001
From: obarun <eric@obarun.org>
Date: Sat, 15 Apr 2023 16:56:02 +1100
Subject: [PATCH] rename parser.h header file to parse.h

---
 src/include/66/66.h                        |  2 +-
 src/include/66/environ.h                   |  2 +-
 src/include/66/{parser.h => parse.h}       | 12 ++++++------
 src/lib66/environ/env_compute.c            |  2 +-
 src/lib66/environ/env_make_symlink.c       |  2 +-
 src/lib66/environ/env_prepare_for_write.c  |  2 +-
 src/lib66/exec/ssexec_parse.c              |  2 +-
 src/lib66/parse/parse_clean_runas.c        |  2 +-
 src/lib66/parse/parse_compute_list.c       | 21 ++++++++++-----------
 src/lib66/parse/parse_contents.c           |  2 +-
 src/lib66/parse/parse_line_g.c             |  2 +-
 src/lib66/parse/parse_mandatory.c          |  2 +-
 src/lib66/parse/parse_parentheses.c        |  2 +-
 src/lib66/parse/parse_section.c            |  2 +-
 src/lib66/parse/parse_split_from_section.c |  2 +-
 src/lib66/parse/parse_store_environ.c      |  2 +-
 src/lib66/parse/parse_store_g.c            |  2 +-
 src/lib66/parse/parse_store_logger.c       |  2 +-
 src/lib66/parse/parse_store_regex.c        |  4 ++--
 src/lib66/parse/parse_store_start_stop.c   |  2 +-
 src/lib66/sanitize/sanitize_graph.c        |  2 +-
 21 files changed, 36 insertions(+), 37 deletions(-)
 rename src/include/66/{parser.h => parse.h} (86%)

diff --git a/src/include/66/66.h b/src/include/66/66.h
index 16ea168c..c2ab9888 100644
--- a/src/include/66/66.h
+++ b/src/include/66/66.h
@@ -22,7 +22,7 @@
 #include <66/graph.h>
 #include <66/hpr.h>
 #include <66/info.h>
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/resolve.h>
 #include <66/sanitize.h>
 #include <66/service.h>
diff --git a/src/include/66/environ.h b/src/include/66/environ.h
index b531c2e5..58f7a050 100644
--- a/src/include/66/environ.h
+++ b/src/include/66/environ.h
@@ -20,7 +20,7 @@
 
 #include <skalibs/stralloc.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/service.h>
 
 extern int env_resolve_conf(stralloc *env,char const *svname,uid_t owner) ;
diff --git a/src/include/66/parser.h b/src/include/66/parse.h
similarity index 86%
rename from src/include/66/parser.h
rename to src/include/66/parse.h
index 7429330e..de23ecb5 100644
--- a/src/include/66/parser.h
+++ b/src/include/66/parse.h
@@ -1,5 +1,5 @@
 /*
- * parser.h
+ * parse.h
  *
  * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org>
  *
@@ -12,8 +12,8 @@
  * except according to the terms contained in the LICENSE file./
  */
 
-#ifndef SS_PARSER_H
-#define SS_PARSER_H
+#ifndef SS_PARSE_H
+#define SS_PARSE_H
 
 #include <sys/types.h>
 #include <stdint.h>
@@ -47,8 +47,8 @@ extern void ssexec_enable_cleanup(void) ;
 extern void start_parser(char const *sv, ssexec_t *info, uint8_t disable_module, char const *directory_forced) ;
 
 extern void parse_service(char const *sv, ssexec_t *info, uint8_t force, uint8_t conf) ;
-extern int parse_frontend(char const *sv, resolve_service_t *ares, unsigned int *areslen, ssexec_t *info, uint8_t force, uint8_t conf, unsigned int *residx, char const *forced_directory, char const *main) ;
-extern int parse_dependencies(resolve_service_t *res, resolve_service_t *ares, unsigned int *areslen, ssexec_t *info, uint8_t force,uint8_t conf, char const *forced_directory, char const *main, uint8_t requiredby) ;
+extern int parse_frontend(char const *sv, resolve_service_t *ares, unsigned int *areslen, ssexec_t *info, uint8_t force, uint8_t conf, char const *forced_directory, char const *main, char const *inmodule) ;
+extern int parse_interdependences(char const *service, char const *list, unsigned int listlen, resolve_service_t *ares, unsigned int *areslen, ssexec_t *info, uint8_t force, uint8_t conf, char const *forced_directory, char const *main, char const *inmodule) ;
 
 /** split */
 extern int parse_section(stralloc *secname, char const *str, size_t *pos) ;
@@ -78,6 +78,6 @@ extern void parse_error(int ierr, int idsec, int idkey) ;
 extern void parse_module(resolve_service_t *res, resolve_service_t *ares, unsigned int *areslen, ssexec_t *info, uint8_t force) ;
 
 /** resolve */
-extern void parse_compute_resolve(resolve_service_t *res, ssexec_t *info) ;
+extern void parse_compute_resolve(unsigned int idx, resolve_service_t *ares, unsigned int *areslen, ssexec_t *info) ;
 
 #endif
diff --git a/src/lib66/environ/env_compute.c b/src/lib66/environ/env_compute.c
index 3d7c6b77..97f49fd6 100644
--- a/src/lib66/environ/env_compute.c
+++ b/src/lib66/environ/env_compute.c
@@ -22,7 +22,7 @@
 
 #include <66/environ.h>
 #include <66/service.h>
-#include <66/parser.h>
+#include <66/parse.h>
 
 
 int env_compute(stralloc *result, resolve_service_t *res)
diff --git a/src/lib66/environ/env_make_symlink.c b/src/lib66/environ/env_make_symlink.c
index ca4c0857..7e27c3fd 100644
--- a/src/lib66/environ/env_make_symlink.c
+++ b/src/lib66/environ/env_make_symlink.c
@@ -21,7 +21,7 @@
 #include <skalibs/unix-transactional.h>//atomic_symlink
 
 #include <66/environ.h>
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/constants.h>
 #include <66/service.h>
 
diff --git a/src/lib66/environ/env_prepare_for_write.c b/src/lib66/environ/env_prepare_for_write.c
index 49063b78..b688aea9 100644
--- a/src/lib66/environ/env_prepare_for_write.c
+++ b/src/lib66/environ/env_prepare_for_write.c
@@ -24,7 +24,7 @@
 #include <66/environ.h>
 #include <66/constants.h>
 #include <66/service.h>
-#include <66/parser.h>
+#include <66/parse.h>
 
 int env_prepare_for_write(stralloc *dst, stralloc *contents, resolve_service_t *res)
 {
diff --git a/src/lib66/exec/ssexec_parse.c b/src/lib66/exec/ssexec_parse.c
index 1e22bf68..774f9775 100644
--- a/src/lib66/exec/ssexec_parse.c
+++ b/src/lib66/exec/ssexec_parse.c
@@ -23,7 +23,7 @@
 #include <oblibs/obgetopt.h>
 #include <oblibs/sastr.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/ssexec.h>
 #include <66/utils.h>
 #include <66/sanitize.h>
diff --git a/src/lib66/parse/parse_clean_runas.c b/src/lib66/parse/parse_clean_runas.c
index 3db2aaf2..2e5070b6 100644
--- a/src/lib66/parse/parse_clean_runas.c
+++ b/src/lib66/parse/parse_clean_runas.c
@@ -22,7 +22,7 @@
 
 #include <skalibs/types.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/utils.h>
 
 int parse_clean_runas(char const *str, int idsec, int idkey)
diff --git a/src/lib66/parse/parse_compute_list.c b/src/lib66/parse/parse_compute_list.c
index ad6c2157..211912d9 100644
--- a/src/lib66/parse/parse_compute_list.c
+++ b/src/lib66/parse/parse_compute_list.c
@@ -22,7 +22,7 @@
 
 #include <skalibs/stralloc.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/resolve.h>
 #include <66/service.h>
 
@@ -34,26 +34,23 @@ int parse_compute_list(resolve_wrapper_t_ref wres, stralloc *sa, uint32_t *res,
     int r, found = 0 ;
     size_t len = sa->len, pos = 0 ;
     size_t nelement = sastr_nelement(sa) ;
-    char t[len + nelement + 2] ;
+    stralloc tmp = STRALLOC_ZERO ;
     char f[len + nelement + 2] ;
 
     memset(f, 0, len) ;
-    memset(t, 0, len) ;
 
-    sastr_to_char(t, sa) ;
+    for (; pos < sa->len ; pos += strlen(sa->s + pos) + 1) {
 
-    for (; pos < len ; pos += strlen(t + pos) + 1) {
-
-        if (t[pos] == '#')
+        if (sa->s[pos] == '#')
             continue ;
 
         if (opts) {
 
-            sa->len = 0 ;
+            tmp.len = 0 ;
 
-            r = service_frontend_path(sa, t + pos, getuid(), 0) ;
+            r = service_frontend_path(&tmp, sa->s + pos, getuid(), 0) ;
             if (r == -1)
-                log_dieu(LOG_EXIT_SYS, "get frontend service file of: ", t + pos) ;
+                log_dieu(LOG_EXIT_SYS, "get frontend service file of: ", sa->s + pos) ;
 
             if (!r)
                 continue ;
@@ -62,7 +59,7 @@ int parse_compute_list(resolve_wrapper_t_ref wres, stralloc *sa, uint32_t *res,
 
         }
 
-        auto_strings(f + strlen(f), t + pos, " ") ;
+        auto_strings(f + strlen(f), sa->s + pos, " ") ;
 
         (*res)++ ;
 
@@ -72,6 +69,8 @@ int parse_compute_list(resolve_wrapper_t_ref wres, stralloc *sa, uint32_t *res,
 
     f[strlen(f) - 1] = 0 ;
 
+    stralloc_free(&tmp) ;
+
     return resolve_add_string(wres, f) ;
 
 }
diff --git a/src/lib66/parse/parse_contents.c b/src/lib66/parse/parse_contents.c
index 517a1d99..46cc3308 100644
--- a/src/lib66/parse/parse_contents.c
+++ b/src/lib66/parse/parse_contents.c
@@ -19,7 +19,7 @@
 
 #include <skalibs/stralloc.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/resolve.h>
 #include <66/enum.h>
 
diff --git a/src/lib66/parse/parse_line_g.c b/src/lib66/parse/parse_line_g.c
index e4646b30..6ca436db 100644
--- a/src/lib66/parse/parse_line_g.c
+++ b/src/lib66/parse/parse_line_g.c
@@ -19,7 +19,7 @@
 
 #include <skalibs/stralloc.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 
 /* @Return 2 if bad format */
 int parse_line_g(char *store, parse_mill_t *config, char const *str, size_t *pos)
diff --git a/src/lib66/parse/parse_mandatory.c b/src/lib66/parse/parse_mandatory.c
index 4c09d650..cc4e3427 100644
--- a/src/lib66/parse/parse_mandatory.c
+++ b/src/lib66/parse/parse_mandatory.c
@@ -14,7 +14,7 @@
 
 #include <oblibs/log.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/resolve.h>
 #include <66/enum.h>
 
diff --git a/src/lib66/parse/parse_parentheses.c b/src/lib66/parse/parse_parentheses.c
index fc3bbd6c..eacf60b6 100644
--- a/src/lib66/parse/parse_parentheses.c
+++ b/src/lib66/parse/parse_parentheses.c
@@ -17,7 +17,7 @@
 
 #include <oblibs/string.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 
 static char parse_char_next(char const *s, size_t *pos)
 {
diff --git a/src/lib66/parse/parse_section.c b/src/lib66/parse/parse_section.c
index 014c5abd..80c5a404 100644
--- a/src/lib66/parse/parse_section.c
+++ b/src/lib66/parse/parse_section.c
@@ -20,7 +20,7 @@
 
 #include <skalibs/stralloc.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/enum.h>
 
 int parse_section(stralloc *secname, char const *str, size_t *pos)
diff --git a/src/lib66/parse/parse_split_from_section.c b/src/lib66/parse/parse_split_from_section.c
index 71b9c736..1e77451f 100644
--- a/src/lib66/parse/parse_split_from_section.c
+++ b/src/lib66/parse/parse_split_from_section.c
@@ -23,7 +23,7 @@
 #include <skalibs/stralloc.h>
 #include <skalibs/types.h> //UINT_FMT
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/resolve.h>
 #include <66/enum.h>
 
diff --git a/src/lib66/parse/parse_store_environ.c b/src/lib66/parse/parse_store_environ.c
index f988ef74..765e5aef 100644
--- a/src/lib66/parse/parse_store_environ.c
+++ b/src/lib66/parse/parse_store_environ.c
@@ -19,7 +19,7 @@
 
 #include <skalibs/stralloc.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/resolve.h>
 #include <66/enum.h>
 #include <66/utils.h>
diff --git a/src/lib66/parse/parse_store_g.c b/src/lib66/parse/parse_store_g.c
index a0c87676..f3f5d609 100644
--- a/src/lib66/parse/parse_store_g.c
+++ b/src/lib66/parse/parse_store_g.c
@@ -14,7 +14,7 @@
 
 #include <oblibs/log.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/resolve.h>
 #include <66/enum.h>
 
diff --git a/src/lib66/parse/parse_store_logger.c b/src/lib66/parse/parse_store_logger.c
index 049b4a9e..733e3b17 100644
--- a/src/lib66/parse/parse_store_logger.c
+++ b/src/lib66/parse/parse_store_logger.c
@@ -18,7 +18,7 @@
 
 #include <skalibs/types.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/resolve.h>
 #include <66/service.h>
 #include <66/enum.h>
diff --git a/src/lib66/parse/parse_store_regex.c b/src/lib66/parse/parse_store_regex.c
index cbdb4090..4f938d98 100644
--- a/src/lib66/parse/parse_store_regex.c
+++ b/src/lib66/parse/parse_store_regex.c
@@ -19,7 +19,7 @@
 
 #include <skalibs/stralloc.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/resolve.h>
 #include <66/enum.h>
 
@@ -27,7 +27,7 @@ int parse_store_regex(resolve_service_t *res, char *store, int idsec, int idkey)
 {
     log_flow() ;
 
-    if (res->type == TYPE_CLASSIC || res->type == TYPE_ONESHOT)
+    if (res->type != TYPE_MODULE)
         return 1 ;
 
     stralloc sa = STRALLOC_ZERO ;
diff --git a/src/lib66/parse/parse_store_start_stop.c b/src/lib66/parse/parse_store_start_stop.c
index 9b579ca6..413a9d45 100644
--- a/src/lib66/parse/parse_store_start_stop.c
+++ b/src/lib66/parse/parse_store_start_stop.c
@@ -18,7 +18,7 @@
 
 #include <skalibs/stralloc.h>
 
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/resolve.h>
 #include <66/service.h>
 #include <66/enum.h>
diff --git a/src/lib66/sanitize/sanitize_graph.c b/src/lib66/sanitize/sanitize_graph.c
index 7e8efb12..77c4d54c 100644
--- a/src/lib66/sanitize/sanitize_graph.c
+++ b/src/lib66/sanitize/sanitize_graph.c
@@ -24,7 +24,7 @@
 #include <66/ssexec.h>
 #include <66/service.h>
 #include <66/resolve.h>
-#include <66/parser.h>
+#include <66/parse.h>
 #include <66/state.h>
 #include <66/graph.h>
 
-- 
GitLab