From 24629a6da66019db9aab610d20c3bcf3fde76196 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Tue, 5 Aug 2025 11:57:19 +0000 Subject: Remove sals specialcasing Signed-off-by: Laurent Bercot --- src/libstddjb/sals.c | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/libstddjb/sals.c b/src/libstddjb/sals.c index 839df6d..f6b2aa1 100644 --- a/src/libstddjb/sals.c +++ b/src/libstddjb/sals.c @@ -13,27 +13,24 @@ int sals (char const *fn, stralloc *sa, size_t *x) size_t sabase = sa->len ; size_t maxlen = 0 ; DIR *dir = opendir(fn) ; - if (dir) + if (!dir) return -1 ; + for (;;) { - for (;;) - { - direntry *d ; - size_t len ; - errno = 0 ; - d = readdir(dir) ; - if (!d) break ; - if (d->d_name[0] == '.') - if (((d->d_name[1] == '.') && !d->d_name[2]) || !d->d_name[1]) - continue ; - len = strlen(d->d_name) ; - if (len > maxlen) maxlen = len ; - if (!stralloc_catb(sa, d->d_name, len+1)) goto err ; - n++ ; - } - if (errno) goto err ; - dir_close(dir) ; + direntry *d ; + size_t len ; + errno = 0 ; + d = readdir(dir) ; + if (!d) break ; + if (d->d_name[0] == '.') + if (((d->d_name[1] == '.') && !d->d_name[2]) || !d->d_name[1]) + continue ; + len = strlen(d->d_name) ; + if (len > maxlen) maxlen = len ; + if (!stralloc_catb(sa, d->d_name, len+1)) goto err ; + n++ ; } - else if (errno != ENOENT) return -1 ; + if (errno) goto err ; + dir_close(dir) ; if (x) *x = maxlen ; return n ; -- cgit v1.3.1