]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
xz: Fix xz on EBCDIC systems.
authorLasse Collin <lasse.collin@tukaani.org>
Thu, 3 Nov 2011 15:07:22 +0000 (17:07 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Thu, 3 Nov 2011 15:44:22 +0000 (17:44 +0200)
Thanks to Chris Donawa.

src/xz/coder.c

index b123ec5bf2b722c374cf98106b55dc06721ec0e9..69b1225d946d7509480652768fff5b92c137d6b5 100644 (file)
@@ -284,7 +284,10 @@ coder_set_compression_settings(void)
 static bool
 is_format_xz(void)
 {
-       return strm.avail_in >= 6 && memcmp(in_buf.u8, "\3757zXZ", 6) == 0;
+       // Specify the magic as hex to be compatible with EBCDIC systems.
+       static const uint8_t magic[6] = { 0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00 };
+       return strm.avail_in >= sizeof(magic)
+                       && memcmp(in_buf.u8, magic, sizeof(magic)) == 0;
 }