chiark / gitweb /
log: also set errno to the passed error code before processing format string in log_s...
[elogind.git] / src / remount-fs / remount-fs.c
index f432718d6b9148d615fda958a88f90f4790318c3..cd7cfe7a474a3aa73405cb2179bbd0b2b2eea593 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,16 +57,14 @@ 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);
+        pids = hashmap_new(NULL);
         if (!pids) {
                 log_error("Failed to allocate set");
                 goto finish;
@@ -162,8 +160,5 @@ finish:
         if (pids)
                 hashmap_free_free(pids);
 
-        if (f)
-                endmntent(f);
-
         return ret;
 }