mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 08:25:20 +09:00
stat-util: split null_or_empty() into two
This commit is contained in:
@@ -184,19 +184,19 @@ int dir_is_empty_at(int dir_fd, const char *path, bool ignore_hidden_or_backup)
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool null_or_empty(struct stat *st) {
|
||||
bool stat_may_be_dev_null(struct stat *st) {
|
||||
assert(st);
|
||||
|
||||
if (S_ISREG(st->st_mode) && st->st_size <= 0)
|
||||
return true;
|
||||
|
||||
/* We don't want to hardcode the major/minor of /dev/null, hence we do a simpler "is this a character
|
||||
* device node?" check. */
|
||||
|
||||
if (S_ISCHR(st->st_mode))
|
||||
return true;
|
||||
return S_ISCHR(st->st_mode);
|
||||
}
|
||||
|
||||
return false;
|
||||
bool stat_is_empty(struct stat *st) {
|
||||
assert(st);
|
||||
|
||||
return S_ISREG(st->st_mode) && st->st_size <= 0;
|
||||
}
|
||||
|
||||
int null_or_empty_path_with_root(const char *fn, const char *root) {
|
||||
|
||||
@@ -29,7 +29,11 @@ static inline int dir_is_empty(const char *path, bool ignore_hidden_or_backup) {
|
||||
return dir_is_empty_at(AT_FDCWD, path, ignore_hidden_or_backup);
|
||||
}
|
||||
|
||||
bool null_or_empty(struct stat *st) _pure_;
|
||||
bool stat_may_be_dev_null(struct stat *st) _pure_;
|
||||
bool stat_is_empty(struct stat *st) _pure_;
|
||||
static inline bool null_or_empty(struct stat *st) {
|
||||
return stat_may_be_dev_null(st) || stat_is_empty(st);
|
||||
}
|
||||
int null_or_empty_path_with_root(const char *fn, const char *root);
|
||||
|
||||
static inline int null_or_empty_path(const char *fn) {
|
||||
|
||||
Reference in New Issue
Block a user