wok-next annotate busybox/stuff/busybox-1.22-zmodules.u @ rev 16811

yelp-xsl: update bdeps
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Jul 10 09:29:48 2014 +0200 (2014-07-10)
parents 851490d19c0d
children f891aaa33829
rev   line source
pascal@15734 1 Add LZMA_DEFAULT_MAGIC support
pascal@15777 2 --- busybox-1.20/archival/libarchive/open_transformer.c
pascal@15734 3 +++ busybox-1.20/archival/libarchive/open_transformer.c
pascal@15743 4 @@ -132,6 +132,21 @@
pascal@15734 5 /* .gz and .bz2 both have 2-byte signature, and their
pascal@15734 6 * unpack_XXX_stream wants this header skipped. */
pascal@15734 7 xread(fd, magic.b16, sizeof(magic.b16[0]));
pascal@15734 8 +#if 1
pascal@15734 9 +// SliTaz uses .gz suffix for lzma'd kernel modules
pascal@15734 10 +#if BB_BIG_ENDIAN
pascal@15734 11 +#define LZMA_DEFAULT_MAGIC 0x5d00
pascal@15734 12 +#else
pascal@15734 13 +#define LZMA_DEFAULT_MAGIC 0x5d
pascal@15734 14 +#endif
pascal@15734 15 + if (ENABLE_FEATURE_SEAMLESS_LZMA
pascal@15734 16 + && magic.b16[0] == LZMA_DEFAULT_MAGIC
pascal@15734 17 + ) {
pascal@15734 18 + xlseek(fd, offset, SEEK_CUR);
pascal@15734 19 + open_transformer_with_sig(fd, unpack_lzma_stream, "unlzma");
pascal@15734 20 + return 0;
pascal@15734 21 + }
pascal@15734 22 +#endif
pascal@15734 23 if (ENABLE_FEATURE_SEAMLESS_GZ
pascal@15734 24 && magic.b16[0] == GZIP_MAGIC
pascal@15734 25 ) {
pascal@15777 26
pascal@15777 27 --- busybox-1.22.0/archival/libarchive/open_transformer.c
pascal@15777 28 +++ busybox-1.22.0/archival/libarchive/open_transformer.c
pascal@15777 29 @@ -205,15 +205,15 @@
pascal@15777 30 return fd;
pascal@15777 31
pascal@15777 32 sfx = strrchr(fname, '.');
pascal@15777 33 - if (sfx) {
pascal@15777 34 - sfx++;
pascal@15777 35 - if (ENABLE_FEATURE_SEAMLESS_LZMA && strcmp(sfx, "lzma") == 0)
pascal@15777 36 - /* .lzma has no header/signature, just trust it */
pascal@15777 37 - open_transformer_with_sig(fd, unpack_lzma_stream, "unlzma");
pascal@15777 38 - else
pascal@15777 39 - if ((ENABLE_FEATURE_SEAMLESS_GZ && strcmp(sfx, "gz") == 0)
pascal@15777 40 - || (ENABLE_FEATURE_SEAMLESS_BZ2 && strcmp(sfx, "bz2") == 0)
pascal@15777 41 - || (ENABLE_FEATURE_SEAMLESS_XZ && strcmp(sfx, "xz") == 0)
pascal@15777 42 + if (sfx++ && ENABLE_FEATURE_SEAMLESS_LZMA && strcmp(sfx, "lzma") == 0) {
pascal@15777 43 + /* .lzma has no header/signature, just trust it */
pascal@15777 44 + open_transformer_with_sig(fd, unpack_lzma_stream, "unlzma");
pascal@15777 45 + }
pascal@15777 46 + else {
pascal@15777 47 + if ((ENABLE_FEATURE_SEAMLESS_GZ)
pascal@15777 48 + || (ENABLE_FEATURE_SEAMLESS_BZ2)
pascal@15777 49 + || (ENABLE_FEATURE_SEAMLESS_LZMA)
pascal@15777 50 + || (ENABLE_FEATURE_SEAMLESS_XZ)
pascal@15777 51 ) {
pascal@15852 52 - setup_unzip_on_fd(fd, /*fail_if_not_detected:*/ 1);
pascal@15852 53 + setup_unzip_on_fd(fd, /*fail_if_not_detected:*/ 0);
pascal@15777 54 }
pascal@16811 55 }
pascal@16811 56