X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Futil.c;h=cf3cf292a0a6149a817410ee36a4ce2fa87e61e8;hb=6f3525444e177e8413d46c5029a7dced7fb4818d;hp=434f311e71f9cdbbdafe85229fdeb653f0b22965;hpb=f601daa70143745915a8d38603969f228414af19;p=elogind.git diff --git a/src/util.c b/src/util.c index 434f311e7..cf3cf292a 100644 --- a/src/util.c +++ b/src/util.c @@ -1681,6 +1681,8 @@ bool ignore_file(const char *filename) { return filename[0] == '.' || streq(filename, "lost+found") || + streq(filename, "aquota.user") || + streq(filename, "aquota.group") || endswith(filename, "~") || endswith(filename, ".rpmnew") || endswith(filename, ".rpmsave") || @@ -3333,6 +3335,21 @@ bool null_or_empty(struct stat *st) { return false; } +DIR *xopendirat(int fd, const char *name) { + return fdopendir(openat(fd, name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC)); +} + +int signal_from_string_try_harder(const char *s) { + int signo; + assert(s); + + if ((signo = signal_from_string(s)) <= 0) + if (startswith(s, "SIG")) + return signal_from_string(s+3); + + return signo; +} + static const char *const ioprio_class_table[] = { [IOPRIO_CLASS_NONE] = "none", [IOPRIO_CLASS_RT] = "realtime",