diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2021-12-07 12:52:58 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2021-12-15 22:50:00 +0100 |
commit | af3b864d76cf916a026b7877099791811b348fdf (patch) | |
tree | 40db7161280edc4dcc24b8a0cd20514f45a3ea1f /src/basic/dirent-util.h | |
parent | c7f0d9e5acef3f62db3640d5ab7446241c022b35 (diff) | |
download | systemd-af3b864d76cf916a026b7877099791811b348fdf.tar.gz |
Define FOREACH_DIRENT through FOREACH_DIRENT_ALL
As in the previous commit, 'de' is used as the iterator variable name.
Diffstat (limited to 'src/basic/dirent-util.h')
-rw-r--r-- | src/basic/dirent-util.h | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/basic/dirent-util.h b/src/basic/dirent-util.h index 2dc5dae1e1..5fde9043a3 100644 --- a/src/basic/dirent-util.h +++ b/src/basic/dirent-util.h @@ -14,17 +14,6 @@ bool dirent_is_file_with_suffix(const struct dirent *de, const char *suffix) _pu struct dirent *readdir_ensure_type(DIR *d); struct dirent *readdir_no_dot(DIR *dirp); -#define FOREACH_DIRENT(de, d, on_error) \ - for (de = readdir_ensure_type(d);; de = readdir_ensure_type(d)) \ - if (!de) { \ - if (errno > 0) { \ - on_error; \ - } \ - break; \ - } else if (hidden_or_backup_file((de)->d_name)) \ - continue; \ - else - #define FOREACH_DIRENT_ALL(de, d, on_error) \ for (struct dirent *(de) = readdir_ensure_type(d);; (de) = readdir_ensure_type(d)) \ if (!de) { \ @@ -34,6 +23,12 @@ struct dirent *readdir_no_dot(DIR *dirp); break; \ } else +#define FOREACH_DIRENT(de, d, on_error) \ + FOREACH_DIRENT_ALL(de, d, on_error) \ + if (hidden_or_backup_file((de)->d_name)) \ + continue; \ + else + /* Maximum space one dirent structure might require at most */ #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |