delta: don't ignore PREFIX when the given argument is PREFIX/SUFFIX

Before this patch, when systemd-delta was asked for overwritten configuration
files in a directory specified by PREFIX/SUFFIX, it ignored the given PREFIX
and listed all overwritten files matching the subdirectory specified by
SUFFIX. Hence we could get the following:

  $ ./build/systemd-delta /usr/local/lib/systemd/system
  [REDIRECTED] /etc/systemd/system/default.target → /usr/lib/systemd/system/default.target
  [EXTENDED]   /usr/lib/systemd/system/systemd-sysctl.service → /usr/lib/systemd/system/systemd-sysctl.service.d/50-kernel-uname_r.conf

systemd-delta showed overwritten configuration files in /usr/lib whereas only
overwritten ones in /usr/local/lib should have been reported (none in my case).

With the patch applied, we now get:

  $ ./build/systemd-delta /usr/local/lib/systemd/system
  0 overridden configuration files found.
This commit is contained in:
Franck Bui
2017-12-07 21:41:35 +01:00
parent 4cc893e742
commit a9d041fa47
+1 -1
View File
@@ -528,7 +528,7 @@ static int process_suffix_chop(const char *arg) {
if (suffix) {
suffix += strspn(suffix, "/");
if (*suffix)
return process_suffix(suffix, NULL);
return process_suffix(suffix, p);
else
return process_suffixes(arg);
}