From 6a5a4baf2454530cd7c53cada4176c3ef90afa40 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Wed, 5 Nov 2025 04:40:36 +0000 Subject: Now it builds again --- src/libs6f/s6f_equote.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/libs6f/s6f_equote.c') diff --git a/src/libs6f/s6f_equote.c b/src/libs6f/s6f_equote.c index 41cef42..a4c41bb 100644 --- a/src/libs6f/s6f_equote.c +++ b/src/libs6f/s6f_equote.c @@ -4,19 +4,25 @@ #include "s6f.h" -size_t s6f_equote_space (char const *const *argv, unsigned int argc) +size_t s6f_equote_space (char const *const *argv, unsigned int argc, char const *prefix) { - size_t l = 0 ; - for (unsigned int i = 0 ; i < argc ; i++) l += i + 2 + strlen(argv[i]) ; + size_t l = (prefix ? strlen(prefix) + 3 : 2) * argc ; + for (unsigned int i = 0 ; i < argc ; i++) l += strlen(argv[i]) ; return l ; } -unsigned int s6f_equote (char const **newargv, char const *const *argv, unsigned int argc, char *s) +unsigned int s6f_equote (char const **newargv, char const *const *argv, unsigned int argc, char const *prefix, char *s) { + size_t prefixlen = prefix ? strlen(prefix) : 0 ; for (unsigned int i = 0 ; i < argc ; i++) { newargv[i] = s ; *s++ = ' ' ; + if (prefix) + { + memcpy(s, prefix, prefixlen) ; + *s++ = '/' ; + } s = stpcpy(s, argv[i]) + 1 ; } newargv[argc] = "" ; -- cgit v1.3.1