diff options
author | Karl Berry <karl@freefriends.org> | 2011-05-22 17:21:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-05-22 17:21:15 +0000 |
commit | 2cbb4825525837b568e36617fbf5b28e62cb08ac (patch) | |
tree | ead017ac2c8201cfec013bd2c2fca3d1dfc4e87b /Build/source/extra | |
parent | 5cfd5ce05eb8d9e1294d7e2e60e111d85d45e7f6 (diff) |
update to xz 5.0.3
git-svn-id: svn://tug.org/texlive/trunk@22565 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/extra')
87 files changed, 1723 insertions, 2795 deletions
diff --git a/Build/source/extra/xz/ChangeLog b/Build/source/extra/xz/ChangeLog index 590e8e91f94..8f60c9e2af0 100644 --- a/Build/source/extra/xz/ChangeLog +++ b/Build/source/extra/xz/ChangeLog @@ -1,3 +1,258 @@ +commit e32cb264ea72a4459810f30abad70dae5a4fa17d +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-05-21 16:59:22 +0300 + + Bump version and soname for 5.0.3. + + src/liblzma/Makefile.am | 2 +- + src/liblzma/api/lzma/version.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 65cff45f8fd1c250491557157cce0f5f38481082 +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-05-21 16:56:53 +0300 + + Update NEWS for 5.0.3. + + NEWS | 36 ++++++++++++++++++++++++++++++++++-- + 1 files changed, 34 insertions(+), 2 deletions(-) + +commit 316c67ffdae1f811ac95e838d5290a013bff4ca7 +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-05-21 16:28:44 +0300 + + Add French translation. + + It is known that the BCJ filter --help text is only + partially translated. + + po/LINGUAS | 1 + + po/fr.po | 864 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 865 insertions(+), 0 deletions(-) + +commit 1931175eea6d09c0845d6e8e334a7333647f11c0 +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-05-21 15:12:10 +0300 + + xz: Translate also the string used to print the program name. + + French needs a space before a colon, e.g. "xz : foo error". + + src/xz/message.c | 6 +++++- + 1 files changed, 5 insertions(+), 1 deletions(-) + +commit 841dc1f891b48b23f84c0f0e0c86c7c4e4bdcdf5 +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-05-17 12:26:28 +0300 + + Update THANKS. + + THANKS | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +commit 0f7e2d36240ebf1159d5fb85d8cd7422337a0d3f +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-05-17 12:21:33 +0300 + + Update INSTALL with a note about linker problem on OpenSolaris x86. + + INSTALL | 23 +++++++++++++++++------ + 1 files changed, 17 insertions(+), 6 deletions(-) + +commit 793d857e01e1725f16fc0c8af8172c91a9e38617 +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-05-17 12:01:37 +0300 + + Build: Fix initialization of enable_check_* variables in configure.ac. + + This doesn't matter much in practice since it is unlikely + that anyone would have such environment variable names. + + Thanks to Wim Lewis. + + configure.ac | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit afcff45cee04c5c7d9c333504046ffb63d1418b5 +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-05-17 11:54:38 +0300 + + Add underscores to attributes (__attribute((__foo__))). + + src/liblzma/common/alone_decoder.c | 2 +- + src/liblzma/common/alone_encoder.c | 2 +- + src/liblzma/common/block_encoder.c | 2 +- + src/liblzma/common/common.c | 2 +- + src/liblzma/common/common.h | 2 +- + src/liblzma/common/index_decoder.c | 9 +++++---- + src/liblzma/common/index_encoder.c | 11 ++++++----- + src/liblzma/delta/delta_encoder.c | 2 +- + src/liblzma/lz/lz_decoder.c | 2 +- + src/liblzma/lz/lz_encoder.c | 2 +- + src/liblzma/simple/arm.c | 2 +- + src/liblzma/simple/armthumb.c | 2 +- + src/liblzma/simple/ia64.c | 2 +- + src/liblzma/simple/powerpc.c | 2 +- + src/liblzma/simple/simple_coder.c | 2 +- + src/liblzma/simple/sparc.c | 2 +- + src/lzmainfo/lzmainfo.c | 4 ++-- + src/xz/coder.c | 2 +- + src/xz/hardware.h | 2 +- + src/xz/message.c | 2 +- + src/xz/message.h | 18 +++++++++--------- + src/xz/options.c | 6 +++--- + src/xz/signals.c | 2 +- + src/xz/util.h | 6 +++--- + src/xzdec/xzdec.c | 6 +++--- + 25 files changed, 49 insertions(+), 47 deletions(-) + +commit 22159c6ba2300a006f2e46ce85ae132e2d2f7d57 +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-04-18 19:35:49 +0300 + + Update THANKS. + + THANKS | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +commit 5e3499059515033d1ce44b6fb0fa49183c7ac633 +Author: Martin Väth <vaeth@mathematik.uni-wuerzburg.de> +Date: 2011-04-15 04:54:49 -0400 + + xzgrep: fix typo in $0 parsing + + Reported-by: Diego Elio Pettenò <flameeyes@gentoo.org> + Signed-off-by: Martin Väth <vaeth@mathematik.uni-wuerzburg.de> + Signed-off-by: Mike Frysinger <vapier@gentoo.org> + + src/scripts/xzgrep.in | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +commit 1125611b9b8d4a209b6a73d2c76e1b39c065972a +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-04-12 11:59:49 +0300 + + Remove doubled words from documentation and comments. + + Spot candidates by running these commands: + git ls-files |xargs perl -0777 -n \ + -e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims)' \ + -e '{$n=($` =~ tr/\n/\n/ + 1); ($v=$&)=~s/\n/\\n/g; print "$ARGV:$n:$v\n"}' + + Thanks to Jim Meyering for the original patch. + + doc/lzma-file-format.txt | 4 ++-- + src/liblzma/common/alone_encoder.c | 2 +- + src/liblzma/lzma/lzma2_encoder.c | 2 +- + src/xz/file_io.c | 2 +- + src/xz/xz.1 | 2 +- + windows/INSTALL-Windows.txt | 2 +- + 6 files changed, 7 insertions(+), 7 deletions(-) + +commit 3f8fa53837bae8b44f3addf19923e26401336c3d +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-04-11 21:04:13 +0300 + + liblzma: Document lzma_easy_(enc|dec)oder_memusage() better too. + + src/liblzma/api/lzma/container.h | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) + +commit 320d734c20d0776e3eb80f6b5984ddeb494715b5 +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-04-11 20:59:07 +0300 + + liblzma: Document lzma_raw_(enc|dec)oder_memusage() better. + + It didn't mention the return value that is used if + an error occurs. + + src/liblzma/api/lzma/filter.h | 8 ++++++-- + 1 files changed, 6 insertions(+), 2 deletions(-) + +commit 2ee4edeffc8d9734bf68230df31b20ac6a94c9b5 +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-04-11 13:59:50 +0300 + + liblzma: Don't create an empty Block in lzma_stream_buffer_encode(). + + Empty Block was created if the input buffer was empty. + Empty Block wastes a few bytes of space, but more importantly + it triggers a bug in XZ Utils 5.0.1 and older when trying + to decompress such a file. 5.0.1 and older consider such + files to be corrupt. I thought that no encoder creates empty + Blocks when releasing 5.0.2 but I was wrong. + + src/liblzma/common/stream_buffer_encoder.c | 20 +++++++++++++------- + 1 files changed, 13 insertions(+), 7 deletions(-) + +commit 73f56fb87d54091d0c4fd22d70e6f042902e3b63 +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-04-11 13:28:40 +0300 + + liblzma: Fix API docs to mention LZMA_UNSUPPORTED_CHECK. + + This return value was missing from the API comments of + four functions. + + src/liblzma/api/lzma/block.h | 1 + + src/liblzma/api/lzma/container.h | 3 +++ + 2 files changed, 4 insertions(+), 0 deletions(-) + +commit 4ce1cf97a88ae1640a380dd19cbc255d729f966b +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-04-11 13:21:28 +0300 + + liblzma: Validate encoder arguments better. + + The biggest problem was that the integrity check type + wasn't validated, and e.g. lzma_easy_buffer_encode() + would create a corrupt .xz Stream if given an unsupported + Check ID. Luckily applications don't usually try to use + an unsupport Check ID, so this bug is unlikely to cause + many real-world problems. + + src/liblzma/common/block_buffer_encoder.c | 18 ++++++++++++------ + src/liblzma/common/block_encoder.c | 5 +++++ + src/liblzma/common/stream_buffer_encoder.c | 3 +++ + 3 files changed, 20 insertions(+), 6 deletions(-) + +commit 972f05d7a4268dbe42573701f83faa45d03249eb +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-04-09 18:29:30 +0300 + + Update THANKS. + + THANKS | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +commit 28154eeaf6e3442cd1e174f4e81266d60c4dac60 +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-04-09 18:28:58 +0300 + + liblzma: Add missing #ifdefs to filter_common.c. + + Passing --disable-decoders to configure broke a few + encoders due to missing #ifdefs in filter_common.c. + + Thanks to Jason Gorski for the patch. + + src/liblzma/common/filter_common.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +commit aa95516d3d509c6b7895ee519004afcf500a0759 +Author: Lasse Collin <lasse.collin@tukaani.org> +Date: 2011-04-02 14:49:56 +0300 + + liblzma: Fix a memory leak in stream_encoder.c. + + It leaks old filter options structures (hundred bytes or so) + every time the lzma_stream is reinitialized. With the xz tool, + this happens when compressing multiple files. + + src/liblzma/common/stream_encoder.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + commit 58f52c72f49562a08042da9a2f4bbdf4dd162d0c Author: Lasse Collin <lasse.collin@tukaani.org> Date: 2011-04-01 08:47:46 +0300 diff --git a/Build/source/extra/xz/INSTALL b/Build/source/extra/xz/INSTALL index 9a3dd9ccb9a..992f9073b34 100644 --- a/Build/source/extra/xz/INSTALL +++ b/Build/source/extra/xz/INSTALL @@ -9,9 +9,10 @@ XZ Utils Installation 1.2.1. IRIX 1.2.2. MINIX 3 1.2.3. OpenVMS - 1.2.4. Tru64 - 1.2.5. Windows - 1.2.6. DOS + 1.2.4. Solaris, OpenSolaris, and derivatives + 1.2.5. Tru64 + 1.2.6. Windows + 1.2.7. DOS 1.3. Adding support for new platforms 2. configure options 2.1. Static vs. dynamic linking of liblzma @@ -100,14 +101,24 @@ XZ Utils Installation http://nchrem.tnw.tudelft.nl/openvms/software2.html#xzutils -1.2.4. Tru64 +1.2.4. Solaris, OpenSolaris, and derivatives + + The following linker error has been reported on some x86 systems: + + ld: fatal: relocation error: R_386_GOTOFF: ... + + This can be worked around by passing gl_cv_cc_visibility=no + as an argument to the configure script. + + +1.2.5. Tru64 If you try to use the native C compiler on Tru64 (passing CC=cc to configure), you may need the workaround mention in section 4.1 in this file (pass also ac_cv_prog_cc_c99= to configure). -1.2.5. Windows +1.2.6. Windows Building XZ Utils on Windows is supported under MinGW + MSYS, MinGW-w64 + MSYS, and Cygwin. There is windows/build.bash to @@ -127,7 +138,7 @@ XZ Utils Installation windows/README-Windows.txt for details. -1.2.6. DOS +1.2.7. DOS There is an experimental Makefile in the "dos" directory to build XZ Utils on DOS using DJGPP. Support for long file names (LFN) is diff --git a/Build/source/extra/xz/NEWS b/Build/source/extra/xz/NEWS index 10634f00e88..e3ea4989440 100644 --- a/Build/source/extra/xz/NEWS +++ b/Build/source/extra/xz/NEWS @@ -1,6 +1,38 @@ -XZ Utils User-Visible Changes -============================= +XZ Utils Release Notes +====================== + +5.0.3 (2011-05-21) + + * liblzma fixes: + + - A memory leak was fixed. + + - lzma_stream_buffer_encode() no longer creates an empty .xz + Block if encoding an empty buffer. Such an empty Block with + LZMA2 data would trigger a bug in 5.0.1 and older (see the + first bullet point in 5.0.2 notes). When releasing 5.0.2, + I thought that no encoder creates this kind of files but + I was wrong. + + - Validate function arguments better in a few functions. Most + importantly, specifying an unsupported integrity check to + lzma_stream_buffer_encode() no longer creates a corrupt .xz + file. Probably no application tries to do that, so this + shouldn't be a big problem in practice. + + - Document that lzma_block_buffer_encode(), + lzma_easy_buffer_encode(), lzma_stream_encoder(), and + lzma_stream_buffer_encode() may return LZMA_UNSUPPORTED_CHECK. + + - The return values of the _memusage() functions are now + documented better. + + * Fix command name detection in xzgrep. xzegrep and xzfgrep now + correctly use egrep and fgrep instead of grep. + + * French translation was added. + 5.0.2 (2011-04-01) diff --git a/Build/source/extra/xz/THANKS b/Build/source/extra/xz/THANKS index 7afe415bebf..70303e0a1be 100644 --- a/Build/source/extra/xz/THANKS +++ b/Build/source/extra/xz/THANKS @@ -12,6 +12,7 @@ has been important. :-) In alphabetical order: - Emmanuel Blot - Martin Blumenstingl - Jakub Bogusz + - Maarten Bosmans - Trent W. Buck - David Burklund - Daniel Mealha Cabrita @@ -24,6 +25,7 @@ has been important. :-) In alphabetical order: - Gilles Espinasse - Denis Excoffier - Mike Frysinger + - Jason Gorski - Juan Manuel Guerrero - Joachim Henke - Peter Ivanov @@ -36,6 +38,7 @@ has been important. :-) In alphabetical order: - Peter Lawler - Hin-Tak Leung - Andraž 'ruskie' Levstik + - Wim Lewis - Lorenzo De Liso - Gregory Margo - Jim Meyering @@ -46,6 +49,7 @@ has been important. :-) In alphabetical order: - Andre Noll - Peter O'Gorman - Igor Pavlov + - Diego Elio Pettenò - Elbert Pol - Mikko Pouru - Robert Readman @@ -58,10 +62,12 @@ has been important. :-) In alphabetical order: - Dan Shechter - Stuart Shelton - Jonathan Stott + - Dan Stromberg - Paul Townsend - Mohammed Adnène Trojette - Alexey Tourbin - Patrick J. Volkerding + - Martin Väth - Christian Weisgerber - Bert Wesarg - Ralf Wildenhues diff --git a/Build/source/extra/xz/build-aux/config.guess b/Build/source/extra/xz/build-aux/config.guess index 40eaed4821e..dc84c68ef79 100755 --- a/Build/source/extra/xz/build-aux/config.guess +++ b/Build/source/extra/xz/build-aux/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. -timestamp='2011-05-11' +timestamp='2009-11-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -56,9 +56,8 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -181,7 +180,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in fi ;; *) - os=netbsd + os=netbsd ;; esac # The OS release @@ -224,7 +223,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on @@ -270,10 +269,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; + exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead @@ -299,7 +295,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo s390-ibm-zvmoe exit ;; *:OS400:*:*) - echo powerpc-ibm-os400 + echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} @@ -398,23 +394,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; @@ -484,8 +480,8 @@ EOF echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ @@ -498,7 +494,7 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; @@ -555,7 +551,7 @@ EOF echo rs6000-ibm-aix3.2 fi exit ;; - *:AIX:*:[4567]) + *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 @@ -598,52 +594,52 @@ EOF 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac + esac ;; + esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + sed 's/^ //' << EOF >$dummy.c - #define _HPUX_SOURCE - #include <stdlib.h> - #include <unistd.h> + #define _HPUX_SOURCE + #include <stdlib.h> + #include <unistd.h> - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa @@ -734,22 +730,22 @@ EOF exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; @@ -773,14 +769,14 @@ EOF exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} @@ -808,14 +804,14 @@ EOF echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) - case ${UNAME_MACHINE} in + case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; @@ -870,7 +866,7 @@ EOF EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; - esac + esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} @@ -882,13 +878,7 @@ EOF then echo ${UNAME_MACHINE}-unknown-linux-gnu else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-gnueabi - else - echo ${UNAME_MACHINE}-unknown-linux-gnueabihf - fi + echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) @@ -901,7 +891,7 @@ EOF echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) - echo frv-unknown-linux-gnu + echo frv-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu @@ -969,7 +959,7 @@ EOF echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu @@ -977,9 +967,6 @@ EOF sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-tilera-linux-gnu - exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; @@ -987,7 +974,7 @@ EOF echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -996,11 +983,11 @@ EOF echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. + # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) @@ -1032,7 +1019,7 @@ EOF fi exit ;; i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. + # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; @@ -1060,13 +1047,13 @@ EOF exit ;; pc:*:*:*) # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp - exit ;; + exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; @@ -1101,8 +1088,8 @@ EOF /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ @@ -1145,10 +1132,10 @@ EOF echo ns32k-sni-sysv fi exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says <Richard.M.Bartel@ccMail.Census.GOV> - echo i586-unisys-sysv4 - exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says <Richard.M.Bartel@ccMail.Census.GOV> + echo i586-unisys-sysv4 + exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes <hewes@openmarket.com>. # How about differentiating between stratus architectures? -djm @@ -1174,11 +1161,11 @@ EOF exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv${UNAME_RELEASE} else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv${UNAME_RELEASE} fi - exit ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; @@ -1243,9 +1230,6 @@ EOF *:QNX:*:4*) echo i386-pc-qnx exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; @@ -1291,13 +1275,13 @@ EOF echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} + echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` + UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; @@ -1337,11 +1321,11 @@ main () #include <sys/param.h> printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 - "4" + "4" #else - "" + "" #endif - ); exit (0); + ); exit (0); #endif #endif diff --git a/Build/source/extra/xz/build-aux/config.sub b/Build/source/extra/xz/build-aux/config.sub index 30fdca81215..2a55a50751c 100755 --- a/Build/source/extra/xz/build-aux/config.sub +++ b/Build/source/extra/xz/build-aux/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. -timestamp='2011-03-23' +timestamp='2009-11-20' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -75,9 +75,8 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -124,9 +123,8 @@ esac # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os @@ -158,8 +156,8 @@ case $os in os= basic_machine=$1 ;; - -bluegene*) - os=-cnk + -bluegene*) + os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= @@ -175,10 +173,10 @@ case $os in os=-chorusos basic_machine=$1 ;; - -chorusrdb) - os=-chorusrdb + -chorusrdb) + os=-chorusrdb basic_machine=$1 - ;; + ;; -hiux*) os=-hiuxwe2 ;; @@ -283,13 +281,11 @@ case $basic_machine in | moxie \ | mt \ | msp430 \ - | nds32 | nds32le | nds32be \ | nios | nios2 \ | ns16k | ns32k \ - | open8 \ | or32 \ | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | rx \ | score \ @@ -297,24 +293,15 @@ case $basic_machine in | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ | ubicom32 \ | v850 | v850e \ | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown @@ -326,18 +313,6 @@ case $basic_machine in basic_machine=mt-unknown ;; - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. @@ -358,7 +333,7 @@ case $basic_machine in | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ @@ -392,28 +367,25 @@ case $basic_machine in | mmix-* \ | mt-* \ | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) @@ -438,7 +410,7 @@ case $basic_machine in basic_machine=a29k-amd os=-udi ;; - abacus) + abacus) basic_machine=abacus-unknown ;; adobe68k) @@ -508,20 +480,11 @@ case $basic_machine in basic_machine=powerpc-ibm os=-cnk ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; c90) basic_machine=c90-cray os=-unicos ;; - cegcc) + cegcc) basic_machine=arm-unknown os=-cegcc ;; @@ -553,7 +516,7 @@ case $basic_machine in basic_machine=craynv-cray os=-unicosmp ;; - cr16 | cr16-*) + cr16) basic_machine=cr16-unknown os=-elf ;; @@ -769,7 +732,7 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; - microblaze) + microblaze) basic_machine=microblaze-xilinx ;; mingw32) @@ -876,12 +839,6 @@ case $basic_machine in np1) basic_machine=np1-gould ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -964,10 +921,9 @@ case $basic_machine in ;; power) basic_machine=power-ibm ;; - ppc | ppcbe) basic_machine=powerpc-unknown + ppc) basic_machine=powerpc-unknown ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown @@ -1061,9 +1017,6 @@ case $basic_machine in basic_machine=i860-stratus os=-sysv4 ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; sun2) basic_machine=m68000-sun ;; @@ -1120,10 +1073,17 @@ case $basic_machine in basic_machine=t90-cray os=-unicos ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff ;; tile*) basic_machine=tile-unknown @@ -1196,9 +1156,6 @@ case $basic_machine in xps | xps100) basic_machine=xps100-honeywell ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; ymp) basic_machine=ymp-cray os=-unicos @@ -1296,11 +1253,11 @@ esac if [ x"$os" != x"" ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. + # First match some system type aliases + # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux + -auroraux) + os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` @@ -1337,8 +1294,7 @@ case $os in | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-uclibc* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ @@ -1385,7 +1341,7 @@ case $os in -opened*) os=-openedition ;; - -os400*) + -os400*) os=-os400 ;; -wince*) @@ -1434,7 +1390,7 @@ case $os in -sinix*) os=-sysv4 ;; - -tpf*) + -tpf*) os=-tpf ;; -triton*) @@ -1479,8 +1435,6 @@ case $os in -dicos*) os=-dicos ;; - -nacl*) - ;; -none) ;; *) @@ -1503,10 +1457,10 @@ else # system, and we'll never get to this point. case $basic_machine in - score-*) + score-*) os=-elf ;; - spu-*) + spu-*) os=-elf ;; *-acorn) @@ -1518,17 +1472,8 @@ case $basic_machine in arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff + c4x-* | tic4x-*) + os=-coff ;; # This must come before the *-dec entry. pdp10-*) @@ -1555,7 +1500,7 @@ case $basic_machine in m68*-cisco) os=-aout ;; - mep-*) + mep-*) os=-elf ;; mips*-cisco) @@ -1582,7 +1527,7 @@ case $basic_machine in *-ibm) os=-aix ;; - *-knuth) + *-knuth) os=-mmixware ;; *-wec) diff --git a/Build/source/extra/xz/build-aux/depcomp b/Build/source/extra/xz/build-aux/depcomp index 9825d56d746..df8eea7e4ce 100755 --- a/Build/source/extra/xz/build-aux/depcomp +++ b/Build/source/extra/xz/build-aux/depcomp @@ -1,10 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2011-04-16.09; # UTC +scriptversion=2009-04-28.21; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free +# Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -90,18 +90,10 @@ if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' + cygpath_u="sed s,\\\\\\\\,/,g" depmode=msvisualcpp fi -if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 -fi - case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what @@ -166,12 +158,10 @@ gcc) ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as -## well. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. +## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -415,52 +405,6 @@ tru64) rm -f "$tmpdepfile" ;; -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test "$stat" = 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/ \1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/ / - G - p -}' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. @@ -559,9 +503,7 @@ makedepend) touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation diff --git a/Build/source/extra/xz/configure b/Build/source/extra/xz/configure index 5f58bd9ec68..4e339db47ef 100755 --- a/Build/source/extra/xz/configure +++ b/Build/source/extra/xz/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for XZ Utils 5.0.2. +# Generated by GNU Autoconf 2.68 for XZ Utils 5.0.3. # # Report bugs to <lasse.collin@tukaani.org>. # @@ -570,8 +570,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='XZ Utils' PACKAGE_TARNAME='xz' -PACKAGE_VERSION='5.0.2' -PACKAGE_STRING='XZ Utils 5.0.2' +PACKAGE_VERSION='5.0.3' +PACKAGE_STRING='XZ Utils 5.0.3' PACKAGE_BUGREPORT='lasse.collin@tukaani.org' PACKAGE_URL='http://tukaani.org/xz/' @@ -1445,7 +1445,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures XZ Utils 5.0.2 to adapt to many kinds of systems. +\`configure' configures XZ Utils 5.0.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1515,7 +1515,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of XZ Utils 5.0.2:";; + short | recursive ) echo "Configuration of XZ Utils 5.0.3:";; esac cat <<\_ACEOF @@ -1668,7 +1668,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -XZ Utils configure 5.0.2 +XZ Utils configure 5.0.3 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2499,7 +2499,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by XZ Utils $as_me 5.0.2, which was +It was created by XZ Utils $as_me 5.0.3, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -3636,15 +3636,9 @@ fi -enable_check_lzma1=no -enable_check_lzma2=no -enable_check_delta=no -enable_check_x86=no -enable_check_powerpc=no -enable_check_ia64=no -enable_check_arm=no -enable_check_armthumb=no -enable_check_sparc=no +enable_check_crc32=no +enable_check_crc64=no +enable_check_sha256=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking which integrity checks to build" >&5 $as_echo_n "checking which integrity checks to build... " >&6; } @@ -4471,7 +4465,7 @@ fi # Define the identity of the package. PACKAGE='xz' - VERSION='5.0.2' + VERSION='5.0.3' cat >>confdefs.h <<_ACEOF @@ -18355,7 +18349,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by XZ Utils $as_me 5.0.2, which was +This file was extended by XZ Utils $as_me 5.0.3, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18422,7 +18416,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -XZ Utils config.status 5.0.2 +XZ Utils config.status 5.0.3 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff --git a/Build/source/extra/xz/configure.ac b/Build/source/extra/xz/configure.ac index 35720fef5ce..39fd0ef4cf7 100644 --- a/Build/source/extra/xz/configure.ac +++ b/Build/source/extra/xz/configure.ac @@ -229,7 +229,7 @@ fi m4_define([SUPPORTED_CHECKS], [crc32,crc64,sha256]) -m4_foreach([NAME], [SUPPORTED_FILTERS], +m4_foreach([NAME], [SUPPORTED_CHECKS], [enable_check_[]NAME=no ])dnl diff --git a/Build/source/extra/xz/doc/lzma-file-format.txt b/Build/source/extra/xz/doc/lzma-file-format.txt index 21fcb19fdcd..015b0fae628 100644 --- a/Build/source/extra/xz/doc/lzma-file-format.txt +++ b/Build/source/extra/xz/doc/lzma-file-format.txt @@ -40,7 +40,7 @@ The .lzma File Format 0.2. Changes - Last modified: 2009-05-01 11:15+0300 + Last modified: 2011-04-12 11:55+0300 1. File Format @@ -161,6 +161,6 @@ The .lzma File Format XZ Utils - The next generation of LZMA Utils http://tukaani.org/xz/ - The .xz file format - The successor of the the .lzma format + The .xz file format - The successor of the .lzma format http://tukaani.org/xz/xz-file-format.txt diff --git a/Build/source/extra/xz/doc/man/pdf-a4/lzmainfo-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/lzmainfo-a4.pdf Binary files differindex c2880f37901..f45bf74e3f8 100644 --- a/Build/source/extra/xz/doc/man/pdf-a4/lzmainfo-a4.pdf +++ b/Build/source/extra/xz/doc/man/pdf-a4/lzmainfo-a4.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-a4/xz-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/xz-a4.pdf Binary files differindex f57b03cbf8a..7b5f468d32b 100644 --- a/Build/source/extra/xz/doc/man/pdf-a4/xz-a4.pdf +++ b/Build/source/extra/xz/doc/man/pdf-a4/xz-a4.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-a4/xzdec-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/xzdec-a4.pdf Binary files differindex 5ce079b3ce1..1798c1e2707 100644 --- a/Build/source/extra/xz/doc/man/pdf-a4/xzdec-a4.pdf +++ b/Build/source/extra/xz/doc/man/pdf-a4/xzdec-a4.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-a4/xzdiff-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/xzdiff-a4.pdf Binary files differindex 5c4558a3ed1..a295a47c528 100644 --- a/Build/source/extra/xz/doc/man/pdf-a4/xzdiff-a4.pdf +++ b/Build/source/extra/xz/doc/man/pdf-a4/xzdiff-a4.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-a4/xzgrep-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/xzgrep-a4.pdf Binary files differindex 0fcf79c0586..8bff7e901cc 100644 --- a/Build/source/extra/xz/doc/man/pdf-a4/xzgrep-a4.pdf +++ b/Build/source/extra/xz/doc/man/pdf-a4/xzgrep-a4.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-a4/xzless-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/xzless-a4.pdf Binary files differindex 1df408e71f1..e2754dd9d58 100644 --- a/Build/source/extra/xz/doc/man/pdf-a4/xzless-a4.pdf +++ b/Build/source/extra/xz/doc/man/pdf-a4/xzless-a4.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-a4/xzmore-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/xzmore-a4.pdf Binary files differindex 2655bdf7073..f2983858763 100644 --- a/Build/source/extra/xz/doc/man/pdf-a4/xzmore-a4.pdf +++ b/Build/source/extra/xz/doc/man/pdf-a4/xzmore-a4.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-letter/lzmainfo-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/lzmainfo-letter.pdf Binary files differindex bde50e13a29..bbfd3f57629 100644 --- a/Build/source/extra/xz/doc/man/pdf-letter/lzmainfo-letter.pdf +++ b/Build/source/extra/xz/doc/man/pdf-letter/lzmainfo-letter.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-letter/xz-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/xz-letter.pdf Binary files differindex 3c5fd40503e..6dc6df6f9ed 100644 --- a/Build/source/extra/xz/doc/man/pdf-letter/xz-letter.pdf +++ b/Build/source/extra/xz/doc/man/pdf-letter/xz-letter.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-letter/xzdec-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/xzdec-letter.pdf Binary files differindex d2cc85daa1d..860e03942eb 100644 --- a/Build/source/extra/xz/doc/man/pdf-letter/xzdec-letter.pdf +++ b/Build/source/extra/xz/doc/man/pdf-letter/xzdec-letter.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-letter/xzdiff-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/xzdiff-letter.pdf Binary files differindex 9f3011b9a5e..b4d95e8d967 100644 --- a/Build/source/extra/xz/doc/man/pdf-letter/xzdiff-letter.pdf +++ b/Build/source/extra/xz/doc/man/pdf-letter/xzdiff-letter.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-letter/xzgrep-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/xzgrep-letter.pdf Binary files differindex 5d976c12e78..cb39bce16a1 100644 --- a/Build/source/extra/xz/doc/man/pdf-letter/xzgrep-letter.pdf +++ b/Build/source/extra/xz/doc/man/pdf-letter/xzgrep-letter.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-letter/xzless-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/xzless-letter.pdf Binary files differindex da7e166bda2..1fde528f774 100644 --- a/Build/source/extra/xz/doc/man/pdf-letter/xzless-letter.pdf +++ b/Build/source/extra/xz/doc/man/pdf-letter/xzless-letter.pdf diff --git a/Build/source/extra/xz/doc/man/pdf-letter/xzmore-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/xzmore-letter.pdf Binary files differindex 720fc299a61..04a78175388 100644 --- a/Build/source/extra/xz/doc/man/pdf-letter/xzmore-letter.pdf +++ b/Build/source/extra/xz/doc/man/pdf-letter/xzmore-letter.pdf diff --git a/Build/source/extra/xz/doc/man/txt/xz.txt b/Build/source/extra/xz/doc/man/txt/xz.txt index bb5ffcf0473..e1518496dff 100644 --- a/Build/source/extra/xz/doc/man/txt/xz.txt +++ b/Build/source/extra/xz/doc/man/txt/xz.txt @@ -466,10 +466,10 @@ OPTIONS --no-adjust Display an error and exit if the compression settings exceed the - the memory usage limit. The default is to adjust the settings - downwards so that the memory usage limit is not exceeded. Auto- - matic adjusting is always disabled when creating raw streams - (--format=raw). + memory usage limit. The default is to adjust the settings down- + wards so that the memory usage limit is not exceeded. Automatic + adjusting is always disabled when creating raw streams (--for- + mat=raw). -T threads, --threads=threads Specify the number of worker threads to use. The actual number diff --git a/Build/source/extra/xz/po/LINGUAS b/Build/source/extra/xz/po/LINGUAS index 0f24f8e3c6a..6babcabd7d4 100644 --- a/Build/source/extra/xz/po/LINGUAS +++ b/Build/source/extra/xz/po/LINGUAS @@ -1,4 +1,5 @@ cs de +fr it pl diff --git a/Build/source/extra/xz/po/cs.gmo b/Build/source/extra/xz/po/cs.gmo Binary files differindex e97b00bf28c..e29106f4fe2 100644 --- a/Build/source/extra/xz/po/cs.gmo +++ b/Build/source/extra/xz/po/cs.gmo diff --git a/Build/source/extra/xz/po/cs.po b/Build/source/extra/xz/po/cs.po index 28292a1d257..02dc87ee64f 100644 --- a/Build/source/extra/xz/po/cs.po +++ b/Build/source/extra/xz/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: xz-utils\n" "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2011-04-01 08:48+0300\n" +"POT-Creation-Date: 2011-05-21 16:30+0300\n" "PO-Revision-Date: 2010-12-03 11:32+0100\n" "Last-Translator: Marek Černocký <marek@manet.cz>\n" "Language-Team: Czech <diskuze@lists.l10n.cz>\n" @@ -408,58 +408,67 @@ msgstr "Komprimace a dekomprimace s přepínačem --robot není zatím podporova msgid "Cannot read data from standard input when reading filenames from standard input" msgstr "Ze standardního vstupu nelze číst data, když se ze standardního vstupu načítají názvy souborů" -#: src/xz/message.c:792 src/xz/message.c:842 +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c:733 +#, c-format +msgid "%s: " +msgstr "" + +#: src/xz/message.c:796 src/xz/message.c:846 msgid "Internal error (bug)" msgstr "Interní chyba" -#: src/xz/message.c:799 +#: src/xz/message.c:803 msgid "Cannot establish signal handlers" msgstr "Nelze ustanovit ovladač signálu" -#: src/xz/message.c:808 +#: src/xz/message.c:812 msgid "No integrity check; not verifying file integrity" msgstr "Žádná kontrola integrity; integrita souboru se nebude ověřovat" -#: src/xz/message.c:811 +#: src/xz/message.c:815 msgid "Unsupported type of integrity check; not verifying file integrity" msgstr "Nepodporovaný typ kontroly integrity; integrita souboru se nebude ověřovat" -#: src/xz/message.c:818 +#: src/xz/message.c:822 msgid "Memory usage limit reached" msgstr "Dosaženo omezení použitelné paměti" -#: src/xz/message.c:821 +#: src/xz/message.c:825 msgid "File format not recognized" msgstr "Formát souboru nebyl rozpoznán" -#: src/xz/message.c:824 +#: src/xz/message.c:828 msgid "Unsupported options" msgstr "Nepodporovaná volba" -#: src/xz/message.c:827 +#: src/xz/message.c:831 msgid "Compressed data is corrupt" msgstr "Komprimovaná data jsou poškozená" -#: src/xz/message.c:830 +#: src/xz/message.c:834 msgid "Unexpected end of input" msgstr "Neočekávaný konec vstupu" -#: src/xz/message.c:881 +#: src/xz/message.c:885 #, c-format msgid "%s MiB of memory is required. The limit is %s." msgstr "Je vyžadováno %s MiB paměti. Limit je %s." -#: src/xz/message.c:1048 +#: src/xz/message.c:1052 #, c-format msgid "%s: Filter chain: %s\n" msgstr "%s: Omezující filtr: %s\n" -#: src/xz/message.c:1058 +#: src/xz/message.c:1062 #, c-format msgid "Try `%s --help' for more information." msgstr "Zkuste „%s --help“ pro více informací" -#: src/xz/message.c:1084 +#: src/xz/message.c:1088 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" @@ -470,15 +479,15 @@ msgstr "" "Komprimuje nebo dekomprimuje SOUBORy ve formátu xz.\n" "\n" -#: src/xz/message.c:1091 +#: src/xz/message.c:1095 msgid "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "Povinné argumenty pro dlouhé přepínače jsou povinné rovněž pro krátké přepínače.\n" -#: src/xz/message.c:1095 +#: src/xz/message.c:1099 msgid " Operation mode:\n" msgstr "Operační režim:\n" -#: src/xz/message.c:1098 +#: src/xz/message.c:1102 msgid "" " -z, --compress force compression\n" " -d, --decompress force decompression\n" @@ -490,7 +499,7 @@ msgstr "" " -t, --test testovat integritu komprimovaného souboru\n" " -l, --list vypsat informace o souborech .xz" -#: src/xz/message.c:1104 +#: src/xz/message.c:1108 msgid "" "\n" " Operation modifiers:\n" @@ -498,7 +507,7 @@ msgstr "" "\n" "Modifikátory operací:\n" -#: src/xz/message.c:1107 +#: src/xz/message.c:1111 msgid "" " -k, --keep keep (don't delete) input files\n" " -f, --force force overwrite of output file and (de)compress links\n" @@ -508,7 +517,7 @@ msgstr "" " -f, --force vynutit přepis výstupního souboru a de/komprimovat odkazy\n" " -c, --stdout zapisovat na standardní výstup a nemazat vstupní soubory" -#: src/xz/message.c:1113 +#: src/xz/message.c:1117 msgid "" " --no-sparse do not create sparse files when decompressing\n" " -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" @@ -524,7 +533,7 @@ msgstr "" " názvy souborů musí být zakončeny znakem nového řádku\n" " --files0[=SOUBOR] stejné jako --files, ale použít k zakončování nulový znak" -#: src/xz/message.c:1121 +#: src/xz/message.c:1125 msgid "" "\n" " Basic file format and compression options:\n" @@ -532,7 +541,7 @@ msgstr "" "\n" "Základní přepínače pro formát souboru a komprimaci:\n" -#: src/xz/message.c:1123 +#: src/xz/message.c:1127 msgid "" " -F, --format=FMT file format to encode or decode; possible values are\n" " `auto' (default), `xz', `lzma', and `raw'\n" @@ -544,7 +553,7 @@ msgstr "" " -C, --check=KONTROLA typ kontroly integrity: „none“ (používejte s rozmyslem),\n" " „crc32“, „crc64“ (výchozí) nebo „sha256“" -#: src/xz/message.c:1130 +#: src/xz/message.c:1134 msgid "" " -0 ... -9 compression preset; default is 6; take compressor *and*\n" " decompressor memory usage into account before using 7-9!" @@ -552,7 +561,7 @@ msgstr "" " -0 .. -9 přednastavení komprimace; výchozí je 6; než použijete\n" " hodnoty 7 – 9, vezměte do úvahy množství použité paměti" -#: src/xz/message.c:1134 +#: src/xz/message.c:1138 msgid "" " -e, --extreme try to improve compression ratio by using more CPU time;\n" " does not affect decompressor memory requirements" @@ -560,7 +569,7 @@ msgstr "" " -e, --extreme zkusit zlepšit poměr komprimace využitím více času\n" " procesoru; nemá vliv na paměťové nároky dekomprimace" -#: src/xz/message.c:1139 +#: src/xz/message.c:1143 #, no-c-format msgid "" " --memlimit-compress=LIMIT\n" @@ -576,7 +585,7 @@ msgstr "" " dekomprimaci nebo obojí; LIMIT je v bajtech, % z paměti\n" " RAM nebo 0 pro výchozí" -#: src/xz/message.c:1146 +#: src/xz/message.c:1150 msgid "" " --no-adjust if compression settings exceed the memory usage limit,\n" " give an error instead of adjusting the settings downwards" @@ -584,7 +593,7 @@ msgstr "" " --no-adjust pokud nastavení komprimace přesáhne omezení použitelné\n" " paměti, předat chybu namísto snížení nastavení" -#: src/xz/message.c:1152 +#: src/xz/message.c:1156 msgid "" "\n" " Custom filter chain for compression (alternative for using presets):" @@ -592,7 +601,7 @@ msgstr "" "\n" "Vlastní omezující filtr pro komprimaci (alternativa k použití přednastavených):" -#: src/xz/message.c:1161 +#: src/xz/message.c:1165 msgid "" "\n" " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" @@ -621,7 +630,7 @@ msgstr "" " depth=POČ maximální hloubka prohledávání;\n" " 0 = automaticky (výchozí)" -#: src/xz/message.c:1176 +#: src/xz/message.c:1180 msgid "" "\n" " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" @@ -643,7 +652,7 @@ msgstr "" " Platné volby pro všechny filtry BCJ:\n" " start=POČ počáteční posun pro převody (výchozí=0)" -#: src/xz/message.c:1188 +#: src/xz/message.c:1192 msgid "" "\n" " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" @@ -655,7 +664,7 @@ msgstr "" " dist=POČ vzdálenost mezi bajty, které jsou odečítány\n" " jeden od druhého (1 – 256; 1)" -#: src/xz/message.c:1196 +#: src/xz/message.c:1200 msgid "" "\n" " Other options:\n" @@ -663,7 +672,7 @@ msgstr "" "\n" " Ostatní přepínače:\n" -#: src/xz/message.c:1199 +#: src/xz/message.c:1203 msgid "" " -q, --quiet suppress warnings; specify twice to suppress errors too\n" " -v, --verbose be verbose; specify twice for even more verbose" @@ -672,17 +681,17 @@ msgstr "" " -v, --verbose podrobnější zprávy; zadáním dvakrát, budou ještě\n" " podrobnější" -#: src/xz/message.c:1204 +#: src/xz/message.c:1208 msgid " -Q, --no-warn make warnings not affect the exit status" msgstr " -Q, --no-warn způsobí, že varování neovlivní stav ukončení" -#: src/xz/message.c:1206 +#: src/xz/message.c:1210 msgid " --robot use machine-parsable messages (useful for scripts)" msgstr "" " --robot použít strojově analyzovatelné zprávy (užitečné pro\n" " skripty)" -#: src/xz/message.c:1209 +#: src/xz/message.c:1213 msgid "" " --info-memory display the total amount of RAM and the currently active\n" " memory usage limits, and exit" @@ -690,7 +699,7 @@ msgstr "" " --info-memory zobrazit celkové množství paměti RAM a současné aktivní\n" " omezení použitelné paměti a skončit" -#: src/xz/message.c:1212 +#: src/xz/message.c:1216 msgid "" " -h, --help display the short help (lists only the basic options)\n" " -H, --long-help display this long help and exit" @@ -698,7 +707,7 @@ msgstr "" " -h, --help zobrazit krátkou nápovědu (vypíše jen základní přepínače)\n" " -H, --long-help zobrazit tuto úplnou nápovědu a skončit" -#: src/xz/message.c:1216 +#: src/xz/message.c:1220 msgid "" " -h, --help display this short help and exit\n" " -H, --long-help display the long help (lists also the advanced options)" @@ -706,11 +715,11 @@ msgstr "" " -h, --help zobrazit tuto zkrácenou nápovědu a skončit\n" " -H, --long-help zobrazit úplnou nápovědu (vypíše i pokročilé přepínače)" -#: src/xz/message.c:1221 +#: src/xz/message.c:1225 msgid " -V, --version display the version number and exit" msgstr " -V, --version zobrazit číslo verze a skončit" -#: src/xz/message.c:1223 +#: src/xz/message.c:1227 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" @@ -722,12 +731,12 @@ msgstr "" #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the email or WWW #. address for translation bugs. Thanks. -#: src/xz/message.c:1229 +#: src/xz/message.c:1233 #, c-format msgid "Report bugs to <%s> (in English or Finnish).\n" msgstr "Chyby hlaste na <%s> (v angličtině nebo finštině).\n" -#: src/xz/message.c:1231 +#: src/xz/message.c:1235 #, c-format msgid "%s home page: <%s>\n" msgstr "Domovská stránka %s: <%s>\n" diff --git a/Build/source/extra/xz/po/de.gmo b/Build/source/extra/xz/po/de.gmo Binary files differindex 64518da644b..50e41afce95 100644 --- a/Build/source/extra/xz/po/de.gmo +++ b/Build/source/extra/xz/po/de.gmo diff --git a/Build/source/extra/xz/po/de.po b/Build/source/extra/xz/po/de.po index a39903dc6fb..03612d11747 100644 --- a/Build/source/extra/xz/po/de.po +++ b/Build/source/extra/xz/po/de.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: XZ Utils 4.999.9beta\n" "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2011-04-01 08:48+0300\n" +"POT-Creation-Date: 2011-05-21 16:30+0300\n" "PO-Revision-Date: 2010-09-07 20:27+0200\n" "Last-Translator: <maan@systemlinux.org>\n" "Language-Team: German\n" @@ -405,58 +405,67 @@ msgstr "Kompression und Dekompression mit --robot ist noch nicht unterstützt." msgid "Cannot read data from standard input when reading filenames from standard input" msgstr "Lesen der Standardeingabe ist nicht möglich, wenn die Dateinamen auch von der Standardeingabe gelesen werden" -#: src/xz/message.c:792 src/xz/message.c:842 +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c:733 +#, c-format +msgid "%s: " +msgstr "" + +#: src/xz/message.c:796 src/xz/message.c:846 msgid "Internal error (bug)" msgstr "Interner Fehler (Bug)" -#: src/xz/message.c:799 +#: src/xz/message.c:803 msgid "Cannot establish signal handlers" msgstr "Kann Signal Routine nicht setzen" -#: src/xz/message.c:808 +#: src/xz/message.c:812 msgid "No integrity check; not verifying file integrity" msgstr "Kein Integritäts-Check; werde Datei-Integrität nicht überprüfen" -#: src/xz/message.c:811 +#: src/xz/message.c:815 msgid "Unsupported type of integrity check; not verifying file integrity" msgstr "Typ des Integritäts-Checks nicht unterstützt; werde Datei-Integrität nicht überprüfen" -#: src/xz/message.c:818 +#: src/xz/message.c:822 msgid "Memory usage limit reached" msgstr "Speicher-Limit erreicht" -#: src/xz/message.c:821 +#: src/xz/message.c:825 msgid "File format not recognized" msgstr "Datei Format nicht erkannt" -#: src/xz/message.c:824 +#: src/xz/message.c:828 msgid "Unsupported options" msgstr "Optionen nicht unterstützt" -#: src/xz/message.c:827 +#: src/xz/message.c:831 msgid "Compressed data is corrupt" msgstr "Komprimierte Daten sind korrupt" -#: src/xz/message.c:830 +#: src/xz/message.c:834 msgid "Unexpected end of input" msgstr "Unerwartetes Eingabe Ende" -#: src/xz/message.c:881 +#: src/xz/message.c:885 #, c-format msgid "%s MiB of memory is required. The limit is %s." msgstr "%s MiB Speicher wird benötigt. Limit ist %s." -#: src/xz/message.c:1048 +#: src/xz/message.c:1052 #, c-format msgid "%s: Filter chain: %s\n" msgstr "%s: Filter Kette: %s\n" -#: src/xz/message.c:1058 +#: src/xz/message.c:1062 #, c-format msgid "Try `%s --help' for more information." msgstr "Versuchen Sie `%s --help' für mehr Informationen." -#: src/xz/message.c:1084 +#: src/xz/message.c:1088 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" @@ -467,17 +476,17 @@ msgstr "" "Komprimiert oder dekomprimiert .xz DATEI(EN).\n" "\n" -#: src/xz/message.c:1091 +#: src/xz/message.c:1095 msgid "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Obligatorische Argumente für lange Optionen sind auch für kurze Optionen\n" "zwingend.\n" -#: src/xz/message.c:1095 +#: src/xz/message.c:1099 msgid " Operation mode:\n" msgstr " Operationsmodus:\n" -#: src/xz/message.c:1098 +#: src/xz/message.c:1102 msgid "" " -z, --compress force compression\n" " -d, --decompress force decompression\n" @@ -489,7 +498,7 @@ msgstr "" " -t, --test überprüfe Datei Integrität\n" " -l, --list liste Datei Informationen" -#: src/xz/message.c:1104 +#: src/xz/message.c:1108 msgid "" "\n" " Operation modifiers:\n" @@ -497,7 +506,7 @@ msgstr "" "\n" " Operationsmodifikatoren:\n" -#: src/xz/message.c:1107 +#: src/xz/message.c:1111 msgid "" " -k, --keep keep (don't delete) input files\n" " -f, --force force overwrite of output file and (de)compress links\n" @@ -509,7 +518,7 @@ msgstr "" " -c, --stdout schreibe nach Standard Output und lösche nicht die\n" " Eingabedateien" -#: src/xz/message.c:1113 +#: src/xz/message.c:1117 msgid "" " --no-sparse do not create sparse files when decompressing\n" " -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" @@ -526,7 +535,7 @@ msgstr "" " einem Zeilenumbruch voneinander getrennt werden\n" " --files0=[DATEI] wie --files, aber benutze den Null Charakter als Trenner" -#: src/xz/message.c:1121 +#: src/xz/message.c:1125 msgid "" "\n" " Basic file format and compression options:\n" @@ -534,7 +543,7 @@ msgstr "" "\n" " Grundlegende Optionen für Dateiformat und Kompression:\n" -#: src/xz/message.c:1123 +#: src/xz/message.c:1127 msgid "" " -F, --format=FMT file format to encode or decode; possible values are\n" " `auto' (default), `xz', `lzma', and `raw'\n" @@ -547,7 +556,7 @@ msgstr "" " -C, --check=CHECK Typ des Integritätschecks: `none' (Vorsicht), `crc32',\n" " `crc64' (Voreinstellung), oder `sha256'" -#: src/xz/message.c:1130 +#: src/xz/message.c:1134 msgid "" " -0 ... -9 compression preset; default is 6; take compressor *and*\n" " decompressor memory usage into account before using 7-9!" @@ -556,7 +565,7 @@ msgstr "" " Sie den Speicherverbrauch des Komprimieres *und* des\n" " Dekomprimierers, wenn Sie 7-9 benutzen!" -#: src/xz/message.c:1134 +#: src/xz/message.c:1138 msgid "" " -e, --extreme try to improve compression ratio by using more CPU time;\n" " does not affect decompressor memory requirements" @@ -565,7 +574,7 @@ msgstr "" " verhältnis zu verbessern. Das beeinflusst nicht den\n" " Speicherbedarf des Dekomprimierers." -#: src/xz/message.c:1139 +#: src/xz/message.c:1143 #, no-c-format msgid "" " --memlimit-compress=LIMIT\n" @@ -580,7 +589,7 @@ msgstr "" " Dekompression, oder beides; LIMIT ist in bytes, % RAM,\n" " oder 0 für Grundeinstellungen." -#: src/xz/message.c:1146 +#: src/xz/message.c:1150 msgid "" " --no-adjust if compression settings exceed the memory usage limit,\n" " give an error instead of adjusting the settings downwards" @@ -589,7 +598,7 @@ msgstr "" " Nutzungslimit übersteigen, erzeuge einen Fehler statt\n" " die Einstellungen nach unten anzupassen." -#: src/xz/message.c:1152 +#: src/xz/message.c:1156 msgid "" "\n" " Custom filter chain for compression (alternative for using presets):" @@ -597,7 +606,7 @@ msgstr "" "\n" " User-definierte Filter Kette für Kompression (alternativ zu Voreinstellung):" -#: src/xz/message.c:1161 +#: src/xz/message.c:1165 msgid "" "\n" " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" @@ -630,7 +639,7 @@ msgstr "" " depth=NUM Maximale Suchtiefe; 0=automatisch\n" " (Voreinstellung)" -#: src/xz/message.c:1176 +#: src/xz/message.c:1180 msgid "" "\n" " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" @@ -653,7 +662,7 @@ msgstr "" " start=NUM Start-Offset für Konversion\n" " (Voreinstellung=0)" -#: src/xz/message.c:1188 +#: src/xz/message.c:1192 msgid "" "\n" " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" @@ -666,7 +675,7 @@ msgstr "" " dist=NUM Abstand zwischen den Bytes, die voneinander\n" " subtrahiert werden (1-256; 1)" -#: src/xz/message.c:1196 +#: src/xz/message.c:1200 msgid "" "\n" " Other options:\n" @@ -674,7 +683,7 @@ msgstr "" "\n" " Andere Optionen:\n" -#: src/xz/message.c:1199 +#: src/xz/message.c:1203 msgid "" " -q, --quiet suppress warnings; specify twice to suppress errors too\n" " -v, --verbose be verbose; specify twice for even more verbose" @@ -684,23 +693,23 @@ msgstr "" " -v, --verbose sei gesprächig; benutze diese Option zweimal um noch\n" " gesprächiger zu sein" -#: src/xz/message.c:1204 +#: src/xz/message.c:1208 msgid " -Q, --no-warn make warnings not affect the exit status" msgstr " -Q, --no-warn Warnungen verändern nicht den exit status" -#: src/xz/message.c:1206 +#: src/xz/message.c:1210 msgid " --robot use machine-parsable messages (useful for scripts)" msgstr "" " --robot benutze Maschinen-lesbare Meldungen (nützlich für\n" " Skripte)" -#: src/xz/message.c:1209 +#: src/xz/message.c:1213 msgid "" " --info-memory display the total amount of RAM and the currently active\n" " memory usage limits, and exit" msgstr " --info-memory zeige Speicherlimit an und terminiere" -#: src/xz/message.c:1212 +#: src/xz/message.c:1216 msgid "" " -h, --help display the short help (lists only the basic options)\n" " -H, --long-help display this long help and exit" @@ -709,7 +718,7 @@ msgstr "" " Optionen)\n" " -H, --long-help zeige diese lange Hilfe an und terminiere" -#: src/xz/message.c:1216 +#: src/xz/message.c:1220 msgid "" " -h, --help display this short help and exit\n" " -H, --long-help display the long help (lists also the advanced options)" @@ -718,11 +727,11 @@ msgstr "" " -H, --long-help zeige die lange Hilfe an (zeigt auch fortgeschrittene\n" " Optionen an)" -#: src/xz/message.c:1221 +#: src/xz/message.c:1225 msgid " -V, --version display the version number and exit" msgstr " -V, --version zeige Versionsnummer an und terminiere" -#: src/xz/message.c:1223 +#: src/xz/message.c:1227 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" @@ -735,14 +744,14 @@ msgstr "" #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the email or WWW #. address for translation bugs. Thanks. -#: src/xz/message.c:1229 +#: src/xz/message.c:1233 #, c-format msgid "Report bugs to <%s> (in English or Finnish).\n" msgstr "" "Melde Bugs an <%s> (in englisch oder finnisch).\n" "Melde Übersetzungsfehler an <maan@systemlinux.org> (in englisch oder deutsch).\n" -#: src/xz/message.c:1231 +#: src/xz/message.c:1235 #, c-format msgid "%s home page: <%s>\n" msgstr "%s Homepage: <%s>\n" diff --git a/Build/source/extra/xz/po/fr.gmo b/Build/source/extra/xz/po/fr.gmo Binary files differnew file mode 100644 index 00000000000..ec98241d254 --- /dev/null +++ b/Build/source/extra/xz/po/fr.gmo diff --git a/Build/source/extra/xz/po/fr.po b/Build/source/extra/xz/po/fr.po new file mode 100644 index 00000000000..ec0ba3526a4 --- /dev/null +++ b/Build/source/extra/xz/po/fr.po @@ -0,0 +1,858 @@ +# XZ Utils French Translation +# This file is put in the public domain. +# Adrien Nader <camaradetux@gmail.com>, 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: xz-utils\n" +"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" +"POT-Creation-Date: 2011-05-21 16:30+0300\n" +"PO-Revision-Date: 2010-09-24 21;12+0200\n" +"Last-Translator: Adrien Nader <camaradetux@gmail.com>\n" +"Language-Team: None\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n" + +#: src/xz/args.c:333 +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s : Format de fichier inconnu" + +#: src/xz/args.c:356 src/xz/args.c:364 +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s : Type de vérification d'intégrité inconnu" + +#: src/xz/args.c:382 +msgid "Only one file can be specified with `--files' or `--files0'." +msgstr "Un seul fichier peut être spécifié avec `--files' ou `--files0'." + +#: src/xz/args.c:445 +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "La variable d'environnement %s contient trop d'arguments" + +#: src/xz/coder.c:95 +msgid "Maximum number of filters is four" +msgstr "Le nombre maximal de filtres est quatre" + +#: src/xz/coder.c:108 +msgid "Memory usage limit is too low for the given filter setup." +msgstr "La limite d'utilisation mémoire est trop basse pour la configuration de filtres donnée." + +#: src/xz/coder.c:129 +msgid "Using a preset in raw mode is discouraged." +msgstr "Utiliser un préréglage en mode `raw' est déconseillé." + +#: src/xz/coder.c:131 +msgid "The exact options of the presets may vary between software versions." +msgstr "Le détail des préréglages peut varier entre différentes versions du logiciel." + +#: src/xz/coder.c:157 +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Le format .lzma ne prend en charge que le filtre LZMA1" + +#: src/xz/coder.c:165 +msgid "LZMA1 cannot be used with the .xz format" +msgstr "Le filtre LZMA1 ne peut être utilisé avec le format .xz" + +#: src/xz/coder.c:182 +msgid "Unsupported filter chain or filter options" +msgstr "Enchaînement ou options de filtres non pris en charge" + +#: src/xz/coder.c:190 +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "La décompression nécessitera %s MiB de mémoire." + +#: src/xz/coder.c:247 +#, c-format +msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Taille du dictionnaire LZMA%c réduite de %s MiB à %s MiB pour ne pas dépasser la limite d'utilisation mémoire de %s MiB" + +#. TRANSLATORS: When compression or decompression finishes, +#. and xz is going to remove the source file, xz first checks +#. if the source file still exists, and if it does, does its +#. device and inode numbers match what xz saw when it opened +#. the source file. If these checks fail, this message is +#. shown, %s being the filename, and the file is not deleted. +#. The check for device and inode numbers is there, because +#. it is possible that the user has put a new file in place +#. of the original file, and in that case it obviously +#. shouldn't be removed. +#: src/xz/file_io.c:137 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s : Le fichier a apparemment été déplacé, suppression annulée" + +#: src/xz/file_io.c:144 src/xz/file_io.c:589 +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s : Impossible de supprimer : %s" + +#: src/xz/file_io.c:169 +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s : Impossible de modifier le propriétaire du fichier : %s" + +#: src/xz/file_io.c:175 +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s : Impossible de modifier le groupe propriétaire du fichier : %s" + +#: src/xz/file_io.c:194 +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s : Impossible de modifier les permissions du fichier : %s" + +#: src/xz/file_io.c:337 src/xz/file_io.c:420 +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s est un lien symbolique : ignoré" + +#: src/xz/file_io.c:455 +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s est un répertoire : ignoré" + +#: src/xz/file_io.c:461 +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s n'est pas un fichier régulier : ignoré" + +#: src/xz/file_io.c:478 +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s : Le fichier possède les bits `setuid' ou `setgid' : ignoré" + +#: src/xz/file_io.c:485 +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s : Le fichier possède le bit `sticky' : ignoré" + +#: src/xz/file_io.c:492 +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s : Le fichier d'entrée a plus d'un lien matériel : ignoré" + +#: src/xz/file_io.c:713 +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Impossible de rétablir le drapeau O_APPEND sur la sortie standard : %s" + +#: src/xz/file_io.c:725 +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s : Impossible de fermer le fichier : %s" + +#: src/xz/file_io.c:761 src/xz/file_io.c:945 +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s : Impossible de se déplacer dans le fichier pour créer un 'sparse file' : %s" + +#: src/xz/file_io.c:820 +#, c-format +msgid "%s: Read error: %s" +msgstr "%s : Erreur d'écriture : %s" + +#: src/xz/file_io.c:843 +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s : Impossible de se déplacer dans le fichier : %s" + +#: src/xz/file_io.c:853 +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s : Fin de fichier inattendue" + +#: src/xz/file_io.c:903 +#, c-format +msgid "%s: Write error: %s" +msgstr "%s : Erreur d'écriture : %s" + +#: src/xz/hardware.c:100 +msgid "Disabled" +msgstr "Désactivé" + +#. TRANSLATORS: Test with "xz --info-memory" to see if +#. the alignment looks nice. +#: src/xz/hardware.c:119 +msgid "Total amount of physical memory (RAM): " +msgstr "Quantité totale de mémoire physique (RAM) : " + +#: src/xz/hardware.c:121 +msgid "Memory usage limit for compression: " +msgstr "Limite d'utilisation pour la compression : " + +#: src/xz/hardware.c:123 +msgid "Memory usage limit for decompression: " +msgstr "Limite d'utilisation pour la décompression : " + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables, so the width must not +#. exceed ten columns with a fixed-width font. +#: src/xz/list.c:62 +msgid "None" +msgstr "Aucune" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). This and other "Unknown-N" +#. strings are used in tables, so the width must not exceed ten +#. columns with a fixed-width font. It's OK to omit the dash if +#. you need space for one extra letter, but don't use spaces. +#: src/xz/list.c:69 +msgid "Unknown-2" +msgstr "Inconnue-2" + +#: src/xz/list.c:70 +msgid "Unknown-3" +msgstr "Inconnue-3" + +#: src/xz/list.c:72 +msgid "Unknown-5" +msgstr "Inconnue-5" + +#: src/xz/list.c:73 +msgid "Unknown-6" +msgstr "Inconnue-6" + +#: src/xz/list.c:74 +msgid "Unknown-7" +msgstr "Inconnue-7" + +#: src/xz/list.c:75 +msgid "Unknown-8" +msgstr "Inconnue-8" + +#: src/xz/list.c:76 +msgid "Unknown-9" +msgstr "Inconnue-9" + +#: src/xz/list.c:78 +msgid "Unknown-11" +msgstr "Inconnue-11" + +#: src/xz/list.c:79 +msgid "Unknown-12" +msgstr "Inconnue-12" + +#: src/xz/list.c:80 +msgid "Unknown-13" +msgstr "Inconnue-13" + +#: src/xz/list.c:81 +msgid "Unknown-14" +msgstr "Inconnue-14" + +#: src/xz/list.c:82 +msgid "Unknown-15" +msgstr "Inconnue-15" + +#: src/xz/list.c:126 +#, c-format +msgid "%s: File is empty" +msgstr "%s : Le fichier est vide" + +#: src/xz/list.c:131 +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s : Trop petit pour être un fichier xz valide." + +#. TRANSLATORS: These are column headings. From Strms (Streams) +#. to Ratio, the columns are right aligned. Check and Filename +#. are left aligned. If you need longer words, it's OK to +#. use two lines here. Test with "xz -l foo.xz". +#: src/xz/list.c:612 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Flux Blocs Compressé Décompressé Ratio Vérif Nom de fichier" + +#: src/xz/list.c:652 +#, c-format +msgid " Streams: %s\n" +msgstr " Flux : %s\n" + +#: src/xz/list.c:654 +#, c-format +msgid " Blocks: %s\n" +msgstr " Blocs : %s\n" + +#: src/xz/list.c:656 +#, c-format +msgid " Compressed size: %s\n" +msgstr " Taille compressé : %s\n" + +#: src/xz/list.c:659 +#, c-format +msgid " Uncompressed size: %s\n" +msgstr " Taille décompressé : %s\n" + +#: src/xz/list.c:662 +#, c-format +msgid " Ratio: %s\n" +msgstr " Ratio : %s\n" + +#: src/xz/list.c:664 +#, c-format +msgid " Check: %s\n" +msgstr " Vérification : %s\n" + +#: src/xz/list.c:665 +#, c-format +msgid " Stream padding: %s\n" +msgstr " Octets de rembourrage du flux : %s\n" + +#. TRANSLATORS: The second line is column headings. All except +#. Check are right aligned; Check is left aligned. Test with +#. "xz -lv foo.xz". +#: src/xz/list.c:693 +msgid "" +" Streams:\n" +" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" +msgstr "" +" Flux :\n" +" Flux Blocs PositionComp PositionDécomp TailleComp TailleDécomp Ratio Vérif. Bourrage" + +#. TRANSLATORS: The second line is column headings. All +#. except Check are right aligned; Check is left aligned. +#: src/xz/list.c:748 +#, c-format +msgid "" +" Blocks:\n" +" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" +msgstr "" +" Blocs :\n" +" Flux Bloc PositionComp PositionDécomp TailleTot TailleDécomp Ratio Vérif." + +#. TRANSLATORS: These are additional column headings +#. for the most verbose listing mode. CheckVal +#. (Check value), Flags, and Filters are left aligned. +#. Header (Block Header Size), CompSize, and MemUsage +#. are right aligned. %*s is replaced with 0-120 +#. spaces to make the CheckVal column wide enough. +#. Test with "xz -lvv foo.xz". +#: src/xz/list.c:760 +#, c-format +msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" +msgstr " ValVérif %*sEn-tête Drapeaux TailleComp UtilMém Filtres" + +#: src/xz/list.c:838 src/xz/list.c:1007 +#, c-format +msgid " Memory needed: %s MiB\n" +msgstr " Mémoire nécessaire : %s MiB\n" + +#: src/xz/list.c:840 src/xz/list.c:1009 +#, c-format +msgid " Sizes in headers: %s\n" +msgstr " Tailles stockées dans l'en-tête : %s\n" + +#: src/xz/list.c:841 src/xz/list.c:1010 +msgid "Yes" +msgstr "Oui" + +#: src/xz/list.c:841 src/xz/list.c:1010 +msgid "No" +msgstr "Non" + +#. TRANSLATORS: %s is an integer. Only the plural form of this +#. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz". +#: src/xz/list.c:986 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s fichier\n" +msgstr[1] "%s fichiers\n" + +#: src/xz/list.c:999 +msgid "Totals:" +msgstr "Totaux :" + +#: src/xz/list.c:1000 +#, c-format +msgid " Number of files: %s\n" +msgstr " Nombre de fichiers : %s\n" + +#: src/xz/list.c:1072 +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list ne marche que sur les fichiers .xz (--format=xz ou --format=auto)" + +#: src/xz/list.c:1078 +msgid "--list does not support reading from standard input" +msgstr "--list est incompatible avec la lecture sur l'entrée standard" + +#: src/xz/main.c:89 +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s : Erreur lors de la lecture des noms de fichiers : %s" + +#: src/xz/main.c:96 +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s : Fin des données inattendue lors de la lecture des noms de fichiers" + +#: src/xz/main.c:120 +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?" +msgstr "%s : Caractère NULL détecté lors de la lecture des noms de fichiers ; peut-être pensiez-vous à `--files0' plutot qu'a `--files' ?" + +#: src/xz/main.c:174 +msgid "Compression and decompression with --robot are not supported yet." +msgstr "La compression et la décompression ne marchent pas encore avec --robot." + +#: src/xz/main.c:231 +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Impossible de lire à la fois les données et les noms de fichiers depuis l'entrée standard" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c:733 +#, c-format +msgid "%s: " +msgstr "%s : " + +#: src/xz/message.c:796 src/xz/message.c:846 +msgid "Internal error (bug)" +msgstr "Erreur interne (bug)" + +#: src/xz/message.c:803 +msgid "Cannot establish signal handlers" +msgstr "Impossible d'installer le gestionnaire de signaux" + +#: src/xz/message.c:812 +msgid "No integrity check; not verifying file integrity" +msgstr "Pas de données de vérification d'intégrité ; vérification non effectuée" + +#: src/xz/message.c:815 +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Méthode de vérification d'intégrité non prise en charge ; vérification non effectuée" + +#: src/xz/message.c:822 +msgid "Memory usage limit reached" +msgstr "Limite d'utilisation mémoire atteinte" + +#: src/xz/message.c:825 +msgid "File format not recognized" +msgstr "Format de fichier inconnu" + +#: src/xz/message.c:828 +msgid "Unsupported options" +msgstr "Options non prises en charge" + +#: src/xz/message.c:831 +msgid "Compressed data is corrupt" +msgstr "Les données compressées sont corrompues" + +#: src/xz/message.c:834 +msgid "Unexpected end of input" +msgstr "Fin des données inattendue " + +#: src/xz/message.c:885 +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB de mémoire sont nécessaires, la limite étant %s." + +#: src/xz/message.c:1052 +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s : Enchaînement de filtres : %s\n" + +#: src/xz/message.c:1062 +#, c-format +msgid "Try `%s --help' for more information." +msgstr "Utilisez `%s --help' pour plus d'informations." + +#: src/xz/message.c:1088 +#, c-format +msgid "" +"Usage: %s [OPTION]... [FILE]...\n" +"Compress or decompress FILEs in the .xz format.\n" +"\n" +msgstr "" +"Utilisation : %s [OPTION]... [FICHIER]...\n" +"Compresse ou decompresse FICHIER(s) au format .xz.\n" +"\n" + +#: src/xz/message.c:1095 +msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "" +"Les arguments obligatoires pour les options longues le sont aussi pour les\n" +"options courtes.\n" + +#: src/xz/message.c:1099 +msgid " Operation mode:\n" +msgstr " Mode d'opération :\n" + +#: src/xz/message.c:1102 +msgid "" +" -z, --compress force compression\n" +" -d, --decompress force decompression\n" +" -t, --test test compressed file integrity\n" +" -l, --list list information about .xz files" +msgstr "" +" -z, --compress forcer la compression\n" +" -d, --decompress forcer la décompression\n" +" -t, --test tester l'intégrité du fichier compressé\n" +" -l, --list lister les informations à propos des fichiers .xz" + +#: src/xz/message.c:1108 +msgid "" +"\n" +" Operation modifiers:\n" +msgstr "" +"\n" +" Modifictauers :\n" + +#: src/xz/message.c:1111 +msgid "" +" -k, --keep keep (don't delete) input files\n" +" -f, --force force overwrite of output file and (de)compress links\n" +" -c, --stdout write to standard output and don't delete input files" +msgstr "" +" -k, --keep ne pas supprimer les fichiers d'entrée (\"keep\")\n" +" -f, --force forcer l'écrasement du fichier de sortie et\n" +" (dé)compresser les liens\n" +" -c, --stdout écrire sur la sortie standard et ne pas supprimer les\n" +" fichiers d'entrée" + +#: src/xz/message.c:1117 +msgid "" +" --no-sparse do not create sparse files when decompressing\n" +" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" +" --files[=FILE] read filenames to process from FILE; if FILE is\n" +" omitted, filenames are read from the standard input;\n" +" filenames must be terminated with the newline character\n" +" --files0[=FILE] like --files but use the null character as terminator" +msgstr "" +" --no-sparse ne pas créer de 'sparse file' lors de la décompression\n" +" -S, --suffix=.SUF utiliser le suffixe `.SUF' pour les fichiers compressés\n" +" --files[=FILE] lire les fichiers sur lesquels opérer depuis FILE ; si\n" +" FILE est omis, ceux-ci sont lus depuis l'entrée standard\n" +" et doivent être suivis d'un caractère de retour à la ligne\n" +" --files0[=FILE] comme --files mais avec un caractère null comme séparateur" + +#: src/xz/message.c:1125 +msgid "" +"\n" +" Basic file format and compression options:\n" +msgstr "" +"\n" +" Options basiques de format de fichier et de compression :\n" + +#: src/xz/message.c:1127 +msgid "" +" -F, --format=FMT file format to encode or decode; possible values are\n" +" `auto' (default), `xz', `lzma', and `raw'\n" +" -C, --check=CHECK integrity check type: `none' (use with caution),\n" +" `crc32', `crc64' (default), or `sha256'" +msgstr "" +" -F, --format=FMT format de fichier à encoder ou décoder ; les possibilités\n" +" sont : `auto' (par défaut), `xz', `lzma' et `raw'\n" +" -C, --check=CHECK type de vérification d'intégrité : `none' (à utiliser avec\n" +" précaution), `crc32', `crc64' (par défaut) ou `sha256'" + +#: src/xz/message.c:1134 +msgid "" +" -0 ... -9 compression preset; default is 6; take compressor *and*\n" +" decompressor memory usage into account before using 7-9!" +msgstr "" +" -0 ... -9 préréglage de compression ; 6 par défaut ; pensez à\n" +" l'utilisation mémoire du compresseur *et* du décompresseur\n" +" avant d'utiliser 7, 8 ou 9 !" + +#: src/xz/message.c:1138 +msgid "" +" -e, --extreme try to improve compression ratio by using more CPU time;\n" +" does not affect decompressor memory requirements" +msgstr "" +" -e, --extreme essayer d'améliorer la compression en utilisant davantage\n" +" de temps processeur sans affecter les besoins mémoire du\n" +" décompresseur" + +#: src/xz/message.c:1143 +#, no-c-format +msgid "" +" --memlimit-compress=LIMIT\n" +" --memlimit-decompress=LIMIT\n" +" -M, --memlimit=LIMIT\n" +" set memory usage limit for compression, decompression,\n" +" or both; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "" +" --memlimit-compress=LIMIT\n" +" --memlimit-decompress=LIMIT\n" +" -M, --memlimit=LIMIT\n" +" règle la limite d'utilisation mémoire pour la compression,\n" +" décompression ou les deux ; LIMIT est en octets, % de\n" +" RAM, ou 0 pour les valeurs par défaut" + +#: src/xz/message.c:1150 +msgid "" +" --no-adjust if compression settings exceed the memory usage limit,\n" +" give an error instead of adjusting the settings downwards" +msgstr "" +" --no-adjust si les réglages de compression dépassent la limite\n" +" d'utilisation mémoire, renvoyer une erreur plutôt que de\n" +" diminuer les réglages" + +#: src/xz/message.c:1156 +msgid "" +"\n" +" Custom filter chain for compression (alternative for using presets):" +msgstr "" +"\n" +" Enchaînement de filtres de compression personnalisé (au lieu des préréglages) :" + +#: src/xz/message.c:1165 +msgid "" +"\n" +" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" +" --lzma2[=OPTS] more of the following options (valid values; default):\n" +" preset=PRE reset options to a preset (0-9[e])\n" +" dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" +" lc=NUM number of literal context bits (0-4; 3)\n" +" lp=NUM number of literal position bits (0-4; 0)\n" +" pb=NUM number of position bits (0-4; 2)\n" +" mode=MODE compression mode (fast, normal; normal)\n" +" nice=NUM nice length of a match (2-273; 64)\n" +" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" +" depth=NUM maximum search depth; 0=automatic (default)" +msgstr "" +"\n" +" --lzma1[=OPTS] LZMA1 ou LZMA2 ; OPTS est une liste de zéro ou plusieurs\n" +" --lzma2[=OPTS] options parmi les suivantes (vals. valides ; par défaut) :\n" +" preset=PRE remettre les options à un préréglage (0-9[e])\n" +" dict=NUM taille dictionnaire (4KiB - 1536MiB ; 8MiB)\n" +" lc=NUM nombre de 'literal context bits' (0-4 ; 3)\n" +" lp=NUM nombre de 'literal position bits' (0-4 ; 0)\n" +" pb=NUM nombre de 'position bits' (0-4 ; 2)\n" +" mode=MODE mode de compression (fast, normal ; normal)\n" +" nice=NUM nice length of a match (2-273; 64)\n" +" mf=NAME 'match finder' (hc3, hc4, bt2, bt3, bt4; bt4)\n" +" depth=NUM profondeur de recherche maximale ;\n" +" 0=automatique (par défaut)" + +#: src/xz/message.c:1180 +msgid "" +"\n" +" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" +" --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" +" --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" +" --arm[=OPTS] ARM BCJ filter (little endian only)\n" +" --armthumb[=OPTS] ARM-Thumb BCJ filter (little endian only)\n" +" --sparc[=OPTS] SPARC BCJ filter\n" +" Valid OPTS for all BCJ filters:\n" +" start=NUM start offset for conversions (default=0)" +msgstr "" +"\n" +" --x86[=OPTS] filtre BCJ x86 (32-bit et 64-bit)\n" +" --powerpc[=OPTS] filtre BCJ PowerPC ('big endian' uniquement)\n" +" --ia64[=OPTS] filtre BCJ IA-64 (Itanium)\n" +" --arm[=OPTS] filtre BCJ ARM ('little endian' uniquement)\n" +" --armthumb[=OPTS] filtre BCJ ARM-Thumb ('little endian' uniquement)\n" +" --sparc[=OPTS] filtre BCJ SPARC\n" +" OPTS valides pour tous les filtres BCJ :\n" +" start=NUM start offset for conversions (default=0)" + +#: src/xz/message.c:1192 +msgid "" +"\n" +" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" +" dist=NUM distance between bytes being subtracted\n" +" from each other (1-256; 1)" +msgstr "" +"\n" +" --delta[=OPTS] Filtre delta ; OPTS valides (vals. valides ; par défaut) :\n" +" dist=NUM distance entre les octets soustraits\n" +" les uns aux autres (1-256 ; 1)" + +#: src/xz/message.c:1200 +msgid "" +"\n" +" Other options:\n" +msgstr "" +"\n" +" Autres options :\n" + +#: src/xz/message.c:1203 +msgid "" +" -q, --quiet suppress warnings; specify twice to suppress errors too\n" +" -v, --verbose be verbose; specify twice for even more verbose" +msgstr "" +" -q, --quiet supprimer les avertissemnts ; spécifier deux fois pour\n" +" aussi supprimer les erreur\n" +" -v, --verbose être bavard ; spécifier deux fois pour l'être davantage" + +#: src/xz/message.c:1208 +msgid " -Q, --no-warn make warnings not affect the exit status" +msgstr " -Q, --no-warn les avertissements ne modifient pas le code de sortie" + +#: src/xz/message.c:1210 +msgid " --robot use machine-parsable messages (useful for scripts)" +msgstr "" +" --robot utiliser des messages lisibles par un programme\n" +" (utile pour les scripts)" + +#: src/xz/message.c:1213 +msgid "" +" --info-memory display the total amount of RAM and the currently active\n" +" memory usage limits, and exit" +msgstr "" +" --info-memory affiche la quantité totale de RAM et la limite actuelle\n" +" en mémoire puis quitte" + +#: src/xz/message.c:1216 +msgid "" +" -h, --help display the short help (lists only the basic options)\n" +" -H, --long-help display this long help and exit" +msgstr "" +" -h, --help affiche l'aide courte (ne liste que les options de base)\n" +" -H, --long-help affiche l'aide longue (ceci) puis quitte" + +#: src/xz/message.c:1220 +msgid "" +" -h, --help display this short help and exit\n" +" -H, --long-help display the long help (lists also the advanced options)" +msgstr "" +" -h, --help affiche l'aide courte (ceci) puis quitte\n" +" -H, --long-help affiche l'aide longue (liste aussi les options avancées)" + +#: src/xz/message.c:1225 +msgid " -V, --version display the version number and exit" +msgstr " -V, --version affiche le numéro de version puis quitte" + +#: src/xz/message.c:1227 +msgid "" +"\n" +"With no FILE, or when FILE is -, read standard input.\n" +msgstr "" +"\n" +"Sans FILE ou quand FILE est -, lire l'entrée standard.\n" + +#. TRANSLATORS: This message indicates the bug reporting address +#. for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the email or WWW +#. address for translation bugs. Thanks. +#: src/xz/message.c:1233 +#, c-format +msgid "Report bugs to <%s> (in English or Finnish).\n" +msgstr "" +"Signaler les bogues à <%s> (en anglais ou en finlandais).\n" +"Signaler les bogues de traduction à <camaradetux@gmail.com>.\n" + +#: src/xz/message.c:1235 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s page du projet : <%s>\n" + +#: src/xz/options.c:86 +#, c-format +msgid "%s: Options must be `name=value' pairs separated with commas" +msgstr "%s: Les options doivent être des paires `nom=valeur' séparées par des virgules" + +#: src/xz/options.c:93 +#, c-format +msgid "%s: Invalid option name" +msgstr "%s : Nom d'option invalide" + +#: src/xz/options.c:113 +#, c-format +msgid "%s: Invalid option value" +msgstr "%s : Valeur d'option invalide" + +#: src/xz/options.c:247 +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Préréglage LZMA1/LZMA2 non pris en charge : %s" + +#: src/xz/options.c:355 +msgid "The sum of lc and lp must not exceed 4" +msgstr "La somme de lc et lp ne doit pas dépasser 4" + +#: src/xz/options.c:359 +#, c-format +msgid "The selected match finder requires at least nice=%<PRIu32>" +msgstr "Le `match finder' choisi nécessite au moins nice=%<PRIu32>" + +#: src/xz/suffix.c:101 src/xz/suffix.c:194 +#, c-format +msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "%s : Avec --format=raw, --suffix=.SUF est nécessaire sauf lors de l'écriture vers stdout" + +#: src/xz/suffix.c:121 +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s : Le fichier a un suffixe inconnu, ignoré" + +#: src/xz/suffix.c:175 src/xz/suffix.c:184 +#, c-format +msgid "%s: File already has `%s' suffix, skipping" +msgstr "%s : Le fichier a déjà le suffixe '%s', ignoré" + +#: src/xz/suffix.c:235 +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Suffixe de nom de fichier invalide" + +#: src/xz/util.c:61 +#, c-format +msgid "%s: Value is not a non-negative decimal integer" +msgstr "%s : La valeur n'est pas un entier décimal non négatif" + +#: src/xz/util.c:103 +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s : Suffixe multiplicateur invalide" + +#: src/xz/util.c:105 +msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)." +msgstr "Les suffixes valides sont 'KiB' (2^10), 'MiB' (2^20) et 'GiB' (2^30)." + +#: src/xz/util.c:122 +#, c-format +msgid "Value of the option `%s' must be in the range [%<PRIu64>, %<PRIu64>]" +msgstr "La valeur de l'option '%s' doit être inclue entre %<PRIu64> et %<PRIu64>" + +#: src/xz/util.c:247 +msgid "Empty filename, skipping" +msgstr "Nom de fichier vide, ignoré" + +#: src/xz/util.c:261 +msgid "Compressed data cannot be read from a terminal" +msgstr "Les données compressées ne peuvent pas être lues depuis un terminal" + +#: src/xz/util.c:274 +msgid "Compressed data cannot be written to a terminal" +msgstr "Les données compressées ne peuvent pas être écrites dans un terminal" + +#: src/common/tuklib_exit.c:39 +msgid "Writing to standard output failed" +msgstr "Impossible d'écrire vers la sortie standard" + +#: src/common/tuklib_exit.c:42 +msgid "Unknown error" +msgstr "Erreur inconnue" + +#~ msgid "Using up to %<PRIu32> threads." +#~ msgstr "Jusqu'à %<PRIu32> threads seront utilisés." + +#~ msgid "Adjusted the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +#~ msgstr "Nombre de threads réduit de %s à %s pour ne pas dépasser la limite d'utilisation mémoire de %s MiB" + +#~ msgid "" +#~ " --single-stream decompress only the first stream, and silently\n" +#~ " ignore possible remaining input data" +#~ msgstr "" +#~ " --single-stream décompresser uniquement le premier flux et ignorer\n" +#~ " silenciseusement les données éventuellement restantes" + +#~ msgid "" +#~ " --block-size=SIZE\n" +#~ " when compressing to the .xz format, start a new block\n" +#~ " after every SIZE bytes of input; 0=disabled (default)" +#~ msgstr "" +#~ " --block-size=SIZE\n" +#~ " pour une compression au format .xz, entamer un nouveau\n" +#~ " bloc après SIZE octets d'entrée ; 0=désactivé (par défaut)" diff --git a/Build/source/extra/xz/po/it.gmo b/Build/source/extra/xz/po/it.gmo Binary files differindex b9e7431e49e..648932f0eb2 100644 --- a/Build/source/extra/xz/po/it.gmo +++ b/Build/source/extra/xz/po/it.gmo diff --git a/Build/source/extra/xz/po/it.po b/Build/source/extra/xz/po/it.po index c99a4dd5926..754a9602647 100644 --- a/Build/source/extra/xz/po/it.po +++ b/Build/source/extra/xz/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: xz-utils\n" "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2011-04-01 08:48+0300\n" +"POT-Creation-Date: 2011-05-21 16:30+0300\n" "PO-Revision-Date: 2010-09-16 21:32+0200\n" "Last-Translator: Milo Casagrande <milo@ubuntu.com>\n" "Language-Team: Italian <tp@lists.linux.it>\n" @@ -408,58 +408,67 @@ msgstr "La compressione e l'estrazione con --robot non sono ancora supportate." msgid "Cannot read data from standard input when reading filenames from standard input" msgstr "Impossibile leggere i dati dallo standard input durante la lettura dei nomi dei file dallo standard input" -#: src/xz/message.c:792 src/xz/message.c:842 +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c:733 +#, c-format +msgid "%s: " +msgstr "" + +#: src/xz/message.c:796 src/xz/message.c:846 msgid "Internal error (bug)" msgstr "Errore interno (bug)" -#: src/xz/message.c:799 +#: src/xz/message.c:803 msgid "Cannot establish signal handlers" msgstr "Impossibile stabilire i gestori dei segnali" -#: src/xz/message.c:808 +#: src/xz/message.c:812 msgid "No integrity check; not verifying file integrity" msgstr "Nessun controllo d'integrità; l'integrità del file non viene verificata" -#: src/xz/message.c:811 +#: src/xz/message.c:815 msgid "Unsupported type of integrity check; not verifying file integrity" msgstr "Tipo di controllo di integrità non supportato; l'integrità del file non viene verificata" -#: src/xz/message.c:818 +#: src/xz/message.c:822 msgid "Memory usage limit reached" msgstr "Limite di utilizzo della memoria raggiunto" -#: src/xz/message.c:821 +#: src/xz/message.c:825 msgid "File format not recognized" msgstr "Formato di file non riconosciuto" -#: src/xz/message.c:824 +#: src/xz/message.c:828 msgid "Unsupported options" msgstr "Opzioni non supportate" -#: src/xz/message.c:827 +#: src/xz/message.c:831 msgid "Compressed data is corrupt" msgstr "I dati compressi sono danneggiati" -#: src/xz/message.c:830 +#: src/xz/message.c:834 msgid "Unexpected end of input" msgstr "Fine dell'input non attesa" -#: src/xz/message.c:881 +#: src/xz/message.c:885 #, c-format msgid "%s MiB of memory is required. The limit is %s." msgstr "%s MiB di memoria sono richiesti. Il limite è %s." -#: src/xz/message.c:1048 +#: src/xz/message.c:1052 #, c-format msgid "%s: Filter chain: %s\n" msgstr "%s: catena di filtri: %s\n" -#: src/xz/message.c:1058 +#: src/xz/message.c:1062 #, c-format msgid "Try `%s --help' for more information." msgstr "Provare \"%s --help\" per maggiori informazioni." -#: src/xz/message.c:1084 +#: src/xz/message.c:1088 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" @@ -470,15 +479,15 @@ msgstr "" "Comprime o estrae i FILE nel formato .xz.\n" "\n" -#: src/xz/message.c:1091 +#: src/xz/message.c:1095 msgid "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle brevi.\n" -#: src/xz/message.c:1095 +#: src/xz/message.c:1099 msgid " Operation mode:\n" msgstr " Modalità di operazione:\n" -#: src/xz/message.c:1098 +#: src/xz/message.c:1102 msgid "" " -z, --compress force compression\n" " -d, --decompress force decompression\n" @@ -490,7 +499,7 @@ msgstr "" " -t, --test Verifica l'integrità dei file compressi\n" " -l, --list Elenca informazioni sui file .xz" -#: src/xz/message.c:1104 +#: src/xz/message.c:1108 msgid "" "\n" " Operation modifiers:\n" @@ -498,7 +507,7 @@ msgstr "" "\n" " Modificatori di operazioni:\n" -#: src/xz/message.c:1107 +#: src/xz/message.c:1111 msgid "" " -k, --keep keep (don't delete) input files\n" " -f, --force force overwrite of output file and (de)compress links\n" @@ -509,7 +518,7 @@ msgstr "" " collegamenti\n" " -c, --stdout Scrive sullo standard output e non elimina i file di input" -#: src/xz/message.c:1113 +#: src/xz/message.c:1117 msgid "" " --no-sparse do not create sparse files when decompressing\n" " -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" @@ -526,7 +535,7 @@ msgstr "" " di newline\n" " --files0=[FILE] Come --files ma usa il carattere null come terminatore" -#: src/xz/message.c:1121 +#: src/xz/message.c:1125 msgid "" "\n" " Basic file format and compression options:\n" @@ -534,7 +543,7 @@ msgstr "" "\n" " Formato file di base e opzioni di compressione:\n" -#: src/xz/message.c:1123 +#: src/xz/message.c:1127 msgid "" " -F, --format=FMT file format to encode or decode; possible values are\n" " `auto' (default), `xz', `lzma', and `raw'\n" @@ -546,7 +555,7 @@ msgstr "" " -C, --check=CHECK Tipo di verifica integrità: \"none\" (usare con attenzione),\n" " \"crc32\", \"crc64\" (predefinito) o \"sha256\"" -#: src/xz/message.c:1130 +#: src/xz/message.c:1134 msgid "" " -0 ... -9 compression preset; default is 6; take compressor *and*\n" " decompressor memory usage into account before using 7-9!" @@ -555,7 +564,7 @@ msgstr "" " l'utilizzo di memoria per comprimere ed estrarre prima\n" " di usare 7-9" -#: src/xz/message.c:1134 +#: src/xz/message.c:1138 msgid "" " -e, --extreme try to improve compression ratio by using more CPU time;\n" " does not affect decompressor memory requirements" @@ -564,7 +573,7 @@ msgstr "" " utilizzando più tempo di CPU; non cambia i requisiti di\n" " memoria in fase di estrazione" -#: src/xz/message.c:1139 +#: src/xz/message.c:1143 #, no-c-format msgid "" " --memlimit-compress=LIMIT\n" @@ -580,7 +589,7 @@ msgstr "" " compressione, l'estrazione o entrambe; LIMIT è in byte,\n" " % della memoria RAM oppure 0 per il valore predefinito" -#: src/xz/message.c:1146 +#: src/xz/message.c:1150 msgid "" " --no-adjust if compression settings exceed the memory usage limit,\n" " give an error instead of adjusting the settings downwards" @@ -589,7 +598,7 @@ msgstr "" " utilizzo della memoria, lancia un errore invece di\n" " utilizzare valori più piccoli" -#: src/xz/message.c:1152 +#: src/xz/message.c:1156 msgid "" "\n" " Custom filter chain for compression (alternative for using presets):" @@ -598,7 +607,7 @@ msgstr "" " Catena di filtri personalizzati per la compressione (alternative per\n" " l'utilizzo di preset):" -#: src/xz/message.c:1161 +#: src/xz/message.c:1165 msgid "" "\n" " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" @@ -631,7 +640,7 @@ msgstr "" " depth=NUM Profondità massima di ricerca; 0=automatica\n" " (predefinito)" -#: src/xz/message.c:1176 +#: src/xz/message.c:1180 msgid "" "\n" " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" @@ -654,7 +663,7 @@ msgstr "" " start=NUM Offset iniziale per le conversioni\n" " (predefinito=0)" -#: src/xz/message.c:1188 +#: src/xz/message.c:1192 msgid "" "\n" " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" @@ -666,7 +675,7 @@ msgstr "" " dist=NUM Distanza tra byte sottratti\n" " gli uni dagli altri (1-256; 1)" -#: src/xz/message.c:1196 +#: src/xz/message.c:1200 msgid "" "\n" " Other options:\n" @@ -674,7 +683,7 @@ msgstr "" "\n" " Altre opzioni:\n" -#: src/xz/message.c:1199 +#: src/xz/message.c:1203 msgid "" " -q, --quiet suppress warnings; specify twice to suppress errors too\n" " -v, --verbose be verbose; specify twice for even more verbose" @@ -684,15 +693,15 @@ msgstr "" " -v, --verbose Output prolisso; specificare due volte per output ancora\n" " più prolisso" -#: src/xz/message.c:1204 +#: src/xz/message.c:1208 msgid " -Q, --no-warn make warnings not affect the exit status" msgstr " -Q, --no-warn Gli avvisi non influenzano lo stato d'uscita" -#: src/xz/message.c:1206 +#: src/xz/message.c:1210 msgid " --robot use machine-parsable messages (useful for scripts)" msgstr " --robot Usa messaggi analizzabili (utile per gli script)" -#: src/xz/message.c:1209 +#: src/xz/message.c:1213 msgid "" " --info-memory display the total amount of RAM and the currently active\n" " memory usage limits, and exit" @@ -700,7 +709,7 @@ msgstr "" " --info-memory Visualizza la quantità totale di RAM, il limite attuale\n" " attivo di utilizzo della memore ed esce" -#: src/xz/message.c:1212 +#: src/xz/message.c:1216 msgid "" " -h, --help display the short help (lists only the basic options)\n" " -H, --long-help display this long help and exit" @@ -708,7 +717,7 @@ msgstr "" " -h, --help Stampa l'aiuto breve (elenca solo le opzioni di base)\n" " -H, --long-help Stampa questo lungo aiuto ed esce" -#: src/xz/message.c:1216 +#: src/xz/message.c:1220 msgid "" " -h, --help display this short help and exit\n" " -H, --long-help display the long help (lists also the advanced options)" @@ -716,11 +725,11 @@ msgstr "" " -h, --help Stampa questo breve aiuto ed esce\n" " -H, --long-help Stampa l'aiuto lungo (elenca anche le opzioni avanzate)" -#: src/xz/message.c:1221 +#: src/xz/message.c:1225 msgid " -V, --version display the version number and exit" msgstr " -V, --version Stampa il numero della versione ed esce" -#: src/xz/message.c:1223 +#: src/xz/message.c:1227 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" @@ -732,14 +741,14 @@ msgstr "" #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the email or WWW #. address for translation bugs. Thanks. -#: src/xz/message.c:1229 +#: src/xz/message.c:1233 #, c-format msgid "Report bugs to <%s> (in English or Finnish).\n" msgstr "" "Segnalare i bug a <%s> (in inglese o finlandese).\n" "Segnalare i bug di traduzione a <tp@lists.linux.it>.\n" -#: src/xz/message.c:1231 +#: src/xz/message.c:1235 #, c-format msgid "%s home page: <%s>\n" msgstr "Sito web di %s: <%s>\n" diff --git a/Build/source/extra/xz/po/pl.gmo b/Build/source/extra/xz/po/pl.gmo Binary files differindex b060d2c41b9..81eb89523e9 100644 --- a/Build/source/extra/xz/po/pl.gmo +++ b/Build/source/extra/xz/po/pl.gmo diff --git a/Build/source/extra/xz/po/pl.po b/Build/source/extra/xz/po/pl.po index 7fb246ab46a..eb4b292fdf4 100644 --- a/Build/source/extra/xz/po/pl.po +++ b/Build/source/extra/xz/po/pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: xz 5.0.1\n" "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2011-04-01 08:48+0300\n" +"POT-Creation-Date: 2011-05-21 16:30+0300\n" "PO-Revision-Date: 2011-02-02 16:51+0100\n" "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" @@ -406,58 +406,67 @@ msgstr "Kompresja i dekompresja z opcją --robot nie jest jeszcze obsługiwana." msgid "Cannot read data from standard input when reading filenames from standard input" msgstr "Nie można odczytać danych ze standardowego wejścia przy czytaniu nazw plików ze standardowego wejścia" -#: src/xz/message.c:792 src/xz/message.c:842 +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c:733 +#, c-format +msgid "%s: " +msgstr "" + +#: src/xz/message.c:796 src/xz/message.c:846 msgid "Internal error (bug)" msgstr "Błąd wewnętrzny" -#: src/xz/message.c:799 +#: src/xz/message.c:803 msgid "Cannot establish signal handlers" msgstr "Nie można ustawić obsługi sygnałów" -#: src/xz/message.c:808 +#: src/xz/message.c:812 msgid "No integrity check; not verifying file integrity" msgstr "Brak kontroli spójności; poprawność plików nie będzie weryfikowana" -#: src/xz/message.c:811 +#: src/xz/message.c:815 msgid "Unsupported type of integrity check; not verifying file integrity" msgstr "Nieobsługiwany typ kontroli spójności; poprawność plików nie będzie weryfikowana" -#: src/xz/message.c:818 +#: src/xz/message.c:822 msgid "Memory usage limit reached" msgstr "Osiągnięto limit użycia pamięci" -#: src/xz/message.c:821 +#: src/xz/message.c:825 msgid "File format not recognized" msgstr "Nie rozpoznany format pliku" -#: src/xz/message.c:824 +#: src/xz/message.c:828 msgid "Unsupported options" msgstr "Nieobsługiwane opcje" -#: src/xz/message.c:827 +#: src/xz/message.c:831 msgid "Compressed data is corrupt" msgstr "Dane skompresowane są uszkodzone" -#: src/xz/message.c:830 +#: src/xz/message.c:834 msgid "Unexpected end of input" msgstr "Nieoczekiwany koniec wejścia" -#: src/xz/message.c:881 +#: src/xz/message.c:885 #, c-format msgid "%s MiB of memory is required. The limit is %s." msgstr "Wymagane jest %s MiB pamięci. Limit to %s." -#: src/xz/message.c:1048 +#: src/xz/message.c:1052 #, c-format msgid "%s: Filter chain: %s\n" msgstr "%s: Łańcuch filtrów: %s\n" -#: src/xz/message.c:1058 +#: src/xz/message.c:1062 #, c-format msgid "Try `%s --help' for more information." msgstr "Polecenie `%s --help' pokaże więcej informacji." -#: src/xz/message.c:1084 +#: src/xz/message.c:1088 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" @@ -468,17 +477,17 @@ msgstr "" "Kompresja lub dekompresja PLIKÓW w formacie .xz.\n" "\n" -#: src/xz/message.c:1091 +#: src/xz/message.c:1095 msgid "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Argumenty obowiązkowe dla opcji długich są obowiązkowe również dla opcji\n" "krótkich.\n" -#: src/xz/message.c:1095 +#: src/xz/message.c:1099 msgid " Operation mode:\n" msgstr " Tryb pracy:\n" -#: src/xz/message.c:1098 +#: src/xz/message.c:1102 msgid "" " -z, --compress force compression\n" " -d, --decompress force decompression\n" @@ -490,7 +499,7 @@ msgstr "" " -t, --test sprawdzenie spójności plików skompresowanych\n" " -l, --list wypisanie informacji o plikach .xz" -#: src/xz/message.c:1104 +#: src/xz/message.c:1108 msgid "" "\n" " Operation modifiers:\n" @@ -498,7 +507,7 @@ msgstr "" "\n" " Modyfikatory operacji:\n" -#: src/xz/message.c:1107 +#: src/xz/message.c:1111 msgid "" " -k, --keep keep (don't delete) input files\n" " -f, --force force overwrite of output file and (de)compress links\n" @@ -508,7 +517,7 @@ msgstr "" " -f, --force nadpisywanie plików wyjściowych i (de)kompresja dowiązań\n" " -c, --stdout zapis na standardowe wyjście, nieusuwanie plików wej." -#: src/xz/message.c:1113 +#: src/xz/message.c:1117 msgid "" " --no-sparse do not create sparse files when decompressing\n" " -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" @@ -524,7 +533,7 @@ msgstr "" " wejścia; muszą być zakończone znakiem nowej linii\n" " --files0[=PLIK] podobnie do --files, ale znakiem kończącym musi być NUL" -#: src/xz/message.c:1121 +#: src/xz/message.c:1125 msgid "" "\n" " Basic file format and compression options:\n" @@ -532,7 +541,7 @@ msgstr "" "\n" " Podstawowe opcje formatu pliku i kompresji:\n" -#: src/xz/message.c:1123 +#: src/xz/message.c:1127 msgid "" " -F, --format=FMT file format to encode or decode; possible values are\n" " `auto' (default), `xz', `lzma', and `raw'\n" @@ -544,7 +553,7 @@ msgstr "" " -C, --check=TEST typ kontroli spójności: `none' (ostrożnie!),\n" " `crc32', `crc64' (domyślny) lub `sha256'" -#: src/xz/message.c:1130 +#: src/xz/message.c:1134 msgid "" " -0 ... -9 compression preset; default is 6; take compressor *and*\n" " decompressor memory usage into account before using 7-9!" @@ -553,7 +562,7 @@ msgstr "" " użyciem wartości 7-9 należy wziąć pod uwagę wykorzystanie\n" " pamięci przy kompresji *oraz* dekompresji!" -#: src/xz/message.c:1134 +#: src/xz/message.c:1138 msgid "" " -e, --extreme try to improve compression ratio by using more CPU time;\n" " does not affect decompressor memory requirements" @@ -562,7 +571,7 @@ msgstr "" " ilości czasu procesora; nie wpływa na wymagania\n" " pamięciowe dekompresora" -#: src/xz/message.c:1139 +#: src/xz/message.c:1143 #, no-c-format msgid "" " --memlimit-compress=LIMIT\n" @@ -578,7 +587,7 @@ msgstr "" " dekompresji lub obu; LIMIT jest w bajtach, % RAM lub 0\n" " dla limitów domyślnych" -#: src/xz/message.c:1146 +#: src/xz/message.c:1150 msgid "" " --no-adjust if compression settings exceed the memory usage limit,\n" " give an error instead of adjusting the settings downwards" @@ -587,7 +596,7 @@ msgstr "" " pamięci, zostanie zgłoszony błąd zamiast zmniejszania\n" " ustawień" -#: src/xz/message.c:1152 +#: src/xz/message.c:1156 msgid "" "\n" " Custom filter chain for compression (alternative for using presets):" @@ -595,7 +604,7 @@ msgstr "" "\n" " Łańcuch własnych filtrów do kompresji (alternatywa do używania -0 .. -9):" -#: src/xz/message.c:1161 +#: src/xz/message.c:1165 msgid "" "\n" " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" @@ -624,7 +633,7 @@ msgstr "" " mf=NAZWA dopasowywacz (hc3, hc4, bt2, bt3, bt4; bt4)\n" " depth=ILE maks. głębokość szukania; 0=auto (domyślne)" -#: src/xz/message.c:1176 +#: src/xz/message.c:1180 msgid "" "\n" " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" @@ -646,7 +655,7 @@ msgstr "" " Poprawne OPCJE dla wszystkich filtrów BCJ:\n" " start=ILE offset początku konwersji (domyślnie=0)" -#: src/xz/message.c:1188 +#: src/xz/message.c:1192 msgid "" "\n" " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" @@ -658,7 +667,7 @@ msgstr "" " dist=ILE odległość między bajtami odejmowanymi od\n" " siebie (1-256; 1)" -#: src/xz/message.c:1196 +#: src/xz/message.c:1200 msgid "" "\n" " Other options:\n" @@ -666,7 +675,7 @@ msgstr "" "\n" " Inne opcje:\n" -#: src/xz/message.c:1199 +#: src/xz/message.c:1203 msgid "" " -q, --quiet suppress warnings; specify twice to suppress errors too\n" " -v, --verbose be verbose; specify twice for even more verbose" @@ -674,15 +683,15 @@ msgstr "" " -q, --quiet pominięcie ostrzeżeń; dwukrotne podanie pomija też błędy\n" " -v, --verbose więcej informacji; dwukrotne podanie to jeszcze więcej" -#: src/xz/message.c:1204 +#: src/xz/message.c:1208 msgid " -Q, --no-warn make warnings not affect the exit status" msgstr " -Q, --no-warn ostrzeżenia nie mają wpływu na status zakończenia" -#: src/xz/message.c:1206 +#: src/xz/message.c:1210 msgid " --robot use machine-parsable messages (useful for scripts)" msgstr " --robot komunikaty w formacie dla maszyny (do skryptów)" -#: src/xz/message.c:1209 +#: src/xz/message.c:1213 msgid "" " --info-memory display the total amount of RAM and the currently active\n" " memory usage limits, and exit" @@ -690,7 +699,7 @@ msgstr "" " --info-memory wyświetlenie całkowitej ilości pamięci RAM oraz aktualnie\n" " aktywnych limitów pamięci i zakończenie pracy" -#: src/xz/message.c:1212 +#: src/xz/message.c:1216 msgid "" " -h, --help display the short help (lists only the basic options)\n" " -H, --long-help display this long help and exit" @@ -698,7 +707,7 @@ msgstr "" " -h, --help wyświetlenie krótkiego opisu (tylko podstawowe opcje)\n" " -H, --long-help wyświetlenie tego długiego opisu i zakończenie" -#: src/xz/message.c:1216 +#: src/xz/message.c:1220 msgid "" " -h, --help display this short help and exit\n" " -H, --long-help display the long help (lists also the advanced options)" @@ -706,11 +715,11 @@ msgstr "" " -h, --help wyświetlenie tego krótkiego opisu i zakończenie\n" " -H, --long-help wyświetlenie długiego opisu (także opcje zaawansowane)" -#: src/xz/message.c:1221 +#: src/xz/message.c:1225 msgid " -V, --version display the version number and exit" msgstr " -V, --version wyświetlenie informacji o wersji i zakończenie" -#: src/xz/message.c:1223 +#: src/xz/message.c:1227 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" @@ -722,7 +731,7 @@ msgstr "" #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the email or WWW #. address for translation bugs. Thanks. -#: src/xz/message.c:1229 +#: src/xz/message.c:1233 #, c-format msgid "Report bugs to <%s> (in English or Finnish).\n" msgstr "" @@ -731,7 +740,7 @@ msgstr "" "Błędy w tłumaczeniu prosimy zgłaszać na adres\n" "<translation-team-pl@lists.sourceforge.net>.\n" -#: src/xz/message.c:1231 +#: src/xz/message.c:1235 #, c-format msgid "%s home page: <%s>\n" msgstr "Strona domowa %s: <%s>\n" diff --git a/Build/source/extra/xz/po/xz.pot b/Build/source/extra/xz/po/xz.pot index c91fc22d517..b4a7f993ee1 100644 --- a/Build/source/extra/xz/po/xz.pot +++ b/Build/source/extra/xz/po/xz.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2011-04-01 08:48+0300\n" +"POT-Creation-Date: 2011-05-21 16:30+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -402,58 +402,67 @@ msgstr "" msgid "Cannot read data from standard input when reading filenames from standard input" msgstr "" -#: src/xz/message.c:792 src/xz/message.c:842 +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c:733 +#, c-format +msgid "%s: " +msgstr "" + +#: src/xz/message.c:796 src/xz/message.c:846 msgid "Internal error (bug)" msgstr "" -#: src/xz/message.c:799 +#: src/xz/message.c:803 msgid "Cannot establish signal handlers" msgstr "" -#: src/xz/message.c:808 +#: src/xz/message.c:812 msgid "No integrity check; not verifying file integrity" msgstr "" -#: src/xz/message.c:811 +#: src/xz/message.c:815 msgid "Unsupported type of integrity check; not verifying file integrity" msgstr "" -#: src/xz/message.c:818 +#: src/xz/message.c:822 msgid "Memory usage limit reached" msgstr "" -#: src/xz/message.c:821 +#: src/xz/message.c:825 msgid "File format not recognized" msgstr "" -#: src/xz/message.c:824 +#: src/xz/message.c:828 msgid "Unsupported options" msgstr "" -#: src/xz/message.c:827 +#: src/xz/message.c:831 msgid "Compressed data is corrupt" msgstr "" -#: src/xz/message.c:830 +#: src/xz/message.c:834 msgid "Unexpected end of input" msgstr "" -#: src/xz/message.c:881 +#: src/xz/message.c:885 #, c-format msgid "%s MiB of memory is required. The limit is %s." msgstr "" -#: src/xz/message.c:1048 +#: src/xz/message.c:1052 #, c-format msgid "%s: Filter chain: %s\n" msgstr "" -#: src/xz/message.c:1058 +#: src/xz/message.c:1062 #, c-format msgid "Try `%s --help' for more information." msgstr "" -#: src/xz/message.c:1084 +#: src/xz/message.c:1088 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" @@ -461,15 +470,15 @@ msgid "" "\n" msgstr "" -#: src/xz/message.c:1091 +#: src/xz/message.c:1095 msgid "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" -#: src/xz/message.c:1095 +#: src/xz/message.c:1099 msgid " Operation mode:\n" msgstr "" -#: src/xz/message.c:1098 +#: src/xz/message.c:1102 msgid "" " -z, --compress force compression\n" " -d, --decompress force decompression\n" @@ -477,20 +486,20 @@ msgid "" " -l, --list list information about .xz files" msgstr "" -#: src/xz/message.c:1104 +#: src/xz/message.c:1108 msgid "" "\n" " Operation modifiers:\n" msgstr "" -#: src/xz/message.c:1107 +#: src/xz/message.c:1111 msgid "" " -k, --keep keep (don't delete) input files\n" " -f, --force force overwrite of output file and (de)compress links\n" " -c, --stdout write to standard output and don't delete input files" msgstr "" -#: src/xz/message.c:1113 +#: src/xz/message.c:1117 msgid "" " --no-sparse do not create sparse files when decompressing\n" " -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" @@ -500,13 +509,13 @@ msgid "" " --files0[=FILE] like --files but use the null character as terminator" msgstr "" -#: src/xz/message.c:1121 +#: src/xz/message.c:1125 msgid "" "\n" " Basic file format and compression options:\n" msgstr "" -#: src/xz/message.c:1123 +#: src/xz/message.c:1127 msgid "" " -F, --format=FMT file format to encode or decode; possible values are\n" " `auto' (default), `xz', `lzma', and `raw'\n" @@ -514,19 +523,19 @@ msgid "" " `crc32', `crc64' (default), or `sha256'" msgstr "" -#: src/xz/message.c:1130 +#: src/xz/message.c:1134 msgid "" " -0 ... -9 compression preset; default is 6; take compressor *and*\n" " decompressor memory usage into account before using 7-9!" msgstr "" -#: src/xz/message.c:1134 +#: src/xz/message.c:1138 msgid "" " -e, --extreme try to improve compression ratio by using more CPU time;\n" " does not affect decompressor memory requirements" msgstr "" -#: src/xz/message.c:1139 +#: src/xz/message.c:1143 #, no-c-format msgid "" " --memlimit-compress=LIMIT\n" @@ -536,19 +545,19 @@ msgid "" " or both; LIMIT is in bytes, % of RAM, or 0 for defaults" msgstr "" -#: src/xz/message.c:1146 +#: src/xz/message.c:1150 msgid "" " --no-adjust if compression settings exceed the memory usage limit,\n" " give an error instead of adjusting the settings downwards" msgstr "" -#: src/xz/message.c:1152 +#: src/xz/message.c:1156 msgid "" "\n" " Custom filter chain for compression (alternative for using presets):" msgstr "" -#: src/xz/message.c:1161 +#: src/xz/message.c:1165 msgid "" "\n" " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" @@ -564,7 +573,7 @@ msgid "" " depth=NUM maximum search depth; 0=automatic (default)" msgstr "" -#: src/xz/message.c:1176 +#: src/xz/message.c:1180 msgid "" "\n" " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" @@ -577,7 +586,7 @@ msgid "" " start=NUM start offset for conversions (default=0)" msgstr "" -#: src/xz/message.c:1188 +#: src/xz/message.c:1192 msgid "" "\n" " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" @@ -585,49 +594,49 @@ msgid "" " from each other (1-256; 1)" msgstr "" -#: src/xz/message.c:1196 +#: src/xz/message.c:1200 msgid "" "\n" " Other options:\n" msgstr "" -#: src/xz/message.c:1199 +#: src/xz/message.c:1203 msgid "" " -q, --quiet suppress warnings; specify twice to suppress errors too\n" " -v, --verbose be verbose; specify twice for even more verbose" msgstr "" -#: src/xz/message.c:1204 +#: src/xz/message.c:1208 msgid " -Q, --no-warn make warnings not affect the exit status" msgstr "" -#: src/xz/message.c:1206 +#: src/xz/message.c:1210 msgid " --robot use machine-parsable messages (useful for scripts)" msgstr "" -#: src/xz/message.c:1209 +#: src/xz/message.c:1213 msgid "" " --info-memory display the total amount of RAM and the currently active\n" " memory usage limits, and exit" msgstr "" -#: src/xz/message.c:1212 +#: src/xz/message.c:1216 msgid "" " -h, --help display the short help (lists only the basic options)\n" " -H, --long-help display this long help and exit" msgstr "" -#: src/xz/message.c:1216 +#: src/xz/message.c:1220 msgid "" " -h, --help display this short help and exit\n" " -H, --long-help display the long help (lists also the advanced options)" msgstr "" -#: src/xz/message.c:1221 +#: src/xz/message.c:1225 msgid " -V, --version display the version number and exit" msgstr "" -#: src/xz/message.c:1223 +#: src/xz/message.c:1227 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" @@ -637,12 +646,12 @@ msgstr "" #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the email or WWW #. address for translation bugs. Thanks. -#: src/xz/message.c:1229 +#: src/xz/message.c:1233 #, c-format msgid "Report bugs to <%s> (in English or Finnish).\n" msgstr "" -#: src/xz/message.c:1231 +#: src/xz/message.c:1235 #, c-format msgid "%s home page: <%s>\n" msgstr "" diff --git a/Build/source/extra/xz/src/liblzma/Makefile.am b/Build/source/extra/xz/src/liblzma/Makefile.am index 813dc406760..7b3d69ae9f4 100644 --- a/Build/source/extra/xz/src/liblzma/Makefile.am +++ b/Build/source/extra/xz/src/liblzma/Makefile.am @@ -24,7 +24,7 @@ liblzma_la_CPPFLAGS = \ -I$(top_srcdir)/src/liblzma/simple \ -I$(top_srcdir)/src/common \ -DTUKLIB_SYMBOL_PREFIX=lzma_ -liblzma_la_LDFLAGS = -no-undefined -version-info 5:2:0 +liblzma_la_LDFLAGS = -no-undefined -version-info 5:3:0 include $(srcdir)/common/Makefile.inc include $(srcdir)/check/Makefile.inc diff --git a/Build/source/extra/xz/src/liblzma/Makefile.in b/Build/source/extra/xz/src/liblzma/Makefile.in index 7a9e268c452..06ccaac0944 100644 --- a/Build/source/extra/xz/src/liblzma/Makefile.in +++ b/Build/source/extra/xz/src/liblzma/Makefile.in @@ -609,7 +609,7 @@ liblzma_la_CPPFLAGS = \ -I$(top_srcdir)/src/common \ -DTUKLIB_SYMBOL_PREFIX=lzma_ -liblzma_la_LDFLAGS = -no-undefined -version-info 5:2:0 \ +liblzma_la_LDFLAGS = -no-undefined -version-info 5:3:0 \ $(am__append_38) pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = liblzma.pc diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/block.h b/Build/source/extra/xz/src/liblzma/api/lzma/block.h index 3019bf916fe..8a4bf2323cc 100644 --- a/Build/source/extra/xz/src/liblzma/api/lzma/block.h +++ b/Build/source/extra/xz/src/liblzma/api/lzma/block.h @@ -483,6 +483,7 @@ extern LZMA_API(size_t) lzma_block_buffer_bound(size_t uncompressed_size) * * \return - LZMA_OK: Encoding was successful. * - LZMA_BUF_ERROR: Not enough output buffer space. + * - LZMA_UNSUPPORTED_CHECK * - LZMA_OPTIONS_ERROR * - LZMA_MEM_ERROR * - LZMA_DATA_ERROR diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/container.h b/Build/source/extra/xz/src/liblzma/api/lzma/container.h index 83e70b44f22..7a9ffc64578 100644 --- a/Build/source/extra/xz/src/liblzma/api/lzma/container.h +++ b/Build/source/extra/xz/src/liblzma/api/lzma/container.h @@ -66,6 +66,10 @@ * This function is a wrapper for lzma_raw_encoder_memusage(). * * \param preset Compression preset (level and possible flags) + * + * \return Number of bytes of memory required for the given + * preset when encoding. If an error occurs, for example + * due to unsupported preset, UINT64_MAX is returned. */ extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset) lzma_nothrow lzma_attr_pure; @@ -77,6 +81,11 @@ extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset) * This function is a wrapper for lzma_raw_decoder_memusage(). * * \param preset Compression preset (level and possible flags) + * + * \return Number of bytes of memory required to decompress a file + * that was compressed using the given preset. If an error + * occurs, for example due to unsupported preset, UINT64_MAX + * is returned. */ extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset) lzma_nothrow lzma_attr_pure; @@ -148,6 +157,7 @@ extern LZMA_API(lzma_ret) lzma_easy_encoder( * * \return - LZMA_OK: Encoding was successful. * - LZMA_BUF_ERROR: Not enough output buffer space. + * - LZMA_UNSUPPORTED_CHECK * - LZMA_OPTIONS_ERROR * - LZMA_MEM_ERROR * - LZMA_DATA_ERROR @@ -171,6 +181,7 @@ extern LZMA_API(lzma_ret) lzma_easy_buffer_encode( * * \return - LZMA_OK: Initialization was successful. * - LZMA_MEM_ERROR + * - LZMA_UNSUPPORTED_CHECK * - LZMA_OPTIONS_ERROR * - LZMA_PROG_ERROR */ @@ -250,6 +261,7 @@ extern LZMA_API(size_t) lzma_stream_buffer_bound(size_t uncompressed_size) * * \return - LZMA_OK: Encoding was successful. * - LZMA_BUF_ERROR: Not enough output buffer space. + * - LZMA_UNSUPPORTED_CHECK * - LZMA_OPTIONS_ERROR * - LZMA_MEM_ERROR * - LZMA_DATA_ERROR diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/filter.h b/Build/source/extra/xz/src/liblzma/api/lzma/filter.h index efd036f7f04..e0bc163ad35 100644 --- a/Build/source/extra/xz/src/liblzma/api/lzma/filter.h +++ b/Build/source/extra/xz/src/liblzma/api/lzma/filter.h @@ -131,7 +131,9 @@ extern LZMA_API(lzma_ret) lzma_filters_copy(const lzma_filter *src, * .id == LZMA_VLI_UNKNOWN. * * \return Number of bytes of memory required for the given - * filter chain when encoding. + * filter chain when encoding. If an error occurs, + * for example due to unsupported filter chain, + * UINT64_MAX is returned. */ extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters) lzma_nothrow lzma_attr_pure; @@ -148,7 +150,9 @@ extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters) * .id == LZMA_VLI_UNKNOWN. * * \return Number of bytes of memory required for the given - * filter chain when decoding. + * filter chain when decoding. If an error occurs, + * for example due to unsupported filter chain, + * UINT64_MAX is returned. */ extern LZMA_API(uint64_t) lzma_raw_decoder_memusage(const lzma_filter *filters) lzma_nothrow lzma_attr_pure; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/subblock.h b/Build/source/extra/xz/src/liblzma/api/lzma/subblock.h deleted file mode 100644 index 4ffb049824b..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/subblock.h +++ /dev/null @@ -1,200 +0,0 @@ -/** - * \file lzma/subblock.h - * \brief Subblock filter - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use <lzma.h> instead. -#endif - - -/** - * \brief Filter ID - * - * Filter ID of the Subblock filter. This is used as lzma_filter.id. - */ -#define LZMA_FILTER_SUBBLOCK LZMA_VLI_C(0x01) - - -/** - * \brief Subfilter mode - * - * See lzma_options_subblock.subfilter_mode for details. - */ -typedef enum { - LZMA_SUBFILTER_NONE, - /**< - * No Subfilter is in use. - */ - - LZMA_SUBFILTER_SET, - /**< - * New Subfilter has been requested to be initialized. - */ - - LZMA_SUBFILTER_RUN, - /**< - * Subfilter is active. - */ - - LZMA_SUBFILTER_FINISH - /**< - * Subfilter has been requested to be finished. - */ -} lzma_subfilter_mode; - - -/** - * \brief Options for the Subblock filter - * - * Specifying options for the Subblock filter is optional: if the pointer - * options is NULL, no subfilters are allowed and the default value is used - * for subblock_data_size. - */ -typedef struct { - /* Options for encoder and decoder */ - - /** - * \brief Allowing subfilters - * - * If this true, subfilters are allowed. - * - * In the encoder, if this is set to false, subfilter_mode and - * subfilter_options are completely ignored. - */ - lzma_bool allow_subfilters; - - /* Options for encoder only */ - - /** - * \brief Alignment - * - * The Subblock filter encapsulates the input data into Subblocks. - * Each Subblock has a header which takes a few bytes of space. - * When the output of the Subblock encoder is fed to another filter - * that takes advantage of the alignment of the input data (e.g. LZMA), - * the Subblock filter can add padding to keep the actual data parts - * in the Subblocks aligned correctly. - * - * The alignment should be a positive integer. Subblock filter will - * add enough padding between Subblocks so that this is true for - * every payload byte: - * input_offset % alignment == output_offset % alignment - * - * The Subblock filter assumes that the first output byte will be - * written to a position in the output stream that is properly - * aligned. This requirement is automatically met when the start - * offset of the Stream or Block is correctly told to Block or - * Stream encoder. - */ - uint32_t alignment; -# define LZMA_SUBBLOCK_ALIGNMENT_MIN 1 -# define LZMA_SUBBLOCK_ALIGNMENT_MAX 32 -# define LZMA_SUBBLOCK_ALIGNMENT_DEFAULT 4 - - /** - * \brief Size of the Subblock Data part of each Subblock - * - * This value is re-read every time a new Subblock is started. - * - * Bigger values - * - save a few bytes of space; - * - increase latency in the encoder (but no effect for decoding); - * - decrease memory locality (increased cache pollution) in the - * encoder (no effect in decoding). - */ - uint32_t subblock_data_size; -# define LZMA_SUBBLOCK_DATA_SIZE_MIN 1 -# define LZMA_SUBBLOCK_DATA_SIZE_MAX (UINT32_C(1) << 28) -# define LZMA_SUBBLOCK_DATA_SIZE_DEFAULT 4096 - - /** - * \brief Run-length encoder remote control - * - * The Subblock filter has an internal run-length encoder (RLE). It - * can be useful when the data includes byte sequences that repeat - * very many times. The RLE can be used also when a Subfilter is - * in use; the RLE will be applied to the output of the Subfilter. - * - * Note that in contrast to traditional RLE, this RLE is intended to - * be used only when there's a lot of data to be repeated. If the - * input data has e.g. 500 bytes of NULs now and then, this RLE - * is probably useless, because plain LZMA should provide better - * results. - * - * Due to above reasons, it was decided to keep the implementation - * of the RLE very simple. When the rle variable is non-zero, it - * subblock_data_size must be a multiple of rle. Once the Subblock - * encoder has got subblock_data_size bytes of input, it will check - * if the whole buffer of the last subblock_data_size can be - * represented with repeats of chunks having size of rle bytes. - * - * If there are consecutive identical buffers of subblock_data_size - * bytes, they will be encoded using a single repeat entry if - * possible. - * - * If need arises, more advanced RLE can be implemented later - * without breaking API or ABI. - */ - uint32_t rle; -# define LZMA_SUBBLOCK_RLE_OFF 0 -# define LZMA_SUBBLOCK_RLE_MIN 1 -# define LZMA_SUBBLOCK_RLE_MAX 256 - - /** - * \brief Subfilter remote control - * - * When the Subblock filter is initialized, this variable must be - * LZMA_SUBFILTER_NONE or LZMA_SUBFILTER_SET. - * - * When subfilter_mode is LZMA_SUBFILTER_NONE, the application may - * put Subfilter options to subfilter_options structure, and then - * set subfilter_mode to LZMA_SUBFILTER_SET. No new input data will - * be read until the Subfilter has been enabled. Once the Subfilter - * has been enabled, liblzma will set subfilter_mode to - * LZMA_SUBFILTER_RUN. - * - * When subfilter_mode is LZMA_SUBFILTER_RUN, the application may - * set subfilter_mode to LZMA_SUBFILTER_FINISH. All the input - * currently available will be encoded before unsetting the - * Subfilter. Application must not change the amount of available - * input until the Subfilter has finished. Once the Subfilter has - * finished, liblzma will set subfilter_mode to LZMA_SUBFILTER_NONE. - * - * If the intent is to have Subfilter enabled to the very end of - * the data, it is not needed to separately disable Subfilter with - * LZMA_SUBFILTER_FINISH. Using LZMA_FINISH as the second argument - * of lzma_code() will make the Subblock encoder to disable the - * Subfilter once all the data has been ran through the Subfilter. - * - * After the first call with LZMA_SYNC_FLUSH or LZMA_FINISH, the - * application must not change subfilter_mode until LZMA_STREAM_END. - * Setting LZMA_SUBFILTER_SET/LZMA_SUBFILTER_FINISH and - * LZMA_SYNC_FLUSH/LZMA_FINISH _at the same time_ is fine. - * - * \note This variable is ignored if allow_subfilters is false. - */ - lzma_subfilter_mode subfilter_mode; - - /** - * \brief Subfilter and its options - * - * When no Subfilter is used, the data is copied as is into Subblocks. - * Setting a Subfilter allows encoding some parts of the data with - * an additional filter. It is possible to many different Subfilters - * in the same Block, although only one can be used at once. - * - * \note This variable is ignored if allow_subfilters is false. - */ - lzma_filter subfilter_options; - -} lzma_options_subblock; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/version.h b/Build/source/extra/xz/src/liblzma/api/lzma/version.h index 4959f6e8dbe..92266637760 100644 --- a/Build/source/extra/xz/src/liblzma/api/lzma/version.h +++ b/Build/source/extra/xz/src/liblzma/api/lzma/version.h @@ -22,7 +22,7 @@ */ #define LZMA_VERSION_MAJOR 5 #define LZMA_VERSION_MINOR 0 -#define LZMA_VERSION_PATCH 2 +#define LZMA_VERSION_PATCH 3 #define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE #ifndef LZMA_VERSION_COMMIT diff --git a/Build/source/extra/xz/src/liblzma/common/alone_decoder.c b/Build/source/extra/xz/src/liblzma/common/alone_decoder.c index 039b4285954..678c79e6543 100644 --- a/Build/source/extra/xz/src/liblzma/common/alone_decoder.c +++ b/Build/source/extra/xz/src/liblzma/common/alone_decoder.c @@ -46,7 +46,7 @@ struct lzma_coder_s { static lzma_ret alone_decode(lzma_coder *coder, - lzma_allocator *allocator lzma_attribute((unused)), + lzma_allocator *allocator lzma_attribute((__unused__)), const uint8_t *restrict in, size_t *restrict in_pos, size_t in_size, uint8_t *restrict out, size_t *restrict out_pos, size_t out_size, diff --git a/Build/source/extra/xz/src/liblzma/common/alone_encoder.c b/Build/source/extra/xz/src/liblzma/common/alone_encoder.c index d8c0170f023..eb1697e9975 100644 --- a/Build/source/extra/xz/src/liblzma/common/alone_encoder.c +++ b/Build/source/extra/xz/src/liblzma/common/alone_encoder.c @@ -32,7 +32,7 @@ struct lzma_coder_s { static lzma_ret alone_encode(lzma_coder *coder, - lzma_allocator *allocator lzma_attribute((unused)), + lzma_allocator *allocator lzma_attribute((__unused__)), const uint8_t *restrict in, size_t *restrict in_pos, size_t in_size, uint8_t *restrict out, size_t *restrict out_pos, size_t out_size, @@ -103,7 +103,7 @@ alone_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, if (options->dict_size < LZMA_DICT_SIZE_MIN) return LZMA_OPTIONS_ERROR; - // Round up to to the next 2^n or 2^n + 2^(n - 1) depending on which + // Round up to the next 2^n or 2^n + 2^(n - 1) depending on which // one is the next unless it is UINT32_MAX. While the header would // allow any 32-bit integer, we do this to keep the decoder of liblzma // accepting the resulting files. diff --git a/Build/source/extra/xz/src/liblzma/common/block_buffer_encoder.c b/Build/source/extra/xz/src/liblzma/common/block_buffer_encoder.c index a8f71c2140e..519c6a684d7 100644 --- a/Build/source/extra/xz/src/liblzma/common/block_buffer_encoder.c +++ b/Build/source/extra/xz/src/liblzma/common/block_buffer_encoder.c @@ -226,16 +226,23 @@ lzma_block_buffer_encode(lzma_block *block, lzma_allocator *allocator, const uint8_t *in, size_t in_size, uint8_t *out, size_t *out_pos, size_t out_size) { - // Sanity checks - if (block == NULL || block->filters == NULL - || (in == NULL && in_size != 0) || out == NULL + // Validate the arguments. + if (block == NULL || (in == NULL && in_size != 0) || out == NULL || out_pos == NULL || *out_pos > out_size) return LZMA_PROG_ERROR; - // Check the version field. + // The contents of the structure may depend on the version so + // check the version before validating the contents of *block. if (block->version != 0) return LZMA_OPTIONS_ERROR; + if ((unsigned int)(block->check) > LZMA_CHECK_ID_MAX + || block->filters == NULL) + return LZMA_PROG_ERROR; + + if (!lzma_check_is_supported(block->check)) + return LZMA_UNSUPPORTED_CHECK; + // Size of a Block has to be a multiple of four, so limit the size // here already. This way we don't need to check it again when adding // Block Padding. @@ -243,8 +250,7 @@ lzma_block_buffer_encode(lzma_block *block, lzma_allocator *allocator, // Get the size of the Check field. const size_t check_size = lzma_check_size(block->check); - if (check_size == UINT32_MAX) - return LZMA_PROG_ERROR; + assert(check_size != UINT32_MAX); // Reserve space for the Check field. if (out_size - *out_pos <= check_size) diff --git a/Build/source/extra/xz/src/liblzma/common/block_encoder.c b/Build/source/extra/xz/src/liblzma/common/block_encoder.c index ca5152357e7..1eeb502b7f8 100644 --- a/Build/source/extra/xz/src/liblzma/common/block_encoder.c +++ b/Build/source/extra/xz/src/liblzma/common/block_encoder.c @@ -144,7 +144,7 @@ block_encoder_end(lzma_coder *coder, lzma_allocator *allocator) static lzma_ret block_encoder_update(lzma_coder *coder, lzma_allocator *allocator, - const lzma_filter *filters lzma_attribute((unused)), + const lzma_filter *filters lzma_attribute((__unused__)), const lzma_filter *reversed_filters) { if (coder->sequence != SEQ_CODE) @@ -161,6 +161,11 @@ lzma_block_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, { lzma_next_coder_init(&lzma_block_encoder_init, next, allocator); + if (block == NULL) + return LZMA_PROG_ERROR; + + // The contents of the structure may depend on the version so + // check the version first. if (block->version != 0) return LZMA_OPTIONS_ERROR; diff --git a/Build/source/extra/xz/src/liblzma/common/common.c b/Build/source/extra/xz/src/liblzma/common/common.c index 0408e15328b..b9e38602736 100644 --- a/Build/source/extra/xz/src/liblzma/common/common.c +++ b/Build/source/extra/xz/src/liblzma/common/common.c @@ -35,7 +35,7 @@ lzma_version_string(void) // Memory allocation // /////////////////////// -extern void * lzma_attribute((malloc)) +extern void * lzma_attribute((__malloc__)) lzma_attr_alloc_size(1) lzma_alloc(size_t size, lzma_allocator *allocator) { // Some malloc() variants return NULL if called with size == 0. diff --git a/Build/source/extra/xz/src/liblzma/common/common.h b/Build/source/extra/xz/src/liblzma/common/common.h index b819432371d..45aba4f06b2 100644 --- a/Build/source/extra/xz/src/liblzma/common/common.h +++ b/Build/source/extra/xz/src/liblzma/common/common.h @@ -205,7 +205,7 @@ struct lzma_internal_s { /// Allocates memory extern void *lzma_alloc(size_t size, lzma_allocator *allocator) - lzma_attribute((malloc)) lzma_attr_alloc_size(1); + lzma_attribute((__malloc__)) lzma_attr_alloc_size(1); /// Frees memory extern void lzma_free(void *ptr, lzma_allocator *allocator); diff --git a/Build/source/extra/xz/src/liblzma/common/filter_common.c b/Build/source/extra/xz/src/liblzma/common/filter_common.c index b157c6280f8..7c95b05f2a3 100644 --- a/Build/source/extra/xz/src/liblzma/common/filter_common.c +++ b/Build/source/extra/xz/src/liblzma/common/filter_common.c @@ -43,7 +43,7 @@ static const struct { .changes_size = true, }, #endif -#ifdef HAVE_DECODER_LZMA2 +#if defined(HAVE_ENCODER_LZMA2) || defined(HAVE_DECODER_LZMA2) { .id = LZMA_FILTER_LZMA2, .options_size = sizeof(lzma_options_lzma), @@ -52,7 +52,7 @@ static const struct { .changes_size = true, }, #endif -#ifdef HAVE_DECODER_X86 +#if defined(HAVE_ENCODER_X86) || defined(HAVE_DECODER_X86) { .id = LZMA_FILTER_X86, .options_size = sizeof(lzma_options_bcj), @@ -70,7 +70,7 @@ static const struct { .changes_size = false, }, #endif -#ifdef HAVE_DECODER_IA64 +#if defined(HAVE_ENCODER_IA64) || defined(HAVE_DECODER_IA64) { .id = LZMA_FILTER_IA64, .options_size = sizeof(lzma_options_bcj), diff --git a/Build/source/extra/xz/src/liblzma/common/index_decoder.c b/Build/source/extra/xz/src/liblzma/common/index_decoder.c index a6bc650e046..83c8a3af1db 100644 --- a/Build/source/extra/xz/src/liblzma/common/index_decoder.c +++ b/Build/source/extra/xz/src/liblzma/common/index_decoder.c @@ -56,10 +56,11 @@ struct lzma_coder_s { static lzma_ret index_decode(lzma_coder *coder, lzma_allocator *allocator, const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out lzma_attribute((unused)), - size_t *restrict out_pos lzma_attribute((unused)), - size_t out_size lzma_attribute((unused)), - lzma_action action lzma_attribute((unused))) + size_t in_size, + uint8_t *restrict out lzma_attribute((__unused__)), + size_t *restrict out_pos lzma_attribute((__unused__)), + size_t out_size lzma_attribute((__unused__)), + lzma_action action lzma_attribute((__unused__))) { // Similar optimization as in index_encoder.c const size_t in_start = *in_pos; diff --git a/Build/source/extra/xz/src/liblzma/common/index_encoder.c b/Build/source/extra/xz/src/liblzma/common/index_encoder.c index c10d7afa06b..45919f094c4 100644 --- a/Build/source/extra/xz/src/liblzma/common/index_encoder.c +++ b/Build/source/extra/xz/src/liblzma/common/index_encoder.c @@ -42,12 +42,13 @@ struct lzma_coder_s { static lzma_ret index_encode(lzma_coder *coder, - lzma_allocator *allocator lzma_attribute((unused)), - const uint8_t *restrict in lzma_attribute((unused)), - size_t *restrict in_pos lzma_attribute((unused)), - size_t in_size lzma_attribute((unused)), + lzma_allocator *allocator lzma_attribute((__unused__)), + const uint8_t *restrict in lzma_attribute((__unused__)), + size_t *restrict in_pos lzma_attribute((__unused__)), + size_t in_size lzma_attribute((__unused__)), uint8_t *restrict out, size_t *restrict out_pos, - size_t out_size, lzma_action action lzma_attribute((unused))) + size_t out_size, + lzma_action action lzma_attribute((__unused__))) { // Position where to start calculating CRC32. The idea is that we // need to call lzma_crc32() only once per call to index_encode(). diff --git a/Build/source/extra/xz/src/liblzma/common/stream_buffer_encoder.c b/Build/source/extra/xz/src/liblzma/common/stream_buffer_encoder.c index f727d8542b3..2450ee2e1fa 100644 --- a/Build/source/extra/xz/src/liblzma/common/stream_buffer_encoder.c +++ b/Build/source/extra/xz/src/liblzma/common/stream_buffer_encoder.c @@ -51,6 +51,9 @@ lzma_stream_buffer_encode(lzma_filter *filters, lzma_check check, || out_pos_ptr == NULL || *out_pos_ptr > out_size) return LZMA_PROG_ERROR; + if (!lzma_check_is_supported(check)) + return LZMA_UNSUPPORTED_CHECK; + // Note for the paranoids: Index encoder prevents the Stream from // getting too big and still being accepted with LZMA_OK, and Block // encoder catches if the input is too big. So we don't need to @@ -81,26 +84,32 @@ lzma_stream_buffer_encode(lzma_filter *filters, lzma_check check, out_pos += LZMA_STREAM_HEADER_SIZE; - // Block + // Encode a Block but only if there is at least one byte of input. lzma_block block = { .version = 0, .check = check, .filters = filters, }; - return_if_error(lzma_block_buffer_encode(&block, allocator, - in, in_size, out, &out_pos, out_size)); + if (in_size > 0) + return_if_error(lzma_block_buffer_encode(&block, allocator, + in, in_size, out, &out_pos, out_size)); // Index { - // Create an Index with one Record. + // Create an Index. It will have one Record if there was + // at least one byte of input to encode. Otherwise the + // Index will be empty. lzma_index *i = lzma_index_init(allocator); if (i == NULL) return LZMA_MEM_ERROR; - lzma_ret ret = lzma_index_append(i, allocator, - lzma_block_unpadded_size(&block), - block.uncompressed_size); + lzma_ret ret = LZMA_OK; + + if (in_size > 0) + ret = lzma_index_append(i, allocator, + lzma_block_unpadded_size(&block), + block.uncompressed_size); // If adding the Record was successful, encode the Index // and get its size which will be stored into Stream Footer. diff --git a/Build/source/extra/xz/src/liblzma/common/stream_encoder.c b/Build/source/extra/xz/src/liblzma/common/stream_encoder.c index 48d91da7933..97a7a23a813 100644 --- a/Build/source/extra/xz/src/liblzma/common/stream_encoder.c +++ b/Build/source/extra/xz/src/liblzma/common/stream_encoder.c @@ -280,6 +280,7 @@ lzma_stream_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, next->end = &stream_encoder_end; next->update = &stream_encoder_update; + next->coder->filters[0].id = LZMA_VLI_UNKNOWN; next->coder->block_encoder = LZMA_NEXT_CODER_INIT; next->coder->index_encoder = LZMA_NEXT_CODER_INIT; next->coder->index = NULL; @@ -289,7 +290,6 @@ lzma_stream_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, next->coder->sequence = SEQ_STREAM_HEADER; next->coder->block_options.version = 0; next->coder->block_options.check = check; - next->coder->filters[0].id = LZMA_VLI_UNKNOWN; // Initialize the Index lzma_index_end(next->coder->index, allocator); diff --git a/Build/source/extra/xz/src/liblzma/delta/delta_encoder.c b/Build/source/extra/xz/src/liblzma/delta/delta_encoder.c index ea1cc2cb020..15c7951e104 100644 --- a/Build/source/extra/xz/src/liblzma/delta/delta_encoder.c +++ b/Build/source/extra/xz/src/liblzma/delta/delta_encoder.c @@ -85,7 +85,7 @@ delta_encode(lzma_coder *coder, lzma_allocator *allocator, static lzma_ret delta_encoder_update(lzma_coder *coder, lzma_allocator *allocator, - const lzma_filter *filters_null lzma_attribute((unused)), + const lzma_filter *filters_null lzma_attribute((__unused__)), const lzma_filter *reversed_filters) { // Delta doesn't and will never support changing the options in diff --git a/Build/source/extra/xz/src/liblzma/lz/lz_decoder.c b/Build/source/extra/xz/src/liblzma/lz/lz_decoder.c index 2c57355125f..d74085cf447 100644 --- a/Build/source/extra/xz/src/liblzma/lz/lz_decoder.c +++ b/Build/source/extra/xz/src/liblzma/lz/lz_decoder.c @@ -126,7 +126,7 @@ decode_buffer(lzma_coder *coder, static lzma_ret lz_decode(lzma_coder *coder, - lzma_allocator *allocator lzma_attribute((unused)), + lzma_allocator *allocator lzma_attribute((__unused__)), const uint8_t *restrict in, size_t *restrict in_pos, size_t in_size, uint8_t *restrict out, size_t *restrict out_pos, size_t out_size, diff --git a/Build/source/extra/xz/src/liblzma/lz/lz_encoder.c b/Build/source/extra/xz/src/liblzma/lz/lz_encoder.c index 273f577b69b..e2406965882 100644 --- a/Build/source/extra/xz/src/liblzma/lz/lz_encoder.c +++ b/Build/source/extra/xz/src/liblzma/lz/lz_encoder.c @@ -480,7 +480,7 @@ lz_encoder_end(lzma_coder *coder, lzma_allocator *allocator) static lzma_ret lz_encoder_update(lzma_coder *coder, lzma_allocator *allocator, - const lzma_filter *filters_null lzma_attribute((unused)), + const lzma_filter *filters_null lzma_attribute((__unused__)), const lzma_filter *reversed_filters) { if (coder->lz.options_update == NULL) diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c b/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c index b48e0d6894f..992720ca6d5 100644 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c +++ b/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c @@ -374,7 +374,7 @@ lzma_lzma2_props_encode(const void *options, uint8_t *out) const lzma_options_lzma *const opt = options; uint32_t d = my_max(opt->dict_size, LZMA_DICT_SIZE_MIN); - // Round up to to the next 2^n - 1 or 2^n + 2^(n - 1) - 1 depending + // Round up to the next 2^n - 1 or 2^n + 2^(n - 1) - 1 depending // on which one is the next: --d; d |= d >> 2; diff --git a/Build/source/extra/xz/src/liblzma/simple/arm.c b/Build/source/extra/xz/src/liblzma/simple/arm.c index 8fcf6437491..a84702ac62f 100644 --- a/Build/source/extra/xz/src/liblzma/simple/arm.c +++ b/Build/source/extra/xz/src/liblzma/simple/arm.c @@ -15,7 +15,7 @@ static size_t -arm_code(lzma_simple *simple lzma_attribute((unused)), +arm_code(lzma_simple *simple lzma_attribute((__unused__)), uint32_t now_pos, bool is_encoder, uint8_t *buffer, size_t size) { diff --git a/Build/source/extra/xz/src/liblzma/simple/armthumb.c b/Build/source/extra/xz/src/liblzma/simple/armthumb.c index eb6a69d1282..4b49175fec4 100644 --- a/Build/source/extra/xz/src/liblzma/simple/armthumb.c +++ b/Build/source/extra/xz/src/liblzma/simple/armthumb.c @@ -15,7 +15,7 @@ static size_t -armthumb_code(lzma_simple *simple lzma_attribute((unused)), +armthumb_code(lzma_simple *simple lzma_attribute((__unused__)), uint32_t now_pos, bool is_encoder, uint8_t *buffer, size_t size) { diff --git a/Build/source/extra/xz/src/liblzma/simple/ia64.c b/Build/source/extra/xz/src/liblzma/simple/ia64.c index fd263d4aea0..ce3692b98f1 100644 --- a/Build/source/extra/xz/src/liblzma/simple/ia64.c +++ b/Build/source/extra/xz/src/liblzma/simple/ia64.c @@ -15,7 +15,7 @@ static size_t -ia64_code(lzma_simple *simple lzma_attribute((unused)), +ia64_code(lzma_simple *simple lzma_attribute((__unused__)), uint32_t now_pos, bool is_encoder, uint8_t *buffer, size_t size) { diff --git a/Build/source/extra/xz/src/liblzma/simple/powerpc.c b/Build/source/extra/xz/src/liblzma/simple/powerpc.c index aaa14f22197..6f8351176c5 100644 --- a/Build/source/extra/xz/src/liblzma/simple/powerpc.c +++ b/Build/source/extra/xz/src/liblzma/simple/powerpc.c @@ -15,7 +15,7 @@ static size_t -powerpc_code(lzma_simple *simple lzma_attribute((unused)), +powerpc_code(lzma_simple *simple lzma_attribute((__unused__)), uint32_t now_pos, bool is_encoder, uint8_t *buffer, size_t size) { diff --git a/Build/source/extra/xz/src/liblzma/simple/simple_coder.c b/Build/source/extra/xz/src/liblzma/simple/simple_coder.c index 06db86ec2d0..37de7fa1a0c 100644 --- a/Build/source/extra/xz/src/liblzma/simple/simple_coder.c +++ b/Build/source/extra/xz/src/liblzma/simple/simple_coder.c @@ -212,7 +212,7 @@ simple_coder_end(lzma_coder *coder, lzma_allocator *allocator) static lzma_ret simple_coder_update(lzma_coder *coder, lzma_allocator *allocator, - const lzma_filter *filters_null lzma_attribute((unused)), + const lzma_filter *filters_null lzma_attribute((__unused__)), const lzma_filter *reversed_filters) { // No update support, just call the next filter in the chain. diff --git a/Build/source/extra/xz/src/liblzma/simple/sparc.c b/Build/source/extra/xz/src/liblzma/simple/sparc.c index 808a59aaac7..8270d6ab19f 100644 --- a/Build/source/extra/xz/src/liblzma/simple/sparc.c +++ b/Build/source/extra/xz/src/liblzma/simple/sparc.c @@ -15,7 +15,7 @@ static size_t -sparc_code(lzma_simple *simple lzma_attribute((unused)), +sparc_code(lzma_simple *simple lzma_attribute((__unused__)), uint32_t now_pos, bool is_encoder, uint8_t *buffer, size_t size) { diff --git a/Build/source/extra/xz/src/liblzma/subblock/Makefile.inc b/Build/source/extra/xz/src/liblzma/subblock/Makefile.inc deleted file mode 100644 index a4710cc5955..00000000000 --- a/Build/source/extra/xz/src/liblzma/subblock/Makefile.inc +++ /dev/null @@ -1,20 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -if COND_ENCODER_SUBBLOCK -liblzma_la_SOURCES += \ - subblock/subblock_encoder.c \ - subblock/subblock_encoder.h -endif - -if COND_DECODER_SUBBLOCK -liblzma_la_SOURCES += \ - subblock/subblock_decoder.c \ - subblock/subblock_decoder.h \ - subblock/subblock_decoder_helper.c \ - subblock/subblock_decoder_helper.h -endif diff --git a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.c b/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.c deleted file mode 100644 index e055cee3ea7..00000000000 --- a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.c +++ /dev/null @@ -1,630 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file subblock_decoder.c -/// \brief Decoder of the Subblock filter -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "subblock_decoder.h" -#include "subblock_decoder_helper.h" -#include "filter_decoder.h" - - -/// Maximum number of consecutive Subblocks with Subblock Type Padding -#define PADDING_MAX 31 - - -struct lzma_coder_s { - lzma_next_coder next; - - enum { - // These require that there is at least one input - // byte available. - SEQ_FLAGS, - SEQ_FILTER_FLAGS, - SEQ_FILTER_END, - SEQ_REPEAT_COUNT_1, - SEQ_REPEAT_COUNT_2, - SEQ_REPEAT_COUNT_3, - SEQ_REPEAT_SIZE, - SEQ_REPEAT_READ_DATA, - SEQ_SIZE_1, - SEQ_SIZE_2, - SEQ_SIZE_3, // This must be right before SEQ_DATA. - - // These don't require any input to be available. - SEQ_DATA, - SEQ_REPEAT_FAST, - SEQ_REPEAT_NORMAL, - } sequence; - - /// Number of bytes left in the current Subblock Data field. - size_t size; - - /// Number of consecutive Subblocks with Subblock Type Padding - uint32_t padding; - - /// True when .next.code() has returned LZMA_STREAM_END. - bool next_finished; - - /// True when the Subblock decoder has detected End of Payload Marker. - /// This may become true before next_finished becomes true. - bool this_finished; - - /// True if Subfilters are allowed. - bool allow_subfilters; - - /// Indicates if at least one byte of decoded output has been - /// produced after enabling Subfilter. - bool got_output_with_subfilter; - - /// Possible subfilter - lzma_next_coder subfilter; - - /// Filter Flags decoder is needed to parse the ID and Properties - /// of the subfilter. - lzma_next_coder filter_flags_decoder; - - /// The filter_flags_decoder stores its results here. - lzma_filter filter_flags; - - /// Options for the Subblock decoder helper. This is used to tell - /// the helper when it should return LZMA_STREAM_END to the subfilter. - lzma_options_subblock_helper helper; - - struct { - /// How many times buffer should be repeated - size_t count; - - /// Size of the buffer - size_t size; - - /// Position in the buffer - size_t pos; - - /// Buffer to hold the data to be repeated - uint8_t buffer[LZMA_SUBBLOCK_RLE_MAX]; - } repeat; - - /// Temporary buffer needed when the Subblock filter is not the last - /// filter in the chain. The output of the next filter is first - /// decoded into buffer[], which is then used as input for the actual - /// Subblock decoder. - struct { - size_t pos; - size_t size; - uint8_t buffer[LZMA_BUFFER_SIZE]; - } temp; -}; - - -/// Values of valid Subblock Flags -enum { - FLAG_PADDING, - FLAG_EOPM, - FLAG_DATA, - FLAG_REPEAT, - FLAG_SET_SUBFILTER, - FLAG_END_SUBFILTER, -}; - - -/// Calls the subfilter and updates coder->uncompressed_size. -static lzma_ret -subfilter_decode(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *in, size_t *in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - assert(coder->subfilter.code != NULL); - - // Call the subfilter. - const lzma_ret ret = coder->subfilter.code( - coder->subfilter.coder, allocator, - in, in_pos, in_size, out, out_pos, out_size, action); - - return ret; -} - - -static lzma_ret -decode_buffer(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *in, size_t *in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - while (*out_pos < out_size && (*in_pos < in_size - || coder->sequence >= SEQ_DATA)) - switch (coder->sequence) { - case SEQ_FLAGS: { - // Do the correct action depending on the Subblock Type. - switch (in[*in_pos] >> 4) { - case FLAG_PADDING: - // Only check that reserved bits are zero. - if (++coder->padding > PADDING_MAX - || in[*in_pos] & 0x0F) - return LZMA_DATA_ERROR; - ++*in_pos; - break; - - case FLAG_EOPM: - // There must be no Padding before EOPM. - if (coder->padding != 0) - return LZMA_DATA_ERROR; - - // Check that reserved bits are zero. - if (in[*in_pos] & 0x0F) - return LZMA_DATA_ERROR; - - // There must be no Subfilter enabled. - if (coder->subfilter.code != NULL) - return LZMA_DATA_ERROR; - - ++*in_pos; - return LZMA_STREAM_END; - - case FLAG_DATA: - // First four bits of the Subblock Data size. - coder->size = in[*in_pos] & 0x0F; - ++*in_pos; - coder->got_output_with_subfilter = true; - coder->sequence = SEQ_SIZE_1; - break; - - case FLAG_REPEAT: - // First four bits of the Repeat Count. We use - // coder->size as a temporary place for it. - coder->size = in[*in_pos] & 0x0F; - ++*in_pos; - coder->got_output_with_subfilter = true; - coder->sequence = SEQ_REPEAT_COUNT_1; - break; - - case FLAG_SET_SUBFILTER: { - if (coder->padding != 0 || (in[*in_pos] & 0x0F) - || coder->subfilter.code != NULL - || !coder->allow_subfilters) - return LZMA_DATA_ERROR; - - assert(coder->filter_flags.options == NULL); - abort(); -// return_if_error(lzma_filter_flags_decoder_init( -// &coder->filter_flags_decoder, -// allocator, &coder->filter_flags)); - - coder->got_output_with_subfilter = false; - - ++*in_pos; - coder->sequence = SEQ_FILTER_FLAGS; - break; - } - - case FLAG_END_SUBFILTER: { - if (coder->padding != 0 || (in[*in_pos] & 0x0F) - || coder->subfilter.code == NULL - || !coder->got_output_with_subfilter) - return LZMA_DATA_ERROR; - - // Tell the helper filter to indicate End of Input - // to our subfilter. - coder->helper.end_was_reached = true; - - size_t dummy = 0; - const lzma_ret ret = subfilter_decode(coder, allocator, - NULL, &dummy, 0, out, out_pos,out_size, - action); - - // If we didn't reach the end of the subfilter's output - // yet, return to the application. On the next call we - // will get to this same switch-case again, because we - // haven't updated *in_pos yet. - if (ret != LZMA_STREAM_END) - return ret; - - // Free Subfilter's memory. This is a bit debatable, - // since we could avoid some malloc()/free() calls - // if the same Subfilter gets used soon again. But - // if Subfilter isn't used again, we could leave - // a memory-hogging filter dangling until someone - // frees Subblock filter itself. - lzma_next_end(&coder->subfilter, allocator); - - // Free memory used for subfilter options. This is - // safe, because we don't support any Subfilter that - // would allow pointers in the options structure. - lzma_free(coder->filter_flags.options, allocator); - coder->filter_flags.options = NULL; - - ++*in_pos; - - break; - } - - default: - return LZMA_DATA_ERROR; - } - - break; - } - - case SEQ_FILTER_FLAGS: { - const lzma_ret ret = coder->filter_flags_decoder.code( - coder->filter_flags_decoder.coder, allocator, - in, in_pos, in_size, NULL, NULL, 0, LZMA_RUN); - if (ret != LZMA_STREAM_END) - return ret == LZMA_OPTIONS_ERROR - ? LZMA_DATA_ERROR : ret; - - // Don't free the filter_flags_decoder. It doesn't take much - // memory and we may need it again. - - // Initialize the Subfilter. Subblock and Copy filters are - // not allowed. - if (coder->filter_flags.id == LZMA_FILTER_SUBBLOCK) - return LZMA_DATA_ERROR; - - coder->helper.end_was_reached = false; - - lzma_filter filters[3] = { - { - .id = coder->filter_flags.id, - .options = coder->filter_flags.options, - }, { - .id = LZMA_FILTER_SUBBLOCK_HELPER, - .options = &coder->helper, - }, { - .id = LZMA_VLI_UNKNOWN, - .options = NULL, - } - }; - - // Optimization: We know that LZMA uses End of Payload Marker - // (not End of Input), so we can omit the helper filter. - if (filters[0].id == LZMA_FILTER_LZMA1) - filters[1].id = LZMA_VLI_UNKNOWN; - - return_if_error(lzma_raw_decoder_init( - &coder->subfilter, allocator, filters)); - - coder->sequence = SEQ_FLAGS; - break; - } - - case SEQ_FILTER_END: - // We are in the beginning of a Subblock. The next Subblock - // whose type is not Padding, must indicate end of Subfilter. - if (in[*in_pos] == (FLAG_PADDING << 4)) { - ++*in_pos; - break; - } - - if (in[*in_pos] != (FLAG_END_SUBFILTER << 4)) - return LZMA_DATA_ERROR; - - coder->sequence = SEQ_FLAGS; - break; - - case SEQ_REPEAT_COUNT_1: - case SEQ_SIZE_1: - // We use the same code to parse - // - the Size (28 bits) in Subblocks of type Data; and - // - the Repeat count (28 bits) in Subblocks of type - // Repeating Data. - coder->size |= (size_t)(in[*in_pos]) << 4; - ++*in_pos; - ++coder->sequence; - break; - - case SEQ_REPEAT_COUNT_2: - case SEQ_SIZE_2: - coder->size |= (size_t)(in[*in_pos]) << 12; - ++*in_pos; - ++coder->sequence; - break; - - case SEQ_REPEAT_COUNT_3: - case SEQ_SIZE_3: - coder->size |= (size_t)(in[*in_pos]) << 20; - ++*in_pos; - - // The real value is the stored value plus one. - ++coder->size; - - // This moves to SEQ_REPEAT_SIZE or SEQ_DATA. That's why - // SEQ_DATA must be right after SEQ_SIZE_3 in coder->sequence. - ++coder->sequence; - break; - - case SEQ_REPEAT_SIZE: - // Move the Repeat Count to the correct variable and parse - // the Size of the Data to be repeated. - coder->repeat.count = coder->size; - coder->repeat.size = (size_t)(in[*in_pos]) + 1; - coder->repeat.pos = 0; - - // The size of the Data field must be bigger than the number - // of Padding bytes before this Subblock. - if (coder->repeat.size <= coder->padding) - return LZMA_DATA_ERROR; - - ++*in_pos; - coder->padding = 0; - coder->sequence = SEQ_REPEAT_READ_DATA; - break; - - case SEQ_REPEAT_READ_DATA: { - // Fill coder->repeat.buffer[]. - const size_t in_avail = in_size - *in_pos; - const size_t out_avail - = coder->repeat.size - coder->repeat.pos; - const size_t copy_size = MIN(in_avail, out_avail); - - memcpy(coder->repeat.buffer + coder->repeat.pos, - in + *in_pos, copy_size); - *in_pos += copy_size; - coder->repeat.pos += copy_size; - - if (coder->repeat.pos == coder->repeat.size) { - coder->repeat.pos = 0; - - if (coder->repeat.size == 1 - && coder->subfilter.code == NULL) - coder->sequence = SEQ_REPEAT_FAST; - else - coder->sequence = SEQ_REPEAT_NORMAL; - } - - break; - } - - case SEQ_DATA: { - // The size of the Data field must be bigger than the number - // of Padding bytes before this Subblock. - assert(coder->size > 0); - if (coder->size <= coder->padding) - return LZMA_DATA_ERROR; - - coder->padding = 0; - - // Limit the amount of input to match the available - // Subblock Data size. - size_t in_limit; - if (in_size - *in_pos > coder->size) - in_limit = *in_pos + coder->size; - else - in_limit = in_size; - - if (coder->subfilter.code == NULL) { - const size_t copy_size = lzma_bufcpy( - in, in_pos, in_limit, - out, out_pos, out_size); - - coder->size -= copy_size; - } else { - const size_t in_start = *in_pos; - const lzma_ret ret = subfilter_decode( - coder, allocator, - in, in_pos, in_limit, - out, out_pos, out_size, - action); - - // Update the number of unprocessed bytes left in - // this Subblock. This assert() is true because - // in_limit prevents *in_pos getting too big. - assert(*in_pos - in_start <= coder->size); - coder->size -= *in_pos - in_start; - - if (ret == LZMA_STREAM_END) { - // End of Subfilter can occur only at - // a Subblock boundary. - if (coder->size != 0) - return LZMA_DATA_ERROR; - - // We need a Subblock with Unset - // Subfilter before more data. - coder->sequence = SEQ_FILTER_END; - break; - } - - if (ret != LZMA_OK) - return ret; - } - - // If we couldn't process the whole Subblock Data yet, return. - if (coder->size > 0) - return LZMA_OK; - - coder->sequence = SEQ_FLAGS; - break; - } - - case SEQ_REPEAT_FAST: { - // Optimization for cases when there is only one byte to - // repeat and no Subfilter. - const size_t out_avail = out_size - *out_pos; - const size_t copy_size = MIN(coder->repeat.count, out_avail); - - memset(out + *out_pos, coder->repeat.buffer[0], copy_size); - - *out_pos += copy_size; - coder->repeat.count -= copy_size; - - if (coder->repeat.count != 0) - return LZMA_OK; - - coder->sequence = SEQ_FLAGS; - break; - } - - case SEQ_REPEAT_NORMAL: - do { - // Cycle the repeat buffer if needed. - if (coder->repeat.pos == coder->repeat.size) { - if (--coder->repeat.count == 0) { - coder->sequence = SEQ_FLAGS; - break; - } - - coder->repeat.pos = 0; - } - - if (coder->subfilter.code == NULL) { - lzma_bufcpy(coder->repeat.buffer, - &coder->repeat.pos, - coder->repeat.size, - out, out_pos, out_size); - } else { - const lzma_ret ret = subfilter_decode( - coder, allocator, - coder->repeat.buffer, - &coder->repeat.pos, - coder->repeat.size, - out, out_pos, out_size, - action); - - if (ret == LZMA_STREAM_END) { - // End of Subfilter can occur only at - // a Subblock boundary. - if (coder->repeat.pos - != coder->repeat.size - || --coder->repeat - .count != 0) - return LZMA_DATA_ERROR; - - // We need a Subblock with Unset - // Subfilter before more data. - coder->sequence = SEQ_FILTER_END; - break; - - } else if (ret != LZMA_OK) { - return ret; - } - } - } while (*out_pos < out_size); - - break; - - default: - return LZMA_PROG_ERROR; - } - - return LZMA_OK; -} - - -static lzma_ret -subblock_decode(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - if (coder->next.code == NULL) - return decode_buffer(coder, allocator, in, in_pos, in_size, - out, out_pos, out_size, action); - - while (*out_pos < out_size) { - if (!coder->next_finished - && coder->temp.pos == coder->temp.size) { - coder->temp.pos = 0; - coder->temp.size = 0; - - const lzma_ret ret = coder->next.code( - coder->next.coder, - allocator, in, in_pos, in_size, - coder->temp.buffer, &coder->temp.size, - LZMA_BUFFER_SIZE, action); - - if (ret == LZMA_STREAM_END) - coder->next_finished = true; - else if (coder->temp.size == 0 || ret != LZMA_OK) - return ret; - } - - if (coder->this_finished) { - if (coder->temp.pos != coder->temp.size) - return LZMA_DATA_ERROR; - - if (coder->next_finished) - return LZMA_STREAM_END; - - return LZMA_OK; - } - - const lzma_ret ret = decode_buffer(coder, allocator, - coder->temp.buffer, &coder->temp.pos, - coder->temp.size, - out, out_pos, out_size, action); - - if (ret == LZMA_STREAM_END) - // The next coder in the chain hasn't finished - // yet. If the input data is valid, there - // must be no more output coming, but the - // next coder may still need a litle more - // input to detect End of Payload Marker. - coder->this_finished = true; - else if (ret != LZMA_OK) - return ret; - else if (coder->next_finished && *out_pos < out_size) - return LZMA_DATA_ERROR; - } - - return LZMA_OK; -} - - -static void -subblock_decoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->next, allocator); - lzma_next_end(&coder->subfilter, allocator); - lzma_next_end(&coder->filter_flags_decoder, allocator); - lzma_free(coder->filter_flags.options, allocator); - lzma_free(coder, allocator); - return; -} - - -extern lzma_ret -lzma_subblock_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &subblock_decode; - next->end = &subblock_decoder_end; - - next->coder->next = LZMA_NEXT_CODER_INIT; - next->coder->subfilter = LZMA_NEXT_CODER_INIT; - next->coder->filter_flags_decoder = LZMA_NEXT_CODER_INIT; - - } else { - lzma_next_end(&next->coder->subfilter, allocator); - lzma_free(next->coder->filter_flags.options, allocator); - } - - next->coder->filter_flags.options = NULL; - - next->coder->sequence = SEQ_FLAGS; - next->coder->padding = 0; - next->coder->next_finished = false; - next->coder->this_finished = false; - next->coder->temp.pos = 0; - next->coder->temp.size = 0; - - if (filters[0].options != NULL) - next->coder->allow_subfilters = ((lzma_options_subblock *)( - filters[0].options))->allow_subfilters; - else - next->coder->allow_subfilters = false; - - return lzma_next_filter_init( - &next->coder->next, allocator, filters + 1); -} diff --git a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.h b/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.h deleted file mode 100644 index d1030b2b94f..00000000000 --- a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.h +++ /dev/null @@ -1,22 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file subblock_decoder.h -/// \brief Decoder of the Subblock filter -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_SUBBLOCK_DECODER_H -#define LZMA_SUBBLOCK_DECODER_H - -#include "common.h" - - -extern lzma_ret lzma_subblock_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.c b/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.c deleted file mode 100644 index 2a864eddad9..00000000000 --- a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.c +++ /dev/null @@ -1,70 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file subblock_decoder_helper.c -/// \brief Helper filter for the Subblock decoder -/// -/// This filter is used to indicate End of Input for subfilters needing it. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "subblock_decoder_helper.h" - - -struct lzma_coder_s { - const lzma_options_subblock_helper *options; -}; - - -static lzma_ret -helper_decode(lzma_coder *coder, - lzma_allocator *allocator lzma_attribute((unused)), - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, - lzma_action action lzma_attribute((unused))) -{ - // If end_was_reached is true, we cannot have any input. - assert(!coder->options->end_was_reached || *in_pos == in_size); - - // We can safely copy as much as possible, because we are never - // given more data than a single Subblock Data field. - lzma_bufcpy(in, in_pos, in_size, out, out_pos, out_size); - - // Return LZMA_STREAM_END when instructed so by the Subblock decoder. - return coder->options->end_was_reached ? LZMA_STREAM_END : LZMA_OK; -} - - -static void -helper_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_free(coder, allocator); - return; -} - - -extern lzma_ret -lzma_subblock_decoder_helper_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters) -{ - // This is always the last filter in the chain. - assert(filters[1].init == NULL); - - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &helper_decode; - next->end = &helper_end; - } - - next->coder->options = filters[0].options; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.h b/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.h deleted file mode 100644 index 18dcbb39a39..00000000000 --- a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.h +++ /dev/null @@ -1,29 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file subblock_decoder_helper.h -/// \brief Helper filter for the Subblock decoder -/// -/// This filter is used to indicate End of Input for subfilters needing it. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_SUBBLOCK_DECODER_HELPER_H -#define LZMA_SUBBLOCK_DECODER_HELPER_H - -#include "common.h" - - -typedef struct { - bool end_was_reached; -} lzma_options_subblock_helper; - - -extern lzma_ret lzma_subblock_decoder_helper_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.c b/Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.c deleted file mode 100644 index 4f71f99cc63..00000000000 --- a/Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.c +++ /dev/null @@ -1,984 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file subblock_encoder.c -/// \brief Encoder of the Subblock filter -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "subblock_encoder.h" -#include "filter_encoder.h" - - -/// Maximum number of repeats that a single Repeating Data can indicate. -/// This is directly from the file format specification. -#define REPEAT_COUNT_MAX (1U << 28) - -/// Number of bytes the data chunk (not including the header part) must be -/// before we care about alignment. This is somewhat arbitrary. It just -/// doesn't make sense to waste bytes for alignment when the data chunk -/// is very small. -#define MIN_CHUNK_SIZE_FOR_ALIGN 4 - -/// Number of bytes of the header part of Subblock Type `Data'. This is -/// used as the `skew' argument for subblock_align(). -#define ALIGN_SKEW_DATA 4 - -/// Like above but for Repeating Data. -#define ALIGN_SKEW_REPEATING_DATA 5 - -/// Writes one byte to output buffer and updates the alignment counter. -#define write_byte(b) \ -do { \ - assert(*out_pos < out_size); \ - out[*out_pos] = b; \ - ++*out_pos; \ - ++coder->alignment.out_pos; \ -} while (0) - - -struct lzma_coder_s { - lzma_next_coder next; - bool next_finished; - - enum { - SEQ_FILL, - SEQ_FLUSH, - SEQ_RLE_COUNT_0, - SEQ_RLE_COUNT_1, - SEQ_RLE_COUNT_2, - SEQ_RLE_COUNT_3, - SEQ_RLE_SIZE, - SEQ_RLE_DATA, - SEQ_DATA_SIZE_0, - SEQ_DATA_SIZE_1, - SEQ_DATA_SIZE_2, - SEQ_DATA_SIZE_3, - SEQ_DATA, - SEQ_SUBFILTER_INIT, - SEQ_SUBFILTER_FLAGS, - } sequence; - - /// Pointer to the options given by the application. This is used - /// for two-way communication with the application. - lzma_options_subblock *options; - - /// Position in various arrays. - size_t pos; - - /// Holds subblock.size - 1 or rle.size - 1 when encoding size - /// of Data or Repeat Count. - uint32_t tmp; - - struct { - /// This is a copy of options->alignment, or - /// LZMA_SUBBLOCK_ALIGNMENT_DEFAULT if options is NULL. - uint32_t multiple; - - /// Number of input bytes which we have processed and started - /// writing out. 32-bit integer is enough since we care only - /// about the lowest bits when fixing alignment. - uint32_t in_pos; - - /// Number of bytes written out. - uint32_t out_pos; - } alignment; - - struct { - /// Pointer to allocated buffer holding the Data field - /// of Subblock Type "Data". - uint8_t *data; - - /// Number of bytes in the buffer. - size_t size; - - /// Allocated size of the buffer. - size_t limit; - - /// Number of input bytes that we have already read but - /// not yet started writing out. This can be different - /// to `size' when using Subfilter. That's why we track - /// in_pending separately for RLE (see below). - uint32_t in_pending; - } subblock; - - struct { - /// Buffer to hold the data that may be coded with - /// Subblock Type `Repeating Data'. - uint8_t buffer[LZMA_SUBBLOCK_RLE_MAX]; - - /// Number of bytes in buffer[]. - size_t size; - - /// Number of times the first `size' bytes of buffer[] - /// will be repeated. - uint64_t count; - - /// Like subblock.in_pending above, but for RLE. - uint32_t in_pending; - } rle; - - struct { - enum { - SUB_NONE, - SUB_SET, - SUB_RUN, - SUB_FLUSH, - SUB_FINISH, - SUB_END_MARKER, - } mode; - - /// This is a copy of options->allow_subfilters. We use - /// this to verify that the application doesn't change - /// the value of allow_subfilters. - bool allow; - - /// When this is true, application is not allowed to modify - /// options->subblock_mode. We may still modify it here. - bool mode_locked; - - /// True if we have encoded at least one byte of data with - /// the Subfilter. - bool got_input; - - /// Track the amount of input available once - /// LZMA_SUBFILTER_FINISH has been enabled. - /// This is needed for sanity checking (kind - /// of duplicating what common/code.c does). - size_t in_avail; - - /// Buffer for the Filter Flags field written after - /// the `Set Subfilter' indicator. - uint8_t *flags; - - /// Size of Filter Flags field. - uint32_t flags_size; - - /// Pointers to Subfilter. - lzma_next_coder subcoder; - - } subfilter; - - /// Temporary buffer used when we are not the last filter in the chain. - struct { - size_t pos; - size_t size; - uint8_t buffer[LZMA_BUFFER_SIZE]; - } temp; -}; - - -/// \brief Aligns the output buffer -/// -/// Aligns the output buffer so that after skew bytes the output position is -/// a multiple of coder->alignment.multiple. -static bool -subblock_align(lzma_coder *coder, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, - size_t chunk_size, uint32_t skew) -{ - assert(*out_pos < out_size); - - // Fix the alignment only if it makes sense at least a little. - if (chunk_size >= MIN_CHUNK_SIZE_FOR_ALIGN) { - const uint32_t target = coder->alignment.in_pos - % coder->alignment.multiple; - - while ((coder->alignment.out_pos + skew) - % coder->alignment.multiple != target) { - // Zero indicates padding. - write_byte(0x00); - - // Check if output buffer got full and indicate it to - // the caller. - if (*out_pos == out_size) - return true; - } - } - - // Output buffer is not full. - return false; -} - - -/// \brief Checks if buffer contains repeated data -/// -/// \param needle Buffer containing a single repeat chunk -/// \param needle_size Size of needle in bytes -/// \param buf Buffer to search for repeated needles -/// \param buf_chunks Buffer size is buf_chunks * needle_size. -/// -/// \return True if the whole buf is filled with repeated needles. -/// -static bool -is_repeating(const uint8_t *restrict needle, size_t needle_size, - const uint8_t *restrict buf, size_t buf_chunks) -{ - while (buf_chunks-- != 0) { - if (memcmp(buf, needle, needle_size) != 0) - return false; - - buf += needle_size; - } - - return true; -} - - -/// \brief Optimizes the repeating style and updates coder->sequence -static void -subblock_rle_flush(lzma_coder *coder) -{ - // The Subblock decoder can use memset() when the size of the data - // being repeated is one byte, so we check if the RLE buffer is - // filled with a single repeating byte. - if (coder->rle.size > 1) { - const uint8_t b = coder->rle.buffer[0]; - size_t i = 0; - while (true) { - if (coder->rle.buffer[i] != b) - break; - - if (++i == coder->rle.size) { - // TODO Integer overflow check maybe, - // although this needs at least 2**63 bytes - // of input until it gets triggered... - coder->rle.count *= coder->rle.size; - coder->rle.size = 1; - break; - } - } - } - - if (coder->rle.count == 1) { - // The buffer should be repeated only once. It is - // waste of space to use Repeating Data. Instead, - // write a regular Data Subblock. See SEQ_RLE_COUNT_0 - // in subblock_buffer() for more info. - coder->tmp = coder->rle.size - 1; - } else if (coder->rle.count > REPEAT_COUNT_MAX) { - // There's so much to repeat that it doesn't fit into - // 28-bit integer. We will write two or more Subblocks - // of type Repeating Data. - coder->tmp = REPEAT_COUNT_MAX - 1; - } else { - coder->tmp = coder->rle.count - 1; - } - - coder->sequence = SEQ_RLE_COUNT_0; - - return; -} - - -/// \brief Resizes coder->subblock.data for a new size limit -static lzma_ret -subblock_data_size(lzma_coder *coder, lzma_allocator *allocator, - size_t new_limit) -{ - // Verify that the new limit is valid. - if (new_limit < LZMA_SUBBLOCK_DATA_SIZE_MIN - || new_limit > LZMA_SUBBLOCK_DATA_SIZE_MAX) - return LZMA_OPTIONS_ERROR; - - // Ff the new limit is different than the previous one, we need - // to reallocate the data buffer. - if (new_limit != coder->subblock.limit) { - lzma_free(coder->subblock.data, allocator); - coder->subblock.data = lzma_alloc(new_limit, allocator); - if (coder->subblock.data == NULL) - return LZMA_MEM_ERROR; - } - - coder->subblock.limit = new_limit; - - return LZMA_OK; -} - - -static lzma_ret -subblock_buffer(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - // Changing allow_subfilter is not allowed. - if (coder->options != NULL && coder->subfilter.allow - != coder->options->allow_subfilters) - return LZMA_PROG_ERROR; - - // Check if we need to do something special with the Subfilter. - if (coder->subfilter.allow) { - assert(coder->options != NULL); - - // See if subfilter_mode has been changed. - switch (coder->options->subfilter_mode) { - case LZMA_SUBFILTER_NONE: - if (coder->subfilter.mode != SUB_NONE) - return LZMA_PROG_ERROR; - break; - - case LZMA_SUBFILTER_SET: - if (coder->subfilter.mode_locked - || coder->subfilter.mode != SUB_NONE) - return LZMA_PROG_ERROR; - - coder->subfilter.mode = SUB_SET; - coder->subfilter.got_input = false; - - if (coder->sequence == SEQ_FILL) - coder->sequence = SEQ_FLUSH; - - break; - - case LZMA_SUBFILTER_RUN: - if (coder->subfilter.mode != SUB_RUN) - return LZMA_PROG_ERROR; - - break; - - case LZMA_SUBFILTER_FINISH: { - const size_t in_avail = in_size - *in_pos; - - if (coder->subfilter.mode == SUB_RUN) { - if (coder->subfilter.mode_locked) - return LZMA_PROG_ERROR; - - coder->subfilter.mode = SUB_FINISH; - coder->subfilter.in_avail = in_avail; - - } else if (coder->subfilter.mode != SUB_FINISH - || coder->subfilter.in_avail - != in_avail) { - return LZMA_PROG_ERROR; - } - - break; - } - - default: - return LZMA_OPTIONS_ERROR; - } - - // If we are sync-flushing or finishing, the application may - // no longer change subfilter_mode. Note that this check is - // done after checking the new subfilter_mode above; this - // way the application may e.g. set LZMA_SUBFILTER_SET and - // LZMA_SYNC_FLUSH at the same time, but it cannot modify - // subfilter_mode on the later lzma_code() calls before - // we have returned LZMA_STREAM_END. - if (action != LZMA_RUN) - coder->subfilter.mode_locked = true; - } - - // Main loop - while (*out_pos < out_size) - switch (coder->sequence) { - case SEQ_FILL: - // Grab the new Subblock Data Size and reallocate the buffer. - if (coder->subblock.size == 0 && coder->options != NULL - && coder->options->subblock_data_size - != coder->subblock.limit) - return_if_error(subblock_data_size(coder, - allocator, coder->options - ->subblock_data_size)); - - if (coder->subfilter.mode == SUB_NONE) { - assert(coder->subfilter.subcoder.code == NULL); - - // No Subfilter is enabled, just copy the data as is. - coder->subblock.in_pending += lzma_bufcpy( - in, in_pos, in_size, - coder->subblock.data, - &coder->subblock.size, - coder->subblock.limit); - - // If we ran out of input before the whole buffer - // was filled, return to application. - if (coder->subblock.size < coder->subblock.limit - && action == LZMA_RUN) - return LZMA_OK; - - } else { - assert(coder->options->subfilter_mode - != LZMA_SUBFILTER_SET); - - // Using LZMA_FINISH automatically toggles - // LZMA_SUBFILTER_FINISH. - // - // NOTE: It is possible that application had set - // LZMA_SUBFILTER_SET and LZMA_FINISH at the same - // time. In that case it is possible that we will - // cycle to LZMA_SUBFILTER_RUN, LZMA_SUBFILTER_FINISH, - // and back to LZMA_SUBFILTER_NONE in a single - // Subblock encoder function call. - if (action == LZMA_FINISH) { - coder->options->subfilter_mode - = LZMA_SUBFILTER_FINISH; - coder->subfilter.mode = SUB_FINISH; - } - - const size_t in_start = *in_pos; - - const lzma_ret ret = coder->subfilter.subcoder.code( - coder->subfilter.subcoder.coder, - allocator, in, in_pos, in_size, - coder->subblock.data, - &coder->subblock.size, - coder->subblock.limit, - coder->subfilter.mode == SUB_FINISH - ? LZMA_FINISH : action); - - const size_t in_used = *in_pos - in_start; - coder->subblock.in_pending += in_used; - if (in_used > 0) - coder->subfilter.got_input = true; - - coder->subfilter.in_avail = in_size - *in_pos; - - if (ret == LZMA_STREAM_END) { - // All currently available input must have - // been processed. - assert(*in_pos == in_size); - - // Flush now. Even if coder->subblock.size - // happened to be zero, we still need to go - // to SEQ_FLUSH to possibly finish RLE or - // write the Subfilter Unset indicator. - coder->sequence = SEQ_FLUSH; - - if (coder->subfilter.mode == SUB_RUN) { - // Flushing with Subfilter enabled. - assert(action == LZMA_SYNC_FLUSH); - coder->subfilter.mode = SUB_FLUSH; - break; - } - - // Subfilter finished its job. - assert(coder->subfilter.mode == SUB_FINISH - || action == LZMA_FINISH); - - // At least one byte of input must have been - // encoded with the Subfilter. This is - // required by the file format specification. - if (!coder->subfilter.got_input) - return LZMA_PROG_ERROR; - - // We don't strictly need to do this, but - // doing it sounds like a good idea, because - // otherwise the Subfilter's memory could be - // left allocated for long time, and would - // just waste memory. - lzma_next_end(&coder->subfilter.subcoder, - allocator); - - // We need to flush the currently buffered - // data and write Unset Subfilter marker. - // Note that we cannot set - // coder->options->subfilter_mode to - // LZMA_SUBFILTER_NONE yet, because we - // haven't written the Unset Subfilter - // marker yet. - coder->subfilter.mode = SUB_END_MARKER; - coder->sequence = SEQ_FLUSH; - break; - } - - // Return if we couldn't fill the buffer or - // if an error occurred. - if (coder->subblock.size < coder->subblock.limit - || ret != LZMA_OK) - return ret; - } - - coder->sequence = SEQ_FLUSH; - - // SEQ_FILL doesn't produce any output so falling through - // to SEQ_FLUSH is safe. - assert(*out_pos < out_size); - - // Fall through - - case SEQ_FLUSH: - if (coder->options != NULL) { - // Update the alignment variable. - coder->alignment.multiple = coder->options->alignment; - if (coder->alignment.multiple - < LZMA_SUBBLOCK_ALIGNMENT_MIN - || coder->alignment.multiple - > LZMA_SUBBLOCK_ALIGNMENT_MAX) - return LZMA_OPTIONS_ERROR; - - // Run-length encoder - // - // First check if there is some data pending and we - // have an obvious need to flush it immediately. - if (coder->rle.count > 0 - && (coder->rle.size - != coder->options->rle - || coder->subblock.size - % coder->rle.size)) { - subblock_rle_flush(coder); - break; - } - - // Grab the (possibly new) RLE chunk size and - // validate it. - coder->rle.size = coder->options->rle; - if (coder->rle.size > LZMA_SUBBLOCK_RLE_MAX) - return LZMA_OPTIONS_ERROR; - - if (coder->subblock.size != 0 - && coder->rle.size - != LZMA_SUBBLOCK_RLE_OFF - && coder->subblock.size - % coder->rle.size == 0) { - - // Initialize coder->rle.buffer if we don't - // have RLE already running. - if (coder->rle.count == 0) - memcpy(coder->rle.buffer, - coder->subblock.data, - coder->rle.size); - - // Test if coder->subblock.data is repeating. - // If coder->rle.count would overflow, we - // force flushing. Forced flushing shouldn't - // really happen in real-world situations. - const size_t count = coder->subblock.size - / coder->rle.size; - if (UINT64_MAX - count > coder->rle.count - && is_repeating( - coder->rle.buffer, - coder->rle.size, - coder->subblock.data, - count)) { - coder->rle.count += count; - coder->rle.in_pending += coder - ->subblock.in_pending; - coder->subblock.in_pending = 0; - coder->subblock.size = 0; - - } else if (coder->rle.count > 0) { - // It's not repeating or at least not - // with the same byte sequence as the - // earlier Subblock Data buffers. We - // have some data pending in the RLE - // buffer already, so do a flush. - // Once flushed, we will check again - // if the Subblock Data happens to - // contain a different repeating - // sequence. - subblock_rle_flush(coder); - break; - } - } - } - - // If we now have some data left in coder->subblock, the RLE - // buffer is empty and we must write a regular Subblock Data. - if (coder->subblock.size > 0) { - assert(coder->rle.count == 0); - coder->tmp = coder->subblock.size - 1; - coder->sequence = SEQ_DATA_SIZE_0; - break; - } - - // Check if we should enable Subfilter. - if (coder->subfilter.mode == SUB_SET) { - if (coder->rle.count > 0) - subblock_rle_flush(coder); - else - coder->sequence = SEQ_SUBFILTER_INIT; - break; - } - - // Check if we have just finished Subfiltering. - if (coder->subfilter.mode == SUB_END_MARKER) { - if (coder->rle.count > 0) { - subblock_rle_flush(coder); - break; - } - - coder->options->subfilter_mode = LZMA_SUBFILTER_NONE; - coder->subfilter.mode = SUB_NONE; - - write_byte(0x50); - if (*out_pos == out_size) - return LZMA_OK; - } - - // Check if we have already written everything. - if (action != LZMA_RUN && *in_pos == in_size - && (coder->subfilter.mode == SUB_NONE - || coder->subfilter.mode == SUB_FLUSH)) { - if (coder->rle.count > 0) { - subblock_rle_flush(coder); - break; - } - - if (action == LZMA_SYNC_FLUSH) { - if (coder->subfilter.mode == SUB_FLUSH) - coder->subfilter.mode = SUB_RUN; - - coder->subfilter.mode_locked = false; - coder->sequence = SEQ_FILL; - - } else { - assert(action == LZMA_FINISH); - - // Write EOPM. - // NOTE: No need to use write_byte() here - // since we are finishing. - out[*out_pos] = 0x10; - ++*out_pos; - } - - return LZMA_STREAM_END; - } - - // Otherwise we have more work to do. - coder->sequence = SEQ_FILL; - break; - - case SEQ_RLE_COUNT_0: - assert(coder->rle.count > 0); - - if (coder->rle.count == 1) { - // The buffer should be repeated only once. Fix - // the alignment and write the first byte of - // Subblock Type `Data'. - if (subblock_align(coder, out, out_pos, out_size, - coder->rle.size, ALIGN_SKEW_DATA)) - return LZMA_OK; - - write_byte(0x20 | (coder->tmp & 0x0F)); - - } else { - // We have something to actually repeat, which should - // mean that it takes less space with run-length - // encoding. - if (subblock_align(coder, out, out_pos, out_size, - coder->rle.size, - ALIGN_SKEW_REPEATING_DATA)) - return LZMA_OK; - - write_byte(0x30 | (coder->tmp & 0x0F)); - } - - // NOTE: If we have to write more than one Repeating Data - // due to rle.count > REPEAT_COUNT_MAX, the subsequent - // Repeating Data Subblocks may get wrong alignment, because - // we add rle.in_pending to alignment.in_pos at once instead - // of adding only as much as this particular Repeating Data - // consumed input data. Correct alignment is always restored - // after all the required Repeating Data Subblocks have been - // written. This problem occurs in such a weird cases that - // it's not worth fixing. - coder->alignment.out_pos += coder->rle.size; - coder->alignment.in_pos += coder->rle.in_pending; - coder->rle.in_pending = 0; - - coder->sequence = SEQ_RLE_COUNT_1; - break; - - case SEQ_RLE_COUNT_1: - write_byte(coder->tmp >> 4); - coder->sequence = SEQ_RLE_COUNT_2; - break; - - case SEQ_RLE_COUNT_2: - write_byte(coder->tmp >> 12); - coder->sequence = SEQ_RLE_COUNT_3; - break; - - case SEQ_RLE_COUNT_3: - write_byte(coder->tmp >> 20); - - // Again, see if we are writing regular Data or Repeating Data. - // In the former case, we skip SEQ_RLE_SIZE. - if (coder->rle.count == 1) - coder->sequence = SEQ_RLE_DATA; - else - coder->sequence = SEQ_RLE_SIZE; - - if (coder->rle.count > REPEAT_COUNT_MAX) - coder->rle.count -= REPEAT_COUNT_MAX; - else - coder->rle.count = 0; - - break; - - case SEQ_RLE_SIZE: - assert(coder->rle.size >= LZMA_SUBBLOCK_RLE_MIN); - assert(coder->rle.size <= LZMA_SUBBLOCK_RLE_MAX); - write_byte(coder->rle.size - 1); - coder->sequence = SEQ_RLE_DATA; - break; - - case SEQ_RLE_DATA: - lzma_bufcpy(coder->rle.buffer, &coder->pos, coder->rle.size, - out, out_pos, out_size); - if (coder->pos < coder->rle.size) - return LZMA_OK; - - coder->pos = 0; - coder->sequence = SEQ_FLUSH; - break; - - case SEQ_DATA_SIZE_0: - // We need four bytes for the Size field. - if (subblock_align(coder, out, out_pos, out_size, - coder->subblock.size, ALIGN_SKEW_DATA)) - return LZMA_OK; - - coder->alignment.out_pos += coder->subblock.size; - coder->alignment.in_pos += coder->subblock.in_pending; - coder->subblock.in_pending = 0; - - write_byte(0x20 | (coder->tmp & 0x0F)); - coder->sequence = SEQ_DATA_SIZE_1; - break; - - case SEQ_DATA_SIZE_1: - write_byte(coder->tmp >> 4); - coder->sequence = SEQ_DATA_SIZE_2; - break; - - case SEQ_DATA_SIZE_2: - write_byte(coder->tmp >> 12); - coder->sequence = SEQ_DATA_SIZE_3; - break; - - case SEQ_DATA_SIZE_3: - write_byte(coder->tmp >> 20); - coder->sequence = SEQ_DATA; - break; - - case SEQ_DATA: - lzma_bufcpy(coder->subblock.data, &coder->pos, - coder->subblock.size, out, out_pos, out_size); - if (coder->pos < coder->subblock.size) - return LZMA_OK; - - coder->subblock.size = 0; - coder->pos = 0; - coder->sequence = SEQ_FLUSH; - break; - - case SEQ_SUBFILTER_INIT: { - assert(coder->subblock.size == 0); - assert(coder->subblock.in_pending == 0); - assert(coder->rle.count == 0); - assert(coder->rle.in_pending == 0); - assert(coder->subfilter.mode == SUB_SET); - assert(coder->options != NULL); - - // There must be a filter specified. - if (coder->options->subfilter_options.id == LZMA_VLI_UNKNOWN) - return LZMA_OPTIONS_ERROR; - - // Initialize a raw encoder to work as a Subfilter. - lzma_filter options[2]; - options[0] = coder->options->subfilter_options; - options[1].id = LZMA_VLI_UNKNOWN; - - return_if_error(lzma_raw_encoder_init( - &coder->subfilter.subcoder, allocator, - options)); - - // Encode the Filter Flags field into a buffer. This should - // never fail since we have already successfully initialized - // the Subfilter itself. Check it still, and return - // LZMA_PROG_ERROR instead of whatever the ret would say. - lzma_ret ret = lzma_filter_flags_size( - &coder->subfilter.flags_size, options); - assert(ret == LZMA_OK); - if (ret != LZMA_OK) - return LZMA_PROG_ERROR; - - coder->subfilter.flags = lzma_alloc( - coder->subfilter.flags_size, allocator); - if (coder->subfilter.flags == NULL) - return LZMA_MEM_ERROR; - - // Now we have a big-enough buffer. Encode the Filter Flags. - // Like above, this should never fail. - size_t dummy = 0; - ret = lzma_filter_flags_encode(options, coder->subfilter.flags, - &dummy, coder->subfilter.flags_size); - assert(ret == LZMA_OK); - assert(dummy == coder->subfilter.flags_size); - if (ret != LZMA_OK || dummy != coder->subfilter.flags_size) - return LZMA_PROG_ERROR; - - // Write a Subblock indicating a new Subfilter. - write_byte(0x40); - - coder->options->subfilter_mode = LZMA_SUBFILTER_RUN; - coder->subfilter.mode = SUB_RUN; - coder->alignment.out_pos += coder->subfilter.flags_size; - coder->sequence = SEQ_SUBFILTER_FLAGS; - - // It is safe to fall through because SEQ_SUBFILTER_FLAGS - // uses lzma_bufcpy() which doesn't write unless there is - // output space. - } - - // Fall through - - case SEQ_SUBFILTER_FLAGS: - // Copy the Filter Flags to the output stream. - lzma_bufcpy(coder->subfilter.flags, &coder->pos, - coder->subfilter.flags_size, - out, out_pos, out_size); - if (coder->pos < coder->subfilter.flags_size) - return LZMA_OK; - - lzma_free(coder->subfilter.flags, allocator); - coder->subfilter.flags = NULL; - - coder->pos = 0; - coder->sequence = SEQ_FILL; - break; - - default: - return LZMA_PROG_ERROR; - } - - return LZMA_OK; -} - - -static lzma_ret -subblock_encode(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - if (coder->next.code == NULL) - return subblock_buffer(coder, allocator, in, in_pos, in_size, - out, out_pos, out_size, action); - - while (*out_pos < out_size - && (*in_pos < in_size || action != LZMA_RUN)) { - if (!coder->next_finished - && coder->temp.pos == coder->temp.size) { - coder->temp.pos = 0; - coder->temp.size = 0; - - const lzma_ret ret = coder->next.code(coder->next.coder, - allocator, in, in_pos, in_size, - coder->temp.buffer, &coder->temp.size, - LZMA_BUFFER_SIZE, action); - if (ret == LZMA_STREAM_END) { - assert(action != LZMA_RUN); - coder->next_finished = true; - } else if (coder->temp.size == 0 || ret != LZMA_OK) { - return ret; - } - } - - const lzma_ret ret = subblock_buffer(coder, allocator, - coder->temp.buffer, &coder->temp.pos, - coder->temp.size, out, out_pos, out_size, - coder->next_finished ? LZMA_FINISH : LZMA_RUN); - if (ret == LZMA_STREAM_END) { - assert(action != LZMA_RUN); - assert(coder->next_finished); - return LZMA_STREAM_END; - } - - if (ret != LZMA_OK) - return ret; - } - - return LZMA_OK; -} - - -static void -subblock_encoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->next, allocator); - lzma_next_end(&coder->subfilter.subcoder, allocator); - lzma_free(coder->subblock.data, allocator); - lzma_free(coder->subfilter.flags, allocator); - lzma_free(coder, allocator); - return; -} - - -extern lzma_ret -lzma_subblock_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &subblock_encode; - next->end = &subblock_encoder_end; - - next->coder->next = LZMA_NEXT_CODER_INIT; - next->coder->subblock.data = NULL; - next->coder->subblock.limit = 0; - next->coder->subfilter.subcoder = LZMA_NEXT_CODER_INIT; - } else { - lzma_next_end(&next->coder->subfilter.subcoder, - allocator); - lzma_free(next->coder->subfilter.flags, allocator); - } - - next->coder->subfilter.flags = NULL; - - next->coder->next_finished = false; - next->coder->sequence = SEQ_FILL; - next->coder->options = filters[0].options; - next->coder->pos = 0; - - next->coder->alignment.in_pos = 0; - next->coder->alignment.out_pos = 0; - next->coder->subblock.size = 0; - next->coder->subblock.in_pending = 0; - next->coder->rle.count = 0; - next->coder->rle.in_pending = 0; - next->coder->subfilter.mode = SUB_NONE; - next->coder->subfilter.mode_locked = false; - - next->coder->temp.pos = 0; - next->coder->temp.size = 0; - - // Grab some values from the options structure if it is available. - size_t subblock_size_limit; - if (next->coder->options != NULL) { - if (next->coder->options->alignment - < LZMA_SUBBLOCK_ALIGNMENT_MIN - || next->coder->options->alignment - > LZMA_SUBBLOCK_ALIGNMENT_MAX) { - subblock_encoder_end(next->coder, allocator); - return LZMA_OPTIONS_ERROR; - } - next->coder->alignment.multiple - = next->coder->options->alignment; - next->coder->subfilter.allow - = next->coder->options->allow_subfilters; - subblock_size_limit = next->coder->options->subblock_data_size; - } else { - next->coder->alignment.multiple - = LZMA_SUBBLOCK_ALIGNMENT_DEFAULT; - next->coder->subfilter.allow = false; - subblock_size_limit = LZMA_SUBBLOCK_DATA_SIZE_DEFAULT; - } - - return_if_error(subblock_data_size(next->coder, allocator, - subblock_size_limit)); - - return lzma_next_filter_init( - &next->coder->next, allocator, filters + 1); -} diff --git a/Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.h b/Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.h deleted file mode 100644 index ddbfe64bce8..00000000000 --- a/Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.h +++ /dev/null @@ -1,21 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file subblock_encoder.h -/// \brief Encoder of the Subblock filter -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_SUBBLOCK_ENCODER_H -#define LZMA_SUBBLOCK_ENCODER_H - -#include "common.h" - -extern lzma_ret lzma_subblock_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -#endif diff --git a/Build/source/extra/xz/src/lzmainfo/lzmainfo.c b/Build/source/extra/xz/src/lzmainfo/lzmainfo.c index 3100dc631af..b0ccdfb430e 100644 --- a/Build/source/extra/xz/src/lzmainfo/lzmainfo.c +++ b/Build/source/extra/xz/src/lzmainfo/lzmainfo.c @@ -26,7 +26,7 @@ #endif -static void lzma_attribute((noreturn)) +static void lzma_attribute((__noreturn__)) help(void) { printf( @@ -45,7 +45,7 @@ _("Usage: %s [--help] [--version] [FILE]...\n" } -static void lzma_attribute((noreturn)) +static void lzma_attribute((__noreturn__)) version(void) { puts("lzmainfo (" PACKAGE_NAME ") " LZMA_VERSION_STRING); diff --git a/Build/source/extra/xz/src/scripts/xzgrep.in b/Build/source/extra/xz/src/scripts/xzgrep.in index a8b8117a0c1..ae30725c69f 100644 --- a/Build/source/extra/xz/src/scripts/xzgrep.in +++ b/Build/source/extra/xz/src/scripts/xzgrep.in @@ -27,7 +27,7 @@ xz='@xz@ --format=auto' unset GZIP BZIP BZIP2 -case ${0##/*} in +case ${0##*/} in *egrep*) prog=xzegrep; grep=${GREP:-egrep};; *fgrep*) prog=xzfgrep; grep=${GREP:-fgrep};; *) prog=xzgrep; grep=${GREP:-grep};; @@ -35,7 +35,7 @@ esac version="$prog (@PACKAGE_NAME@) @VERSION@" -usage="Usage: ${0##/*} [OPTION]... [-e] PATTERN [FILE]... +usage="Usage: ${0##*/} [OPTION]... [-e] PATTERN [FILE]... Look for instances of PATTERN in the input FILEs, using their uncompressed contents if they are compressed. diff --git a/Build/source/extra/xz/src/xz/coder.c b/Build/source/extra/xz/src/xz/coder.c index 5182dddc3ff..b123ec5bf2b 100644 --- a/Build/source/extra/xz/src/xz/coder.c +++ b/Build/source/extra/xz/src/xz/coder.c @@ -102,7 +102,7 @@ coder_add_filter(lzma_vli id, void *options) } -static void lzma_attribute((noreturn)) +static void lzma_attribute((__noreturn__)) memlimit_too_small(uint64_t memory_usage) { message(V_ERROR, _("Memory usage limit is too low for the given " diff --git a/Build/source/extra/xz/src/xz/file_io.c b/Build/source/extra/xz/src/xz/file_io.c index 09edcca69eb..f9b7f305e09 100644 --- a/Build/source/extra/xz/src/xz/file_io.c +++ b/Build/source/extra/xz/src/xz/file_io.c @@ -53,7 +53,7 @@ static bool io_write_buf(file_pair *pair, const uint8_t *buf, size_t size); extern void io_init(void) { - // Make sure that stdin, stdout, and and stderr are connected to + // Make sure that stdin, stdout, and stderr are connected to // a valid file descriptor. Exit immediately with exit code ERROR // if we cannot make the file descriptors valid. Maybe we should // print an error message, but our stderr could be screwed anyway. diff --git a/Build/source/extra/xz/src/xz/hardware.h b/Build/source/extra/xz/src/xz/hardware.h index bed952b07d2..ad526f260bc 100644 --- a/Build/source/extra/xz/src/xz/hardware.h +++ b/Build/source/extra/xz/src/xz/hardware.h @@ -35,4 +35,4 @@ extern void hardware_memlimit_set(uint64_t new_memlimit, extern uint64_t hardware_memlimit_get(enum operation_mode mode); /// Display the amount of RAM and memory usage limits and exit. -extern void hardware_memlimit_show(void) lzma_attribute((noreturn)); +extern void hardware_memlimit_show(void) lzma_attribute((__noreturn__)); diff --git a/Build/source/extra/xz/src/xz/message.c b/Build/source/extra/xz/src/xz/message.c index 38cce4a1b0f..80c86a49c3d 100644 --- a/Build/source/extra/xz/src/xz/message.c +++ b/Build/source/extra/xz/src/xz/message.c @@ -94,7 +94,7 @@ static volatile sig_atomic_t progress_needs_updating = false; /// Signal handler for SIGALRM static void -progress_signal_handler(int sig lzma_attribute((unused))) +progress_signal_handler(int sig lzma_attribute((__unused__))) { progress_needs_updating = true; return; @@ -726,7 +726,11 @@ vmessage(enum message_verbosity v, const char *fmt, va_list ap) progress_flush(false); - fprintf(stderr, "%s: ", progname); + // TRANSLATORS: This is the program name in the beginning + // of the line in messages. Usually it becomes "xz: ". + // This is a translatable string because French needs + // a space before a colon. + fprintf(stderr, _("%s: "), progname); vfprintf(stderr, fmt, ap); fputc('\n', stderr); diff --git a/Build/source/extra/xz/src/xz/message.h b/Build/source/extra/xz/src/xz/message.h index e3fca3cc42c..74599bd978a 100644 --- a/Build/source/extra/xz/src/xz/message.h +++ b/Build/source/extra/xz/src/xz/message.h @@ -45,7 +45,7 @@ extern enum message_verbosity message_verbosity_get(void); /// /// This doesn't touch the exit status. extern void message(enum message_verbosity verbosity, const char *fmt, ...) - lzma_attribute((format(printf, 2, 3))); + lzma_attribute((__format__(__printf__, 2, 3))); /// \brief Prints a warning and possibly sets exit status @@ -53,7 +53,7 @@ extern void message(enum message_verbosity verbosity, const char *fmt, ...) /// The message is printed only if verbosity level is at least V_WARNING. /// The exit status is set to WARNING unless it was already at ERROR. extern void message_warning(const char *fmt, ...) - lzma_attribute((format(printf, 1, 2))); + lzma_attribute((__format__(__printf__, 1, 2))); /// \brief Prints an error message and sets exit status @@ -61,25 +61,25 @@ extern void message_warning(const char *fmt, ...) /// The message is printed only if verbosity level is at least V_ERROR. /// The exit status is set to ERROR. extern void message_error(const char *fmt, ...) - lzma_attribute((format(printf, 1, 2))); + lzma_attribute((__format__(__printf__, 1, 2))); /// \brief Prints an error message and exits with EXIT_ERROR /// /// The message is printed only if verbosity level is at least V_ERROR. extern void message_fatal(const char *fmt, ...) - lzma_attribute((format(printf, 1, 2))) - lzma_attribute((noreturn)); + lzma_attribute((__format__(__printf__, 1, 2))) + lzma_attribute((__noreturn__)); /// Print an error message that an internal error occurred and exit with /// EXIT_ERROR. -extern void message_bug(void) lzma_attribute((noreturn)); +extern void message_bug(void) lzma_attribute((__noreturn__)); /// Print a message that establishing signal handlers failed, and exit with /// exit status ERROR. -extern void message_signal_handler(void) lzma_attribute((noreturn)); +extern void message_signal_handler(void) lzma_attribute((__noreturn__)); /// Convert lzma_ret to a string. @@ -116,11 +116,11 @@ extern void message_try_help(void); /// Prints the version number to stdout and exits with exit status SUCCESS. -extern void message_version(void) lzma_attribute((noreturn)); +extern void message_version(void) lzma_attribute((__noreturn__)); /// Print the help message. -extern void message_help(bool long_help) lzma_attribute((noreturn)); +extern void message_help(bool long_help) lzma_attribute((__noreturn__)); /// \brief Set the total number of files to be processed diff --git a/Build/source/extra/xz/src/xz/options.c b/Build/source/extra/xz/src/xz/options.c index 379a2e46dc0..f21a0ba5106 100644 --- a/Build/source/extra/xz/src/xz/options.c +++ b/Build/source/extra/xz/src/xz/options.c @@ -150,7 +150,7 @@ enum { static void set_delta(void *options, uint32_t key, uint64_t value, - const char *valuestr lzma_attribute((unused))) + const char *valuestr lzma_attribute((__unused__))) { lzma_options_delta *opt = options; switch (key) { @@ -194,7 +194,7 @@ enum { static void set_bcj(void *options, uint32_t key, uint64_t value, - const char *valuestr lzma_attribute((unused))) + const char *valuestr lzma_attribute((__unused__))) { lzma_options_bcj *opt = options; switch (key) { @@ -241,7 +241,7 @@ enum { }; -static void lzma_attribute((noreturn)) +static void lzma_attribute((__noreturn__)) error_lzma_preset(const char *valuestr) { message_fatal(_("Unsupported LZMA1/LZMA2 preset: %s"), valuestr); diff --git a/Build/source/extra/xz/src/xz/signals.c b/Build/source/extra/xz/src/xz/signals.c index 4d6a9da3162..de213644d00 100644 --- a/Build/source/extra/xz/src/xz/signals.c +++ b/Build/source/extra/xz/src/xz/signals.c @@ -179,7 +179,7 @@ signals_exit(void) // console window. static BOOL WINAPI -signal_handler(DWORD type lzma_attribute((unused))) +signal_handler(DWORD type lzma_attribute((__unused__))) { // Since we don't get a signal number which we could raise() at // signals_exit() like on POSIX, just set the exit status to diff --git a/Build/source/extra/xz/src/xz/util.h b/Build/source/extra/xz/src/xz/util.h index 4b2d3e2f573..a2516bf9680 100644 --- a/Build/source/extra/xz/src/xz/util.h +++ b/Build/source/extra/xz/src/xz/util.h @@ -20,11 +20,11 @@ /// \brief Safe realloc() that never returns NULL extern void *xrealloc(void *ptr, size_t size) - lzma_attribute((malloc)) lzma_attr_alloc_size(2); + lzma_attribute((__malloc__)) lzma_attr_alloc_size(2); /// \brief Safe strdup() that never returns NULL -extern char *xstrdup(const char *src) lzma_attribute((malloc)); +extern char *xstrdup(const char *src) lzma_attribute((__malloc__)); /// \brief Fancy version of strtoull() @@ -102,7 +102,7 @@ extern const char *uint64_to_nicestr(uint64_t value, /// A maximum of *left bytes is written starting from *pos. *pos and *left /// are updated accordingly. extern void my_snprintf(char **pos, size_t *left, const char *fmt, ...) - lzma_attribute((format(printf, 3, 4))); + lzma_attribute((__format__(__printf__, 3, 4))); /// \brief Check if filename is empty and print an error message diff --git a/Build/source/extra/xz/src/xz/xz.1 b/Build/source/extra/xz/src/xz/xz.1 index cba1d077c2d..f1c9135d159 100644 --- a/Build/source/extra/xz/src/xz/xz.1 +++ b/Build/source/extra/xz/src/xz/xz.1 @@ -866,7 +866,7 @@ This is equivalent to specifying \fB\-\-memlimit\-compress=\fIlimit \fB\-\-memlimit\-decompress=\fIlimit\fR. .TP .B \-\-no\-adjust -Display an error and exit if the compression settings exceed the +Display an error and exit if the compression settings exceed the memory usage limit. The default is to adjust the settings downwards so that the memory usage limit is not exceeded. diff --git a/Build/source/extra/xz/src/xzdec/xzdec.c b/Build/source/extra/xz/src/xzdec/xzdec.c index fd015076de9..b7830db4b52 100644 --- a/Build/source/extra/xz/src/xzdec/xzdec.c +++ b/Build/source/extra/xz/src/xzdec/xzdec.c @@ -40,7 +40,7 @@ static unsigned int display_errors = 2; -static void lzma_attribute((format(printf, 1, 2))) +static void lzma_attribute((__format__(__printf__, 1, 2))) my_errorf(const char *fmt, ...) { va_list ap; @@ -57,7 +57,7 @@ my_errorf(const char *fmt, ...) } -static void lzma_attribute((noreturn)) +static void lzma_attribute((__noreturn__)) help(void) { printf( @@ -81,7 +81,7 @@ PACKAGE_NAME " home page: <" PACKAGE_URL ">\n", progname); } -static void lzma_attribute((noreturn)) +static void lzma_attribute((__noreturn__)) version(void) { printf(TOOL_FORMAT "dec (" PACKAGE_NAME ") " LZMA_VERSION_STRING "\n" diff --git a/Build/source/extra/xz/version.sh b/Build/source/extra/xz/version.sh deleted file mode 100644 index 40d04936288..00000000000 --- a/Build/source/extra/xz/version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# -############################################################################# -# -# Get the version string from version.h and print it out without -# trailing newline. This makes it suitable for use in configure.ac. -# -############################################################################# -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################# - -sed -n 's/LZMA_VERSION_STABILITY_ALPHA/alpha/ - s/LZMA_VERSION_STABILITY_BETA/beta/ - s/LZMA_VERSION_STABILITY_STABLE// - s/^#define LZMA_VERSION_[MPS][AIT][AJNT][A-Z]* //p' \ - src/liblzma/api/lzma/version.h \ - | tr '\n' '|' \ - | sed 's/|/./; s/|/./; s/|//g' \ - | tr -d '\n' diff --git a/Build/source/extra/xz/windows/INSTALL-Windows.txt b/Build/source/extra/xz/windows/INSTALL-Windows.txt index 5515708fa77..bb4a4d6625c 100644 --- a/Build/source/extra/xz/windows/INSTALL-Windows.txt +++ b/Build/source/extra/xz/windows/INSTALL-Windows.txt @@ -133,7 +133,7 @@ Building XZ Utils Using a snapshot from the Git repository To use a snapshot, the build system files need to be generated with - autogen.sh or "autoreconf -fi" before trying to build using the the + autogen.sh or "autoreconf -fi" before trying to build using the above build instructions. You can install the relevant extra packages from MinGW or use Cygwin or use e.g. a GNU/Linux system to create a source package with the required build system files. diff --git a/Build/source/extra/xz/windows/build.sh b/Build/source/extra/xz/windows/build.sh deleted file mode 100644 index 3c762dc0c1b..00000000000 --- a/Build/source/extra/xz/windows/build.sh +++ /dev/null @@ -1,188 +0,0 @@ -#!/bin/sh -# -############################################################################### -# -# Build a binary package on Windows with MinGW and MSYS -# -# Set the paths where MinGW, Mingw-w32, or MinGW-w64 are installed. If both -# MinGW and MinGW-w32 are specified, MinGW will be used. If there is no -# 32-bit or 64-bit compiler at all, it is simply skipped. -# -# Optionally, 7-Zip is used to create the final .zip and .7z packages. -# If you have installed it in the default directory, this script should -# find it automatically. Otherwise adjust the path manually. -# -# If you want to use a cross-compiler e.g. on GNU/Linux, this script won't -# work out of the box. You need to omit "make check" commands and replace -# u2d with some other tool to convert newlines from LF to CR+LF. You will -# also need to pass the --host option to configure. -# -############################################################################### -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################### - -MINGW_DIR=/c/devel/tools/mingw -MINGW_W32_DIR=/c/devel/tools/mingw-w32 -MINGW_W64_DIR=/c/devel/tools/mingw-w64 - -for SEVENZ_EXE in "$PROGRAMW6432/7-Zip/7z.exe" "$PROGRAMFILES/7-Zip/7z.exe" \ - "/c/Program Files/7-Zip/7z.exe" -do - [ -x "$SEVENZ_EXE" ] && break -done - - -# Abort immediately if something goes wrong. -set -e - -# White spaces in directory names may break things so catch them immediately. -case $(pwd) in - ' ' | ' ' | ' -') echo "Error: White space in the directory name" >&2; exit 1 ;; -esac - -# This script can be run either at the top-level directory of the package -# or in the same directory containing this script. -if [ ! -f windows/build.sh ]; then - cd .. - if [ ! -f windows/build.sh ]; then - echo "You are in a wrong directory." >&2 - exit 1 - fi -fi - -# Run configure and copy the binaries to the given directory. -# -# The first argument is the directory where to copy the binaries. -# The rest of the arguments are passed to configure. -buildit() -{ - DESTDIR=$1 - BUILD=$2 - CFLAGS=$3 - - # Clean up if it was already configured. - [ -f Makefile ] && make distclean - - # Build the size-optimized binaries. Note that I don't want to - # provide size-optimized liblzma (shared nor static), because - # that isn't thread-safe now, and depending on bunch of things, - # maybe it will never be on Windows (pthreads-win32 helps but - # static liblzma might bit a bit tricky with it). - ./configure \ - --prefix= \ - --disable-nls \ - --disable-threads \ - --disable-shared \ - --enable-small \ - --build="$BUILD" \ - CFLAGS="$CFLAGS -Os" - make check - - mkdir -pv "$DESTDIR" - cp -v src/xzdec/{xz,lzma}dec.exe src/lzmainfo/lzmainfo.exe "$DESTDIR" - - make distclean - - # Build the normal speed-optimized binaries. Note that while - # --disable-threads has been documented to make some things - # thread-unsafe, it's not actually true with this combination - # of configure flags in XZ Utils 5.0.x. Things can (and probably - # will) change after 5.0.x, and this script will be updated too. - ./configure \ - --prefix= \ - --disable-nls \ - --disable-threads \ - --enable-dynamic=no \ - --build="$BUILD" \ - CFLAGS="$CFLAGS -O2" - make check - - cp -v src/xz/xz.exe src/liblzma/.libs/liblzma.a "$DESTDIR" - cp -v src/liblzma/.libs/liblzma-*.dll "$DESTDIR/liblzma.dll" - - strip -v "$DESTDIR/"* -} - -# Copy files and convert newlines from LF to CR+LF. Optinally add a suffix -# to the destination filename. -# -# The first argument is the destination directory. The second argument is -# the suffix to append to the filenames; use empty string if no extra suffix -# is wanted. The rest of the arguments are actual the filenames. -txtcp() -{ - DESTDIR=$1 - SUFFIX=$2 - shift 2 - for SRCFILE; do - DESTFILE="$DESTDIR/${SRCFILE##*/}$SUFFIX" - echo "Converting \`$SRCFILE' -> \`$DESTFILE'" - u2d < "$SRCFILE" > "$DESTFILE" - done -} - -# FIXME: Make sure that we don't get i686 or i586 code from the runtime. -# Actually i586 would be fine, but i686 probably not if the idea is to -# support even Win95. -# -# FIXME: Using i486 in the configure triplet may be wrong. -if [ -d "$MINGW_DIR" ]; then - # 32-bit x86, Win95 or later, using MinGW - PATH=$MINGW_DIR/bin:$PATH \ - buildit \ - pkg/bin_i486 \ - i486-pc-mingw32 \ - '-march=i486 -mtune=generic' -elif [ -d "$MINGW_W32_DIR" ]; then - # 32-bit x86, Win95 or later, using MinGW-w32 - PATH=$MINGW_W32_DIR/bin:$MINGW_W32_DIR/i686-w64-mingw32/bin:$PATH \ - buildit \ - pkg/bin_i486 \ - i486-w64-mingw32 \ - '-march=i486 -mtune=generic' -fi - -if [ -d "$MINGW_W64_DIR" ]; then - # 64-bit x86, WinXP or later, using MinGW-w64 - PATH=$MINGW_W64_DIR/bin:$MINGW_W64_DIR/x86_64-w64-mingw32/bin:$PATH \ - buildit \ - pkg/bin_x86-64 \ - x86_64-w64-mingw32 \ - '-march=x86-64 -mtune=generic' -fi - -# Copy the headers, the .def file, and the docs. -# They are the same for all architectures and builds. -mkdir -pv pkg/{include/lzma,doc/manuals} -txtcp pkg/include "" src/liblzma/api/lzma.h -txtcp pkg/include/lzma "" src/liblzma/api/lzma/*.h -txtcp pkg/doc "" src/liblzma/liblzma.def -txtcp pkg/doc .txt AUTHORS COPYING NEWS README THANKS TODO -txtcp pkg/doc "" doc/*.txt -txtcp pkg/doc/manuals "" doc/man/txt/{xz,xzdec,lzmainfo}.txt -cp -v doc/man/pdf-*/{xz,xzdec,lzmainfo}-*.pdf pkg/doc/manuals -txtcp pkg "" windows/README-Windows.txt - -# Create the package. This requires 7z.exe from 7-Zip. If it wasn't found, -# this step is skipped and you have to zip it yourself. -VER=$(sh version.sh) -cd pkg -if [ -x "$SEVENZ_EXE" ]; then - "$SEVENZ_EXE" a -tzip ../xz-$VER-windows.zip * - "$SEVENZ_EXE" a ../xz-$VER-windows.7z * -else - echo - echo "NOTE: 7z.exe was not found. xz-$VER-windows.zip" - echo " and xz-$VER-windows.7z were not created." - echo " You can create them yourself from the pkg directory." -fi - -echo -echo "Build completed successfully." -echo |