From 95cc304f90752c5f04a580136a39b15da4eab121 Mon Sep 17 00:00:00 2001
From: obarun <eric@obarun.org>
Date: Sun, 21 May 2023 20:38:32 +1100
Subject: [PATCH] simplify path declaration

---
 src/lib66/state/state_check.c  | 8 +-------
 src/lib66/state/state_read.c   | 9 +++------
 src/lib66/state/state_rmfile.c | 8 +-------
 3 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/src/lib66/state/state_check.c b/src/lib66/state/state_check.c
index 7f8336f3..9ce829b0 100644
--- a/src/lib66/state/state_check.c
+++ b/src/lib66/state/state_check.c
@@ -26,13 +26,7 @@ int state_check(resolve_service_t *res)
 {
     log_flow() ;
 
-    size_t len = strlen(res->sa.s + res->path.servicedir) ;
-
-    char target[len + SS_STATE_LEN + 1 + SS_STATUS_LEN + 1] ;
-
-    auto_strings(target, res->sa.s + res->path.servicedir, SS_STATE, "/", SS_STATUS) ;
-
-    if (access(target, F_OK) < 0)
+    if (access(res->sa.s + res->path.status, F_OK) < 0)
         return 0 ;
 
     return 1 ;
diff --git a/src/lib66/state/state_read.c b/src/lib66/state/state_read.c
index 0d696a11..29c64765 100644
--- a/src/lib66/state/state_read.c
+++ b/src/lib66/state/state_read.c
@@ -27,14 +27,11 @@ int state_read(ss_state_t *sta, resolve_service_t *res)
 {
     log_flow() ;
 
-    size_t len = strlen(res->sa.s + res->path.servicedir) ;
-
+    int r ;
     char pack[STATE_STATE_SIZE] ;
-    char target[len + SS_STATE_LEN + 1 + SS_STATUS_LEN + 1] ;
-
-    auto_strings(target, res->sa.s + res->path.servicedir, SS_STATE, "/", SS_STATUS) ;
 
-    if (openreadnclose(target, pack, STATE_STATE_SIZE) < STATE_STATE_SIZE)
+    r = openreadnclose(res->sa.s + res->path.status, pack, STATE_STATE_SIZE) ;
+    if (r < STATE_STATE_SIZE || r < 0)
         return 0 ;
 
     state_unpack(pack, sta) ;
diff --git a/src/lib66/state/state_rmfile.c b/src/lib66/state/state_rmfile.c
index a0e0aa09..db6ac989 100644
--- a/src/lib66/state/state_rmfile.c
+++ b/src/lib66/state/state_rmfile.c
@@ -27,11 +27,5 @@ void state_rmfile(resolve_service_t *res)
 {
     log_flow() ;
 
-    size_t len = strlen(res->sa.s + res->path.servicedir) ;
-
-    char target[len + SS_STATE_LEN + 1 + SS_STATUS_LEN + 1] ;
-
-    auto_strings(target, res->sa.s + res->path.servicedir, SS_STATE, "/", SS_STATUS) ;
-
-    unlink_void(target) ;
+    unlink_void(res->sa.s + res->path.status) ;
 }
-- 
GitLab