aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-12-09 10:24:04 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2025-12-09 10:24:04 +0000
commit3be4cf90beaf874f9c116696a8c0a17ec396843b (patch)
treebf3e2a11651f47e1d3cfc1077dcac7f94f24cdf3
parent420d8cef5cb8eed461a1b17dcd17de270571baf9 (diff)
downloads6-rc-3be4cf90beaf874f9c116696a8c0a17ec396843b.tar.gz
More fixes
-rw-r--r--src/repo/s6-rc-set-change.c3
-rw-r--r--src/repo/s6rc_repo_fillset.c6
-rw-r--r--src/repo/s6rc_repo_moveservices.c2
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)