diff options
Diffstat (limited to 'src/libs6rc/s6rc_repo_fillset.c')
| -rw-r--r-- | src/libs6rc/s6rc_repo_fillset.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/libs6rc/s6rc_repo_fillset.c b/src/libs6rc/s6rc_repo_fillset.c index 50c0156..5a82ddd 100644 --- a/src/libs6rc/s6rc_repo_fillset.c +++ b/src/libs6rc/s6rc_repo_fillset.c @@ -47,25 +47,22 @@ int s6rc_repo_fillset (char const *repo, char const *set, char const *const *exi memcpy(src + 12, d->d_name, len+1) ; if (n && bsearch(&d->d_name, existing, n, sizeof(char const *), &s6rc_strrefcmp)) continue ; memcpy(src + 12 + len, "/flag-essential", 16) ; - if (access(src, F_OK) == -1) + if (access(src, F_OK) == 0) subi = 3 ; + else { if (errno != ENOENT) { strerr_warnfu2sys("access ", src) ; break ; } - } - else subi = 2 ; - memcpy(src + 18 + len, "recommended", 12) ; - if (access(src, F_OK) == -1) - { - if (errno != ENOENT) + memcpy(src + 18 + len, "recommended", 12) ; + if (access(src, F_OK) == 0) subi = 2 ; + else if (errno != ENOENT) { strerr_warnfu2sys("access ", src) ; break ; } } - else subi = 2 ; src[12 + len] = 0 ; memcpy(dst, setfn, repolen + 10 + setlen) ; memcpy(dst + repolen + 10 + setlen, s6rc_repo_sublist[subi], 6) ; |
