]> wimlib.net Git - wimlib/blobdiff - src/resource.c
Make win32.h includable on non-Windows
[wimlib] / src / resource.c
index 11e09d67b0df0b91a3bacfc4a59620da63d874b9..134821971a6b3b20e4b6d79f520be219ab6c1dbc 100644 (file)
 #include "wimlib/endianness.h"
 #include "wimlib/error.h"
 #include "wimlib/file_io.h"
+#include "wimlib/ntfs_3g.h"
 #include "wimlib/resource.h"
 #include "wimlib/sha1.h"
 #include "wimlib/wim.h"
-
-#ifdef __WIN32__
-/* for read_winnt_stream_prefix(), read_win32_encrypted_file_prefix() */
-#  include "wimlib/win32.h"
-#endif
-
-#ifdef WITH_NTFS_3G
-/* for read_ntfs_attribute_prefix() */
-#  include "wimlib/ntfs_3g.h"
-#endif
-
+#include "wimlib/win32.h"
 
 /*
  *                         Compressed WIM resources
@@ -769,8 +760,6 @@ read_file_on_disk_prefix(const struct blob_descriptor *blob, u64 size,
        int raw_fd;
        struct filedes fd;
 
-       wimlib_assert(size <= blob->size);
-
        DEBUG("Reading %"PRIu64" bytes from \"%"TS"\"", size, blob->file_on_disk);
 
        raw_fd = topen(blob->file_on_disk, O_BINARY | O_RDONLY);
@@ -793,8 +782,6 @@ read_staging_file_prefix(const struct blob_descriptor *blob, u64 size,
        struct filedes fd;
        int ret;
 
-       wimlib_assert(size <= blob->size);
-
        DEBUG("Reading %"PRIu64" bytes from staging file \"%s\"",
              size, blob->staging_file_name);
 
@@ -818,7 +805,6 @@ static int
 read_buffer_prefix(const struct blob_descriptor *blob,
                   u64 size, consume_data_callback_t cb, void *cb_ctx)
 {
-       wimlib_assert(size <= blob->size);
        return (*cb)(blob->attached_buffer, size, cb_ctx);
 }
 
@@ -863,6 +849,7 @@ read_blob_prefix(const struct blob_descriptor *blob, u64 size,
        };
        wimlib_assert(blob->blob_location < ARRAY_LEN(handlers)
                      && handlers[blob->blob_location] != NULL);
+       wimlib_assert(size <= blob->size);
        return handlers[blob->blob_location](blob, size, cb, cb_ctx);
 }
 
@@ -912,10 +899,7 @@ wim_reshdr_to_data(const struct wim_reshdr *reshdr, WIMStruct *wim, void **buf_r
        struct blob_descriptor blob;
 
        wim_res_hdr_to_desc(reshdr, wim, &rdesc);
-       blob_set_is_located_in_wim_resource(&blob, &rdesc);
-
-       blob.size = rdesc.uncompressed_size;
-       blob.offset_in_res = 0;
+       blob_set_is_located_in_nonsolid_wim_resource(&blob, &rdesc);
 
        return read_full_blob_into_alloc_buf(&blob, buf_ret);
 }
@@ -929,10 +913,7 @@ wim_reshdr_to_hash(const struct wim_reshdr *reshdr, WIMStruct *wim,
        int ret;
 
        wim_res_hdr_to_desc(reshdr, wim, &rdesc);
-       blob_set_is_located_in_wim_resource(&blob, &rdesc);
-
-       blob.size = rdesc.uncompressed_size;
-       blob.offset_in_res = 0;
+       blob_set_is_located_in_nonsolid_wim_resource(&blob, &rdesc);
        blob.unhashed = 1;
 
        ret = sha1_blob(&blob);
@@ -1091,7 +1072,7 @@ hasher_end_blob(struct blob_descriptor *blob, int status, void *_ctx)
                                        tchar actual_hashstr[SHA1_HASH_SIZE * 2 + 1];
                                        sprint_hash(blob->hash, expected_hashstr);
                                        sprint_hash(hash, actual_hashstr);
-                                       ERROR("The blob is corrupted!\n"
+                                       ERROR("The data is corrupted!\n"
                                              "        (Expected SHA-1=%"TS",\n"
                                              "              got SHA-1=%"TS")",
                                              expected_hashstr, actual_hashstr);