From c85dc17be718014260e10e41d15ba8f7329fed26 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 14 Feb 2010 01:07:01 +0100 Subject: [PATCH] util: unify code to check whether certain file names should be ignored when listing files --- load-dropin.c | 6 +----- util.c | 14 ++++++++++++++ util.h | 2 ++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/load-dropin.c b/load-dropin.c index af95d37a0..a3c9d3c77 100644 --- a/load-dropin.c +++ b/load-dropin.c @@ -60,12 +60,8 @@ int unit_load_dropin(Unit *u) { free(path); while ((de = readdir(d))) { - if (de->d_name[0] == '.') - continue; - - assert(de->d_name[0]); - if (de->d_name[strlen(de->d_name)-1] == '~') + if (ignore_file(de->d_name)) continue; if (asprintf(&path, "%s/%s.wants/%s", *p, t, de->d_name) < 0) { diff --git a/util.c b/util.c index 496f55166..e31649861 100644 --- a/util.c +++ b/util.c @@ -1058,6 +1058,20 @@ char *ascii_strlower(char *path) { return p; } +bool ignore_file(const char *filename) { + assert(filename); + + return + filename[0] == '.' || + endswith(filename, "~") || + endswith(filename, ".rpmnew") || + endswith(filename, ".rpmsave") || + endswith(filename, ".rpmorig") || + endswith(filename, ".dpkg-old") || + endswith(filename, ".dpkg-new") || + endswith(filename, ".swp"); +} + static const char *const ioprio_class_table[] = { [IOPRIO_CLASS_NONE] = "none", [IOPRIO_CLASS_RT] = "realtime", diff --git a/util.h b/util.h index 71645a70c..e005a2a07 100644 --- a/util.h +++ b/util.h @@ -151,6 +151,8 @@ char *xescape(const char *s, const char *bad); char *bus_path_escape(const char *s); char *bus_path_unescape(const char *s); +bool ignore_file(const char *filename); + #define DEFINE_STRING_TABLE_LOOKUP(name,type) \ const char *name##_to_string(type i) { \ if (i < 0 || i >= (type) ELEMENTSOF(name##_table)) \ -- 2.30.2