]> wimlib.net Git - wimlib/blobdiff - src/mount.c
Use public domain SHA1 code
[wimlib] / src / mount.c
index 7f0def11e27f37ec338bc0272c3c03b015ff5509..c313de83374428d28cda27fa04a3ba22fc7b8661 100644 (file)
@@ -27,6 +27,7 @@
 #include "wimlib_internal.h"
 
 #ifdef WITH_FUSE
+#include "sha1.h"
 #include "lookup_table.h"
 #include "xml.h"
 #include <stdlib.h>
@@ -427,22 +428,23 @@ static void wimfs_destroy(void *p)
                DEBUG("Received message: [%d %d]\n", msg[0], msg[1]);
        }
 
-       if (commit && (mount_flags & WIMLIB_MOUNT_FLAG_READWRITE)) {
-               status = chdir(working_directory);
-               if (status != 0) {
-                       ERROR("chdir(): %m\n");
-                       status = WIMLIB_ERR_NOTDIR;
-                       goto done;
+       status = 0;
+       if (mount_flags & WIMLIB_MOUNT_FLAG_READWRITE) {
+               if (commit) {
+                       status = chdir(working_directory);
+                       if (status != 0) {
+                               ERROR("chdir(): %m\n");
+                               status = WIMLIB_ERR_NOTDIR;
+                               goto done;
+                       }
+                       status = rebuild_wim(w, (check_integrity != 0));
+               }
+               ret = delete_staging_dir();
+               if (ret != 0) {
+                       ERROR("Failed to delete the staging directory: %m\n");
+                       if (status == 0)
+                               status = ret;
                }
-               status = rebuild_wim(w, (check_integrity != 0));
-       } else {
-               status = 0;
-       }
-       ret = delete_staging_dir();
-       if (ret != 0) {
-               ERROR("Failed to delete the staging directory: %m\n");
-               if (status == 0)
-                       status = ret;
        }
 done:
        ret = mq_send(daemon_to_unmount_mq, &status, 1, 1);