mirror of
https://github.com/systemd/systemd.git
synced 2024-11-08 02:57:16 +03:00
util: improve dir_is_empty() call
Simplify the call, and add dir_is_populated() as inverse call, in order to make some checks easier to read.
This commit is contained in:
parent
2dcc3c69a1
commit
ac7edd9167
@ -2381,25 +2381,16 @@ bool is_device_path(const char *path) {
|
|||||||
|
|
||||||
int dir_is_empty(const char *path) {
|
int dir_is_empty(const char *path) {
|
||||||
_cleanup_closedir_ DIR *d;
|
_cleanup_closedir_ DIR *d;
|
||||||
|
struct dirent *de;
|
||||||
|
|
||||||
d = opendir(path);
|
d = opendir(path);
|
||||||
if (!d)
|
if (!d)
|
||||||
return -errno;
|
return -errno;
|
||||||
|
|
||||||
for (;;) {
|
FOREACH_DIRENT(de, d, return -errno)
|
||||||
struct dirent *de;
|
return 0;
|
||||||
|
|
||||||
errno = 0;
|
return 1;
|
||||||
de = readdir(d);
|
|
||||||
if (!de && errno != 0)
|
|
||||||
return -errno;
|
|
||||||
|
|
||||||
if (!de)
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
if (!hidden_file(de->d_name))
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char* dirname_malloc(const char *path) {
|
char* dirname_malloc(const char *path) {
|
||||||
|
@ -358,6 +358,14 @@ bool is_device_path(const char *path);
|
|||||||
int dir_is_empty(const char *path);
|
int dir_is_empty(const char *path);
|
||||||
char* dirname_malloc(const char *path);
|
char* dirname_malloc(const char *path);
|
||||||
|
|
||||||
|
static inline int dir_is_populated(const char *path) {
|
||||||
|
int r;
|
||||||
|
r = dir_is_empty(path);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
return !r;
|
||||||
|
}
|
||||||
|
|
||||||
char* lookup_uid(uid_t uid);
|
char* lookup_uid(uid_t uid);
|
||||||
char* getlogname_malloc(void);
|
char* getlogname_malloc(void);
|
||||||
char* getusername_malloc(void);
|
char* getusername_malloc(void);
|
||||||
|
Loading…
Reference in New Issue
Block a user