diff --git a/src/lib66/state/state_check.c b/src/lib66/state/state_check.c index 7f8336f387e06a1cea0b0721ec920a707c924197..9ce829b0237a60b0b2d58d5c48ef432daca0f480 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 0d696a111af1a5a8931be3f7ebe4cdb7349f1020..29c64765001c367573397bcc9ec11ec9d305fee6 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 a0e0aa09e2b89e26ba1fa36f5a51fb05a4c60767..db6ac989ae2df288e0e3d9c48eac8c128310fd90 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) ; }