]> wimlib.net Git - wimlib/blobdiff - src/wim.c
Support basic reading WIMBoot WIMs
[wimlib] / src / wim.c
index 9daa8e3bc60c8765ac1022a89002da1d32f19bea..95a3cb2872f07a54ef6cb6aaa0c3376a5d7bd574 100644 (file)
--- a/src/wim.c
+++ b/src/wim.c
@@ -130,7 +130,7 @@ wim_chunk_size_valid(u32 chunk_size, int ctype)
                return order >= 15 && order <= 21;
 
        case WIMLIB_COMPRESSION_TYPE_XPRESS:
-               return order >= 15 && order <= 26;
+               return order >= 12 && order <= 26;
        case WIMLIB_COMPRESSION_TYPE_LZMS:
                return order >= 15 && order <= 30;
        }
@@ -621,7 +621,8 @@ begin_read(WIMStruct *wim, const void *wim_filename_or_fd,
        if (wim->hdr.flags & WIM_HDR_FLAG_COMPRESSION) {
                if (wim->hdr.flags & WIM_HDR_FLAG_COMPRESS_LZX) {
                        wim->compression_type = WIMLIB_COMPRESSION_TYPE_LZX;
-               } else if (wim->hdr.flags & WIM_HDR_FLAG_COMPRESS_XPRESS) {
+               } else if (wim->hdr.flags & (WIM_HDR_FLAG_COMPRESS_XPRESS |
+                                            WIM_HDR_FLAG_COMPRESS_XPRESS_2)) {
                        wim->compression_type = WIMLIB_COMPRESSION_TYPE_XPRESS;
                } else if (wim->hdr.flags & WIM_HDR_FLAG_COMPRESS_LZMS) {
                        wim->compression_type = WIMLIB_COMPRESSION_TYPE_LZMS;