aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstddjb/sals.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-08-05 11:57:19 +0000
committerLaurent Bercot <ska@appnovation.com>2025-08-05 11:57:19 +0000
commit24629a6da66019db9aab610d20c3bcf3fde76196 (patch)
tree9fead4e0434d95e58104cf90c546248ecca73ecd /src/libstddjb/sals.c
parentf23996b445422bdc79b4a16da63c740ae6bddda9 (diff)
downloadskalibs-24629a6da66019db9aab610d20c3bcf3fde76196.tar.gz
Remove sals specialcasing
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src/libstddjb/sals.c')
-rw-r--r--src/libstddjb/sals.c35
1 files changed, 16 insertions, 19 deletions
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 ;