]> wimlib.net Git - wimlib/blobdiff - programs/imagex.c
imagex_mount_rw_or_no(): Fix early return
[wimlib] / programs / imagex.c
index 41aba7ebc2dd5188e7c8def71570563eb8355216..5ab9aeba8ce96425e51141909011079de5470bef 100644 (file)
@@ -1011,7 +1011,7 @@ static int imagex_export(int argc, const char **argv)
 
                ret = file_writable(dest_wimfile);
                if (ret != 0)
-                       return ret;
+                       goto out;
 
                dest_ctype = wimlib_get_compression_type(dest_w);
                if (compression_type_specified
@@ -1489,7 +1489,7 @@ static int imagex_mount_rw_or_ro(int argc, const char **argv)
        if (mount_flags & WIMLIB_MOUNT_FLAG_READWRITE) {
                ret = file_writable(wimfile);
                if (ret != 0)
-                       return ret;
+                       goto out;
        }
 
        ret = wimlib_mount_image(w, image, dir, mount_flags, additional_swms,
@@ -1787,7 +1787,7 @@ int main(int argc, const char **argv)
                                imagex_error("Exiting with error code %d:\n"
                                             "       %s.", ret,
                                             wimlib_get_error_string(ret));
-                               if (ret == WIMLIB_ERR_NTFS_3G)
+                               if (ret == WIMLIB_ERR_NTFS_3G && errno != 0)
                                        imagex_error_with_errno("errno");
                        }
                        return ret;