diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2025-12-09 10:24:04 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2025-12-09 10:24:04 +0000 |
| commit | 3be4cf90beaf874f9c116696a8c0a17ec396843b (patch) | |
| tree | bf3e2a11651f47e1d3cfc1077dcac7f94f24cdf3 | |
| parent | 420d8cef5cb8eed461a1b17dcd17de270571baf9 (diff) | |
| download | s6-rc-3be4cf90beaf874f9c116696a8c0a17ec396843b.tar.gz | |
More fixes
| -rw-r--r-- | src/repo/s6-rc-set-change.c | 3 | ||||
| -rw-r--r-- | src/repo/s6rc_repo_fillset.c | 6 | ||||
| -rw-r--r-- | src/repo/s6rc_repo_moveservices.c | 2 |
3 files changed, 5 insertions, 6 deletions
diff --git a/src/repo/s6-rc-set-change.c b/src/repo/s6-rc-set-change.c index 8d6d27f..32a738f 100644 --- a/src/repo/s6-rc-set-change.c +++ b/src/repo/s6-rc-set-change.c @@ -14,6 +14,7 @@ #include <skalibs/genalloc.h> #include <skalibs/tai.h> #include <skalibs/djbunix.h> +#include <skalibs/lolstdio.h> #include <s6-rc/config.h> #include <s6-rc/s6rc.h> @@ -174,7 +175,6 @@ int main (int argc, char const *const *argv) memcpy(tmpstore + m, storage.s + list[ind[i]].pos, len) ; m += len ; } - if (!s6rc_repo_badsub(wgola[GOLA_REPODIR], argv[0], tmpstart, n, newsub->sub, 3, list, listn, &storage, &indices)) _exit(111) ; if (genalloc_len(uint32_t, &indices)) { @@ -213,7 +213,6 @@ int main (int argc, char const *const *argv) } } genalloc_free(uint32_t, &indices) ; - stralloc_free(&storage) ; if (!(wgolb & GOLB_DRYRUN)) { diff --git a/src/repo/s6rc_repo_fillset.c b/src/repo/s6rc_repo_fillset.c index a911e69..d7813be 100644 --- a/src/repo/s6rc_repo_fillset.c +++ b/src/repo/s6rc_repo_fillset.c @@ -43,10 +43,10 @@ int s6rc_repo_fillset (char const *repo, char const *set, char const *const *exi if (d->d_name[0] == '.') continue ; len = strlen(d->d_name) ; - char src[len + 13] ; + char src[len + 16] ; char dst[repolen + 18 + setlen + len] ; - memcpy(src, "../.atomics/", 12) ; - memcpy(src + 12, d->d_name, len+1) ; + memcpy(src, "../../.atomics/", 15) ; + memcpy(src + 15, d->d_name, len+1) ; if (n && bsearch(d->d_name, existing, n, sizeof(char const *), &str_bcmp)) continue ; if (s6rc_repo_getserviceflags(repo, d->d_name, &flags) <= 0) return 0 ; if (flags & 1) subi = 3 ; diff --git a/src/repo/s6rc_repo_moveservices.c b/src/repo/s6rc_repo_moveservices.c index 3cc3b92..00d1ec8 100644 --- a/src/repo/s6rc_repo_moveservices.c +++ b/src/repo/s6rc_repo_moveservices.c @@ -33,7 +33,7 @@ int s6rc_repo_moveservices (char const *repo, char const *set, s6rc_repo_sv cons for (uint32_t i = 0 ; i < n ; i++) { size_t len = strlen(storage + services[i].pos) ; - memcpy(oldfn + repolen + 10, s6rc_repo_subnames[services[i].sub], 6) ; + memcpy(oldfn + repolen + setlen + 10, s6rc_repo_subnames[services[i].sub], 6) ; memcpy(oldfn + repolen + setlen + 17, storage + services[i].pos, len + 1) ; memcpy(newfn + repolen + setlen + 17, storage + services[i].pos, len + 1) ; if (access(newfn, F_OK) == 0) |
