openwrt/tools/squashfskit4/patches/0020-big-endian.patch

15 lines
476 B
Diff

--- a/squashfs-tools/xz_wrapper.c
+++ b/squashfs-tools/xz_wrapper.c
@@ -192,7 +192,10 @@ static void xz_display_options(void *buf
if(size != sizeof(struct comp_opts))
goto failed;
- SQUASHFS_INSWAP_LZMA_COMP_OPTS(comp_opts);
+#if __BYTE_ORDER == __BIG_ENDIAN
+ comp_opts->dictionary_size = inswap_le32(comp_opts->dictionary_size);
+ comp_opts->flags = inswap_le32(comp_opts->flags);
+#endif
dictionary_size = comp_opts->dictionary_size;
flags = comp_opts->flags;