systemctl: fix preset-all with missing /etc/systemd/system
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 12 Aug 2016 01:53:32 +0000 (21:53 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 19 Aug 2016 13:55:53 +0000 (09:55 -0400)
If the directory is missing, we can assume that those pesky symlinks are gone too.

src/shared/install.c

index e740ef3..ccb1a70 100644 (file)
@@ -620,7 +620,7 @@ static int remove_marked_symlinks(
 
         fd = open(config_path, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW);
         if (fd < 0)
-                return -errno;
+                return errno == ENOENT ? 0 : -errno;
 
         do {
                 int q, cfd;