aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-10-30 05:04:21 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2025-10-30 05:04:21 +0000
commit0eb06a992d6f9644d107338df792d49355ef8e40 (patch)
tree03aef005900f7e5eac30cef976d91e8f4f543b29 /src
parent92c0e8ff8fbe08a0cc78e01e0f5a321c8c91ed7b (diff)
downloads6-rc-0eb06a992d6f9644d107338df792d49355ef8e40.tar.gz
Add s6-rc-set-change doc page, update deps, fix verbosity guard
Diffstat (limited to 'src')
-rw-r--r--src/repo/s6-rc-set-change.c4
-rw-r--r--src/repo/s6rc_repo_badsub.c10
2 files changed, 5 insertions, 9 deletions
diff --git a/src/repo/s6-rc-set-change.c b/src/repo/s6-rc-set-change.c
index 2758fa6..d5ca4ed 100644
--- a/src/repo/s6-rc-set-change.c
+++ b/src/repo/s6-rc-set-change.c
@@ -17,7 +17,7 @@
#include <s6-rc/config.h>
#include <s6-rc/s6rc.h>
-#define USAGE "s6-rc-set-change [ -v verbosity ] [ -r repo ] [ -E ] [ -f | -I fail|pull|warn ] [ -n ] set newstate services..."
+#define USAGE "s6-rc-set-change [ -v verbosity ] [ -r repo ] [ -E ] [ -f | -I fail|pull|warn ] [ -n ] set newsub services..."
#define dieusage() strerr_dieusage(100, USAGE)
enum golb_e
@@ -180,7 +180,7 @@ int main (int argc, char const *const *argv)
{
uint32_t const *bads = genalloc_s(uint32_t, &indices) ;
uint32_t badn = genalloc_len(uint32_t, &indices) ;
- if (verbosity)
+ if (verbosity || !forcelevel)
{
char const *arg[10 + (badn << 1)] ;
arg[0] = PROG ;
diff --git a/src/repo/s6rc_repo_badsub.c b/src/repo/s6rc_repo_badsub.c
index 69697eb..246396c 100644
--- a/src/repo/s6rc_repo_badsub.c
+++ b/src/repo/s6rc_repo_badsub.c
@@ -6,6 +6,7 @@
#include <errno.h>
#include <skalibs/posixplz.h>
+#include <skalibs/bytestr.h>
#include <skalibs/direntry.h>
#include <skalibs/strerr.h>
#include <skalibs/stralloc.h>
@@ -13,11 +14,6 @@
#include <s6-rc/repo.h>
-static int strqcmp (void const *a, void const *b)
-{
- return strcmp(*(char const *const *)a, *(char const *const *)b) ;
-}
-
int s6rc_repo_badsub (char const *repo, char const *set, char const **services, uint32_t n, uint8_t newsub, uint8_t what, s6rc_repo_sv const *svlist, uint32_t ntot, stralloc *sa, genalloc *badga)
{
int sawasnull = !!sa->s ;
@@ -33,7 +29,7 @@ int s6rc_repo_badsub (char const *repo, char const *set, char const **services,
mid = genalloc_len(size_t, &fulldeps) ;
if (newsub > 0 && (what & 2) && s6rc_repo_listalldeps(repo, services, n, sa, &fulldeps, 1)) goto err ;
- qsort(services, n, sizeof(char const *), &strqcmp) ;
+ qsort(services, n, sizeof(char const *), &str_cmp) ;
fulln = genalloc_len(size_t, &fulldeps) ;
ind = genalloc_s(size_t, &fulldeps) ;
@@ -41,7 +37,7 @@ int s6rc_repo_badsub (char const *repo, char const *set, char const **services,
{
s6rc_repo_sv *p ;
char const *cur = sa->s + ind[i] ;
- if (bsearch(&cur, services, n, sizeof(char const *), &strqcmp)) continue ;
+ if (bsearch(&cur, services, n, sizeof(char const *), &str_cmp)) continue ;
p = bsearchr(cur, svlist, ntot, sizeof(s6rc_repo_sv), &s6rc_repo_sv_bcmpr, sa->s) ;
if (!p)
{