From: Lennart Poettering Date: Sun, 14 Feb 2010 00:07:01 +0000 (+0100) Subject: util: unify code to check whether certain file names should be ignored when listing... X-Git-Tag: 0.git+20100605+dfd8ee-1~299 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c85dc17be718014260e10e41d15ba8f7329fed26;p=systemd util: unify code to check whether certain file names should be ignored when listing files --- diff --git a/load-dropin.c b/load-dropin.c index af95d37a..a3c9d3c7 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 496f5516..e3164986 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 71645a70..e005a2a0 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)) \