From 29f0382d7532eca906774d6b614a0e0a0a18447d Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Mon, 9 Oct 2017 16:19:57 +0000 Subject: version: 0.3.0.0 --- doc/upgrade.html | 1 + src/libs6rc/s6rc_livedir_prefix.c | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/upgrade.html b/doc/upgrade.html index 23e4631..fa441d1 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -41,6 +41,7 @@ dependency bumped to 2.3.0.3. dependency bumped to 2.6.1.1.
  • New -p option to s6-rc-init to allow using several live directories with the same scandir.
  • +
  • New command: s6-rc diff.
  • in 0.2.1.2

    diff --git a/src/libs6rc/s6rc_livedir_prefix.c b/src/libs6rc/s6rc_livedir_prefix.c index 18a95fe..09fe263 100644 --- a/src/libs6rc/s6rc_livedir_prefix.c +++ b/src/libs6rc/s6rc_livedir_prefix.c @@ -8,13 +8,12 @@ ssize_t s6rc_livedir_prefix (char const *live, char *s, size_t n) { size_t llen = strlen(live) ; - size_t r ; + ssize_t r ; char sfn[llen + 8] ; memcpy(sfn, live, llen) ; memcpy(sfn + llen, "/prefix", 8) ; r = openreadnclose(sfn, s, n) ; - if (r < 0) return r ; - if (memchr(s, '/', r) || memchr(s, '\n', r)) - return (errno = EINVAL, -1) ; + if (r < 0) return errno == ENOENT ? 0 : r ; + if (memchr(s, '/', r) || memchr(s, '\n', r)) return (errno = EINVAL, -1) ; return r ; } -- cgit v1.2.3