chiark / gitweb /
sysv-generator: use is_symlink() utility call where appropriate
[elogind.git] / src / sysv-generator / sysv-generator.c
index 1e4d54888cfd74c516875f1036d79ef207c1dd61..984beab70ad397ed5760dd4e2cc00d64b3095c9d 100644 (file)
@@ -147,7 +147,6 @@ static int generate_unit_file(SysvStub *s) {
         _cleanup_free_ char *wants = NULL;
         _cleanup_free_ char *conflicts = NULL;
         int r;
-        struct stat st;
 
         before = strv_join(s->before, " ");
         if (!before)
@@ -172,9 +171,9 @@ static int generate_unit_file(SysvStub *s) {
         /* We might already have a symlink with the same name from a Provides:,
          * or from backup files like /etc/init.d/foo.bak. Real scripts always win,
          * so remove an existing link */
-        if (lstat(unit, &st) == 0 && S_ISLNK(st.st_mode)) {
+        if (is_symlink(unit)) {
                 log_warning("Overwriting existing symlink %s with real service", unit);
-                unlink(unit);
+                (void) unlink(unit);
         }
 
         f = fopen(unit, "wxe");