chiark / gitweb /
udev: declare some symbols static
[elogind.git] / src / remount-fs / remount-fs.c
index 636c46f0f39971f00d626566f95848b72585d4a9..847637a12ca3988e9f3970e2407e4a82bc54570a 100644 (file)
@@ -40,7 +40,7 @@
 
 int main(int argc, char *argv[]) {
         int ret = EXIT_FAILURE;
-        FILE *f = NULL;
+        _cleanup_endmntent_ FILE *f = NULL;
         struct mntent* me;
         Hashmap *pids = NULL;
 
@@ -57,13 +57,11 @@ int main(int argc, char *argv[]) {
 
         f = setmntent("/etc/fstab", "r");
         if (!f) {
-                if (errno == ENOENT) {
-                        ret = EXIT_SUCCESS;
-                        goto finish;
-                }
+                if (errno == ENOENT)
+                        return EXIT_SUCCESS;
 
                 log_error("Failed to open /etc/fstab: %m");
-                goto finish;
+                return EXIT_FAILURE;
         }
 
         pids = hashmap_new(trivial_hash_func, trivial_compare_func);
@@ -129,10 +127,9 @@ int main(int argc, char *argv[]) {
         }
 
         while (!hashmap_isempty(pids)) {
-                siginfo_t si;
+                siginfo_t si = {};
                 char *s;
 
-                zero(si);
                 if (waitid(P_ALL, 0, &si, WEXITED) < 0) {
 
                         if (errno == EINTR)
@@ -145,7 +142,7 @@ int main(int argc, char *argv[]) {
 
                 s = hashmap_remove(pids, UINT_TO_PTR(si.si_pid));
                 if (s) {
-                        if (!is_clean_exit(si.si_code, si.si_status)) {
+                        if (!is_clean_exit(si.si_code, si.si_status, NULL)) {
                                 if (si.si_code == CLD_EXITED)
                                         log_error("/bin/mount for %s exited with exit status %i.", s, si.si_status);
                                 else
@@ -163,8 +160,5 @@ finish:
         if (pids)
                 hashmap_free_free(pids);
 
-        if (f)
-                endmntent(f);
-
         return ret;
 }