Compare commits
309 Commits
Author | SHA1 | Date |
---|---|---|
Jia Tan | 6e8732c5a3 | |
Jia Tan | 6532f55caa | |
Jia Tan | 8b1a2798ad | |
Jia Tan | 55285900b3 | |
Jia Tan | a670f69521 | |
Jia Tan | 05aeda9612 | |
Jia Tan | 3cc54f1c0b | |
Jia Tan | 82f5515de6 | |
Jia Tan | 9e96ca8c48 | |
Jia Tan | 8191720eac | |
Jia Tan | 0ba5dd7ba1 | |
Jia Tan | 27ab54af84 | |
Jia Tan | 019afd72e0 | |
Jia Tan | 6af9a4cbe5 | |
Jia Tan | 3f51a4415a | |
Jia Tan | 932f02990c | |
Kian-Meng Ang | b26d5d547f | |
Jia Tan | 7dc466d621 | |
Jia Tan | 0ecfaa6df9 | |
Jia Tan | 9a300c9068 | |
Jia Tan | 9b469da8f3 | |
Jia Tan | afcb30fcad | |
Jia Tan | 87c956d4c4 | |
Jia Tan | 84196e8c09 | |
Jia Tan | 49053c0a64 | |
Jia Tan | 84c0cfc556 | |
Lasse Collin | d90ed84db9 | |
Jia Tan | 9b1268538b | |
Lasse Collin | 068ee436f4 | |
Lasse Collin | 6cdf0a7b79 | |
Lasse Collin | 33daad3961 | |
Lasse Collin | 6961a5ac7d | |
Lasse Collin | 5b9e167649 | |
Lasse Collin | 36fabdbe67 | |
Lasse Collin | 989c8c354c | |
Lasse Collin | 983f3b458d | |
Lasse Collin | 4083c8e950 | |
Lasse Collin | 661549ecb7 | |
Lasse Collin | 0e546eb4da | |
Lasse Collin | da4d04e4d6 | |
Lasse Collin | 007558a358 | |
Lasse Collin | 7d01de67ee | |
Lasse Collin | f8edcf3da6 | |
Jia Tan | 1695021e4a | |
Lasse Collin | 5056bc5107 | |
Lasse Collin | 9e14743ee5 | |
Jia Tan | 4cc91ceb39 | |
Lasse Collin | 1824a6007c | |
Jia Tan | 8fdc71a27d | |
Lasse Collin | 38171492de | |
Jia Tan | 1bce6fe483 | |
Lasse Collin | dce95a593e | |
Lasse Collin | f3c32762ae | |
Lasse Collin | 7dd57f2f2c | |
Jia Tan | edec253e41 | |
Jia Tan | 46cb133ce7 | |
Lasse Collin | 4ae13cfe0d | |
Lasse Collin | 660c8c29e5 | |
Lasse Collin | b7ce6e8078 | |
Lasse Collin | 1595f454d5 | |
Lasse Collin | 5be6275f19 | |
Lasse Collin | e515643d75 | |
Lasse Collin | e3478ae4f3 | |
Lasse Collin | b71b8922ef | |
Lasse Collin | 359e5c6cb1 | |
Lasse Collin | 589b4cba22 | |
Lasse Collin | 43728ed226 | |
Lasse Collin | caf00e0988 | |
Jia Tan | a70e96d2da | |
Jia Tan | d5275d83bd | |
Lasse Collin | 1f6e7c68fb | |
Lasse Collin | ef71f83973 | |
Jia Tan | cf8ba7c3a8 | |
Jia Tan | 4a4180ce74 | |
Jia Tan | 4b23b84b89 | |
Jia Tan | 773f1e8622 | |
Jia Tan | 68bda971bb | |
Jia Tan | b41bb79c60 | |
Jia Tan | 6614e6d4bf | |
Jia Tan | bfb623ad96 | |
Jia Tan | e919ebb29a | |
Jamaika1 | c0c0cd4a48 | |
Jia Tan | d93fbefcc4 | |
Jia Tan | 65981d8e45 | |
Lasse Collin | a108ed5891 | |
Jia Tan | 03c51c5c08 | |
Jia Tan | d7fa3f1b58 | |
Lasse Collin | 6a1093c000 | |
Lasse Collin | f6f9f5651a | |
Lasse Collin | 0dd83ba876 | |
ChanTsune | 4170a80785 | |
Dimitri Papadopoulos Orfanos | 0db6fbe0be | |
Jia Tan | 84a3a1f4e4 | |
Jia Tan | 962b3d41e0 | |
Jia Tan | 19899340cf | |
Jia Tan | ef7fbe8393 | |
Jia Tan | e49815ba7a | |
Jia Tan | db5b57b827 | |
Jia Tan | e6ba501408 | |
Jia Tan | 82657a1f10 | |
Jia Tan | fab35907d1 | |
Jia Tan | f530fe1964 | |
Jia Tan | 10b3500cc2 | |
Jia Tan | 3d14e8a34d | |
Jia Tan | bdcc180a2d | |
Jia Tan | 844240350d | |
Jia Tan | bdc7952bcf | |
Jia Tan | 143396e070 | |
Jia Tan | 1b8146d64e | |
Jia Tan | f947ce09d7 | |
Jia Tan | f681301a36 | |
Jia Tan | 8bc3146c6b | |
Jia Tan | c2905540ef | |
Jia Tan | 2600d33524 | |
Jia Tan | 98fc14541e | |
Lasse Collin | 1ac79b4cba | |
Lasse Collin | 97851be2c6 | |
Lasse Collin | b406828a6d | |
Lasse Collin | ef4a07ad94 | |
Jia Tan | 64ee0caaea | |
Jia Tan | ba17705764 | |
Jia Tan | 0745b900fa | |
Jia Tan | c972d44103 | |
Jia Tan | 6e21f1b4e2 | |
Jia Tan | 26c37d290c | |
Jia Tan | 2ec65181e2 | |
Jia Tan | c44c7e7590 | |
Jia Tan | b9499c94fc | |
Jia Tan | 1155471651 | |
Jia Tan | 62dd1c9bf0 | |
Benjamin Buch | d04eb78ab3 | |
Jia Tan | 12ea1fb297 | |
Jia Tan | a4d45c07c1 | |
Jia Tan | f51b7bcea6 | |
Jia Tan | d5b81c19a7 | |
Jia Tan | 36860a3e30 | |
Jia Tan | f05641ef0d | |
Jia Tan | b852f6f11d | |
Jia Tan | fdcb78fb6f | |
Jia Tan | 9e39cebe3c | |
Jia Tan | 7a578d1d82 | |
Jia Tan | 362320fea5 | |
Jia Tan | 29c5a870be | |
Jia Tan | 5ee5757277 | |
Jia Tan | dfc257bdb2 | |
Jia Tan | f6df4c4ab7 | |
Jia Tan | 25da22e052 | |
Jia Tan | 4f57a9c991 | |
Jia Tan | 238b4e5458 | |
Jia Tan | 0cee63c3c6 | |
Jia Tan | 01f937ea9a | |
Lasse Collin | e9b9ea9531 | |
Jia Tan | be6e39a862 | |
Jia Tan | 9e343a46cf | |
Jia Tan | 12321a9390 | |
Lasse Collin | d1f0e01c39 | |
Jia Tan | 8204c5d130 | |
Jia Tan | 32980d1562 | |
Jia Tan | 023907faa9 | |
Jia Tan | ba176d77cb | |
Jia Tan | c99d697df8 | |
Lasse Collin | 54a2fd8c85 | |
Jia Tan | 622d0fdc02 | |
Jia Tan | 3e2dc523c5 | |
Lasse Collin | 0c053f9733 | |
Lasse Collin | 915d4f6058 | |
Lasse Collin | b848c03958 | |
Lasse Collin | c775ba1602 | |
Lasse Collin | 0673c9ec98 | |
Jia Tan | 6ca8046ecb | |
Jia Tan | ce4f246600 | |
Lasse Collin | 3634fe3307 | |
Lasse Collin | 97679d25ce | |
Jia Tan | 01a67e89a5 | |
Lasse Collin | 5dca3f5cba | |
Lasse Collin | ae252862b3 | |
Lasse Collin | 147d282cc3 | |
Lasse Collin | 4523a5ee29 | |
Lasse Collin | 82aacb4036 | |
Lasse Collin | 5d022c2492 | |
Jia Tan | 8962951173 | |
Jia Tan | 94097157fa | |
Lasse Collin | da16d0b73b | |
Jia Tan | e57c74f9ef | |
Jia Tan | 7e2fa48bb7 | |
Jia Tan | d42977c7ac | |
Jia Tan | 8fc712fcf4 | |
Jia Tan | 77d2c025d1 | |
Jia Tan | 9af8f6f947 | |
Jia Tan | 1c558a2692 | |
Jia Tan | 7479a69a45 | |
Lasse Collin | fd56d53533 | |
Lasse Collin | d1bdaaebc6 | |
Jia Tan | 5d351c69c1 | |
Jia Tan | b82d4831e3 | |
Jia Tan | 2caba3efe3 | |
Lasse Collin | 594f904673 | |
Jia Tan | 88101143cb | |
Jia Tan | 4042dbf03a | |
Jia Tan | 3971f5c502 | |
Jia Tan | 5e61b39432 | |
Jia Tan | 8a53533869 | |
Lasse Collin | 6d05b08b17 | |
Lasse Collin | dfc9a54082 | |
Jia Tan | f6dce49cb6 | |
Jia Tan | 173d240bb4 | |
Jia Tan | 17797bacde | |
Jia Tan | 37da0e7271 | |
Jia Tan | b8331077c6 | |
Jia Tan | b9a3511bb6 | |
Lasse Collin | cd82ef2fb4 | |
Lasse Collin | 076e911ba2 | |
Lasse Collin | bc34e5ac99 | |
Jia Tan | d31fbd28be | |
Jia Tan | 701e9be6be | |
Jia Tan | 762c4d0b62 | |
Lasse Collin | 0ce1db0223 | |
Jia Tan | d83da006b3 | |
Jia Tan | 2796bb4736 | |
Jia Tan | ebebaa8d93 | |
Jia Tan | 765fa2865a | |
Jia Tan | 918e208af5 | |
Jia Tan | 1f157d214b | |
Jia Tan | 28757fa46d | |
Jia Tan | 135d5a1a65 | |
Jia Tan | 2287d56683 | |
Jia Tan | 7124b8a16a | |
Jia Tan | 59c7bb8931 | |
Jia Tan | e970c28ac3 | |
Jia Tan | 85e01266a9 | |
Jia Tan | 3fa0f3ba12 | |
Jia Tan | 32dbe045d7 | |
Jia Tan | ccf12acbfa | |
Jia Tan | 6a0b168dd9 | |
Jia Tan | 84ce36f90e | |
Jia Tan | d662077468 | |
Jia Tan | 880adb5aa2 | |
Jia Tan | b5b1b1f061 | |
Jia Tan | e904e778b8 | |
Jia Tan | e9c47e79c9 | |
Jia Tan | 99575947a5 | |
Jia Tan | 76dec92fcc | |
Jia Tan | bd213d06eb | |
Jia Tan | 257dbff0ba | |
Jia Tan | 720ad4a442 | |
Jia Tan | 88dc191634 | |
Jia Tan | 039e0ab13e | |
Lasse Collin | 718f7a60e7 | |
Lasse Collin | 3ccedb0972 | |
Lasse Collin | 09fbd2f052 | |
Lasse Collin | 683d3f178e | |
Lasse Collin | 2b8062ef94 | |
Lasse Collin | b16b9c0d22 | |
Lasse Collin | c47ecd6d39 | |
Lasse Collin | 34e13ce015 | |
Lasse Collin | 6671d0fe46 | |
Lasse Collin | d3e833ca1d | |
Lasse Collin | 977dd2e26b | |
Lasse Collin | c55157ed74 | |
Lasse Collin | 18b845e697 | |
Jia Tan | 4080bbb844 | |
Lasse Collin | 674c89fdb8 | |
Lasse Collin | 2a6b938084 | |
Jia Tan | aea639e81b | |
Jia Tan | e3b42bfcb0 | |
Jia Tan | 21625b7e11 | |
Lasse Collin | c337983e92 | |
Jia Tan | b7fb438ea0 | |
Jia Tan | 68e9ef036d | |
Lasse Collin | a387707cd8 | |
Lasse Collin | 52902ad695 | |
Lasse Collin | e81b9fc48c | |
Lasse Collin | 6e89ab58b0 | |
Lasse Collin | 65c59ad429 | |
Lasse Collin | 43521e77ac | |
Jia Tan | 6b44cead95 | |
Lasse Collin | 1bbefa9659 | |
Lasse Collin | ce3a3fbc7c | |
Lasse Collin | 99fcd57f2e | |
Lasse Collin | c0c13d9d82 | |
Lasse Collin | 3d45987451 | |
Lasse Collin | 706bce5018 | |
Lasse Collin | e96dee55df | |
Lasse Collin | 52bc1ee34d | |
Jia Tan | bad44cfe19 | |
Jia Tan | 692ccdf551 | |
Jia Tan | 2ac7bafc8f | |
Jia Tan | db714d30e0 | |
Jia Tan | 39d2585dcd | |
Jia Tan | 3f0130aa28 | |
Lasse Collin | f204d1050a | |
Lasse Collin | 34a9c2d650 | |
Jia Tan | 761c208d58 | |
Jia Tan | 8a7cbc0745 | |
Jia Tan | ca2af49bb8 | |
Lasse Collin | bfba3394ae | |
Jia Tan | 507648ad11 | |
Lasse Collin | ab5229d32a | |
Lasse Collin | 8791826f31 | |
Jia Tan | c410d812ea | |
Jia Tan | 501c6013d4 | |
Jia Tan | 9e3cb514b5 | |
Jia Tan | 6fc3e54679 | |
Jia Tan | e84f2ab7f8 | |
Jia Tan | b14b8dbba9 | |
Jia Cheong Tan | 09a114805e | |
Jia Tan | d3e6fe4419 | |
Lasse Collin | b55a27b46f | |
Jia Tan | 2fd28d2b7c |
|
@ -5,6 +5,7 @@
|
|||
|
||||
.deps
|
||||
.libs
|
||||
*.a
|
||||
*.gcda
|
||||
*.gcno
|
||||
*.la
|
||||
|
@ -36,6 +37,9 @@ build-aux/test-driver
|
|||
|
||||
coverage
|
||||
|
||||
/doc/internal
|
||||
/doc/api
|
||||
|
||||
/src/liblzma/liblzma.pc
|
||||
/src/lzmainfo/lzmainfo
|
||||
/src/xz/xz
|
||||
|
@ -57,8 +61,11 @@ coverage
|
|||
/tests/test_block_header
|
||||
/tests/test_check
|
||||
/tests/test_filter_flags
|
||||
/tests/test_filter_str
|
||||
/tests/test_hardware
|
||||
/tests/test_index
|
||||
/tests/test_index_hash
|
||||
/tests/test_lzip_decoder
|
||||
/tests/test_memlimit
|
||||
/tests/test_stream_flags
|
||||
/tests/test_vli
|
||||
|
@ -77,3 +84,29 @@ coverage
|
|||
/src/liblzma/api/Makefile
|
||||
/src/lzmainfo/Makefile
|
||||
/src/xzdec/Makefile
|
||||
|
||||
/CMakeCache.txt
|
||||
/CMakeFiles
|
||||
/CTestTestfile.cmake
|
||||
/cmake_install.cmake
|
||||
/DartConfiguration.tcl
|
||||
/liblzma-config-version.cmake
|
||||
/liblzma-config.cmake
|
||||
/lzcat
|
||||
/lzcat.1
|
||||
/lzma
|
||||
/lzma.1
|
||||
/Testing
|
||||
/tests_bin/
|
||||
/unlzma
|
||||
/unlzma.1
|
||||
/unxz
|
||||
/unxz.1
|
||||
/xz
|
||||
/xzcat
|
||||
/xzcat.1
|
||||
/xzdec
|
||||
|
||||
/windows/*/.vs
|
||||
/windows/*/liblzma.vcxproj.user
|
||||
/.vscode/
|
||||
|
|
976
CMakeLists.txt
976
CMakeLists.txt
File diff suppressed because it is too large
Load Diff
14
COPYING
14
COPYING
|
@ -21,6 +21,17 @@ XZ Utils Licensing
|
|||
XZ Utils specific documentation files in other directories
|
||||
are in the public domain.
|
||||
|
||||
Note: The JavaScript files (under the MIT license) have
|
||||
been removed from the Doxygen-generated HTML version of the
|
||||
liblzma API documentation. Doxygen itself is under the GNU GPL
|
||||
but the remaining files generated by Doxygen are not affected
|
||||
by the licenses used in Doxygen because Doxygen licensing has
|
||||
the following exception:
|
||||
|
||||
"Documents produced by doxygen are derivative works
|
||||
derived from the input used in their production;
|
||||
they are not affected by this license."
|
||||
|
||||
- Translated messages are in the public domain.
|
||||
|
||||
- The build system contains public domain files, and files that
|
||||
|
@ -47,7 +58,8 @@ XZ Utils Licensing
|
|||
naturally it is not legally required. Here is an example of a good
|
||||
notice to put into "about box" or into documentation:
|
||||
|
||||
This software includes code from XZ Utils <https://tukaani.org/xz/>.
|
||||
This software includes code from XZ Utils
|
||||
<https://xz.tukaani.org/xz-utils/>.
|
||||
|
||||
The following license texts are included in the following files:
|
||||
- COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
|
@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
|
|||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
See the commit log in the git repository:
|
||||
|
||||
git clone https://git.tukaani.org/xz.git
|
||||
git clone https://github.com/tukaani-project/xz
|
||||
|
||||
Note that "make dist" doesn't put this tiny file into the package.
|
||||
Instead, the git commit log is used as ChangeLog. See dist-hook in
|
||||
|
|
1234
Doxyfile.in
1234
Doxyfile.in
File diff suppressed because it is too large
Load Diff
89
INSTALL
89
INSTALL
|
@ -22,13 +22,16 @@ XZ Utils Installation
|
|||
3. xzgrep and other scripts
|
||||
3.1. Dependencies
|
||||
3.2. PATH
|
||||
4. Troubleshooting
|
||||
4.1. "No C99 compiler was found."
|
||||
4.2. "No POSIX conforming shell (sh) was found."
|
||||
4.3. configure works but build fails at crc32_x86.S
|
||||
4.4. Lots of warnings about symbol visibility
|
||||
4.5. "make check" fails
|
||||
4.6. liblzma.so (or similar) not found when running xz
|
||||
4. Tests
|
||||
4.1 Testing in parallel
|
||||
4.2 Cross compiling
|
||||
5. Troubleshooting
|
||||
5.1. "No C99 compiler was found."
|
||||
5.2. "No POSIX conforming shell (sh) was found."
|
||||
5.3. configure works but build fails at crc32_x86.S
|
||||
5.4. Lots of warnings about symbol visibility
|
||||
5.5. "make check" fails
|
||||
5.6. liblzma.so (or similar) not found when running xz
|
||||
|
||||
|
||||
0. Preface
|
||||
|
@ -100,7 +103,7 @@ XZ Utils Installation
|
|||
XZ Utils doesn't have code to detect the amount of physical RAM and
|
||||
number of CPU cores on MINIX 3.
|
||||
|
||||
See section 4.4 in this file about symbol visibility warnings (you
|
||||
See section 5.4 in this file about symbol visibility warnings (you
|
||||
may want to pass gl_cv_cc_visibility=no to configure).
|
||||
|
||||
|
||||
|
@ -127,14 +130,14 @@ XZ Utils Installation
|
|||
missing from PATH (/usr/xpg4/bin or /usr/xpg6/bin). Nowadays
|
||||
/usr/xpg4/bin is added to the script PATH by default on Solaris
|
||||
(see --enable-path-for-scripts=PREFIX in section 2), but old xz
|
||||
releases needed extra steps. See sections 4.5 and 3.2 for more
|
||||
releases needed extra steps. See sections 5.5 and 3.2 for more
|
||||
information.
|
||||
|
||||
|
||||
1.2.6. 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
|
||||
configure), you may need the workaround mention in section 5.1 in
|
||||
this file (pass also ac_cv_prog_cc_c99= to configure).
|
||||
|
||||
|
||||
|
@ -455,8 +458,10 @@ XZ Utils Installation
|
|||
win95 Use Windows 95 compatible threads. This
|
||||
is compatible with Windows XP and later
|
||||
too. This is the default for 32-bit x86
|
||||
Windows builds. The `win95' threading is
|
||||
incompatible with --enable-small.
|
||||
Windows builds. Unless the compiler
|
||||
supports __attribute__((__constructor__)),
|
||||
the `win95' threading is incompatible with
|
||||
--enable-small.
|
||||
|
||||
vista Use Windows Vista compatible threads. The
|
||||
resulting binaries won't run on Windows XP
|
||||
|
@ -596,7 +601,7 @@ XZ Utils Installation
|
|||
a fallback xzdiff will use mkdir to securely create a temporary
|
||||
directory. Having mktemp available is still recommended since the
|
||||
mkdir fallback method isn't as robust as mktemp is. The original
|
||||
mktemp can be found from <http://www.mktemp.org/>. On GNU, most will
|
||||
mktemp can be found from <https://www.mktemp.org/>. On GNU, most will
|
||||
use the mktemp program from GNU coreutils instead of the original
|
||||
implementation. Both mktemp versions are fine.
|
||||
|
||||
|
@ -624,10 +629,54 @@ XZ Utils Installation
|
|||
src/scripts/xz*.in
|
||||
|
||||
|
||||
4. Troubleshooting
|
||||
4. Tests
|
||||
--------
|
||||
|
||||
The test framework can be built and run by executing "make check" in
|
||||
the build directory. The tests are a mix of executables and POSIX
|
||||
shell scripts (sh). All tests should pass if the default configuration
|
||||
is used. Disabling features through the configure options may cause
|
||||
some tests to be skipped. If any tests do not pass, see section 5.5.
|
||||
|
||||
|
||||
4.1. Testing in parallel
|
||||
|
||||
The tests can be run in parallel using the "-j" make option on systems
|
||||
that support it. For instance, "make -j4 check" will run up to four
|
||||
tests simultaneously.
|
||||
|
||||
|
||||
4.2. Cross compiling
|
||||
|
||||
The tests can be built without running them:
|
||||
|
||||
make check TESTS=
|
||||
|
||||
The TESTS variable is the list of tests you wish to run. Leaving it
|
||||
empty will compile the tests without running any.
|
||||
|
||||
If the tests are copied to a target machine to execute, the test data
|
||||
files in the directory tests/files must also be copied. The tests
|
||||
search for the data files using the environment variable $srcdir,
|
||||
expecting to find the data files under $srcdir/files/. If $srcdir
|
||||
isn't set then it defaults to the current directory.
|
||||
|
||||
The shell script tests can be copied from the source directory to the
|
||||
target machine to execute. In addition to the test files, these tests
|
||||
will expect the following relative file paths to execute properly:
|
||||
|
||||
./create_compress_files
|
||||
../config.h
|
||||
../src/xz/xz
|
||||
../src/xzdec/xzdec
|
||||
../src/scripts/xzdiff
|
||||
../src/scripts/xzgrep
|
||||
|
||||
|
||||
5. Troubleshooting
|
||||
------------------
|
||||
|
||||
4.1. "No C99 compiler was found."
|
||||
5.1. "No C99 compiler was found."
|
||||
|
||||
You need a C99 compiler to build XZ Utils. If the configure script
|
||||
cannot find a C99 compiler and you think you have such a compiler
|
||||
|
@ -642,7 +691,7 @@ XZ Utils Installation
|
|||
support enough C99.
|
||||
|
||||
|
||||
4.2. "No POSIX conforming shell (sh) was found."
|
||||
5.2. "No POSIX conforming shell (sh) was found."
|
||||
|
||||
xzgrep and other scripts need a shell that (roughly) conforms
|
||||
to POSIX. The configure script tries to find such a shell. If
|
||||
|
@ -652,7 +701,7 @@ XZ Utils Installation
|
|||
this error by passing --disable-scripts to configure.
|
||||
|
||||
|
||||
4.3. configure works but build fails at crc32_x86.S
|
||||
5.3. configure works but build fails at crc32_x86.S
|
||||
|
||||
The easy fix is to pass --disable-assembler to the configure script.
|
||||
|
||||
|
@ -669,7 +718,7 @@ XZ Utils Installation
|
|||
(see INSTALL.generic).
|
||||
|
||||
|
||||
4.4. Lots of warnings about symbol visibility
|
||||
5.4. Lots of warnings about symbol visibility
|
||||
|
||||
On some systems where symbol visibility isn't supported, GCC may
|
||||
still accept the visibility options and attributes, which will make
|
||||
|
@ -681,7 +730,7 @@ XZ Utils Installation
|
|||
using --enable-werror.
|
||||
|
||||
|
||||
4.5. "make check" fails
|
||||
5.5. "make check" fails
|
||||
|
||||
If the other tests pass but test_scripts.sh fails, then the problem
|
||||
is in the scripts in src/scripts. Comparing the contents of
|
||||
|
@ -707,7 +756,7 @@ XZ Utils Installation
|
|||
information.
|
||||
|
||||
|
||||
4.6. liblzma.so (or similar) not found when running xz
|
||||
5.6. liblzma.so (or similar) not found when running xz
|
||||
|
||||
If you installed the package with "make install" and get an error
|
||||
about liblzma.so (or a similarly named file) being missing, try
|
||||
|
|
20
Makefile.am
20
Makefile.am
|
@ -44,18 +44,30 @@ examplesolddir = $(docdir)/examples_old
|
|||
dist_examplesold_DATA = \
|
||||
doc/examples_old/xz_pipe_comp.c \
|
||||
doc/examples_old/xz_pipe_decomp.c
|
||||
|
||||
# Install the Doxygen generated documentation if they were built.
|
||||
install-data-local:
|
||||
if test -d "$(srcdir)/doc/api" ; then \
|
||||
$(MKDIR_P) "$(DESTDIR)$(docdir)/api" && \
|
||||
$(INSTALL_DATA) "$(srcdir)"/doc/api/* \
|
||||
"$(DESTDIR)$(docdir)/api"; \
|
||||
fi
|
||||
|
||||
# Remove the Doxygen generated documentation when uninstalling.
|
||||
uninstall-local:
|
||||
rm -rf "$(DESTDIR)$(docdir)/api"
|
||||
endif
|
||||
|
||||
EXTRA_DIST = \
|
||||
po4a \
|
||||
extra \
|
||||
dos \
|
||||
doxygen \
|
||||
windows \
|
||||
macosx \
|
||||
cmake \
|
||||
CMakeLists.txt \
|
||||
autogen.sh \
|
||||
Doxyfile.in \
|
||||
COPYING.GPLv2 \
|
||||
COPYING.GPLv3 \
|
||||
COPYING.LGPLv2.1 \
|
||||
|
@ -100,6 +112,11 @@ dist-hook:
|
|||
> "$$dest/txt/$$BASE.txt"; \
|
||||
done; \
|
||||
fi
|
||||
if test -d "$(srcdir)/doc/api" ; then \
|
||||
$(MKDIR_P) "$(distdir)/doc/api" && \
|
||||
$(INSTALL_DATA) "$(srcdir)"/doc/api/* \
|
||||
"$(distdir)/doc/api"; \
|
||||
fi
|
||||
|
||||
# This works with GNU tar and gives cleaner package than normal 'make dist'.
|
||||
# This also ensures that the man page translations are up to date (dist-hook
|
||||
|
@ -107,6 +124,7 @@ dist-hook:
|
|||
mydist:
|
||||
sh "$(srcdir)/src/liblzma/validate_map.sh"
|
||||
cd "$(srcdir)/po4a" && sh update-po
|
||||
cd "$(srcdir)/doxygen" && sh update-doxygen
|
||||
VERSION=$(VERSION); \
|
||||
if test -d "$(srcdir)/.git" && type git > /dev/null 2>&1; then \
|
||||
SNAPSHOT=`cd "$(srcdir)" && git describe --abbrev=4 | cut -b2-`; \
|
||||
|
|
269
NEWS
269
NEWS
|
@ -2,6 +2,273 @@
|
|||
XZ Utils Release Notes
|
||||
======================
|
||||
|
||||
5.4.6 (2024-01-26)
|
||||
|
||||
* Fixed a bug involving internal function pointers in liblzma not
|
||||
being initialized to NULL. The bug can only be triggered if
|
||||
lzma_filters_update() is called on a LZMA1 encoder, so it does
|
||||
not affect xz or any application known to us that uses liblzma.
|
||||
|
||||
* xz:
|
||||
|
||||
- Fixed a regression introduced in 5.4.2 that caused encoding
|
||||
in the raw format to unnecessarily fail if --suffix was not
|
||||
used. For instance, the following command no longer reports
|
||||
that --suffix must be used:
|
||||
|
||||
echo foo | xz --format=raw --lzma2 | wc -c
|
||||
|
||||
- Fixed an issue on MinGW-w64 builds that prevented reading
|
||||
from or writing to non-terminal character devices like NUL.
|
||||
|
||||
* Added a new test.
|
||||
|
||||
|
||||
5.4.5 (2023-11-01)
|
||||
|
||||
* liblzma:
|
||||
|
||||
- Use __attribute__((__no_sanitize_address__)) to avoid address
|
||||
sanitization with CRC64 CLMUL. It uses 16-byte-aligned reads
|
||||
which can extend past the bounds of the input buffer and
|
||||
inherently trigger address sanitization errors. This isn't
|
||||
a bug.
|
||||
|
||||
- Fixed an assertion failure that could be triggered by a large
|
||||
unpadded_size argument. It was verified that there was no
|
||||
other bug than the assertion failure.
|
||||
|
||||
- Fixed a bug that prevented building with Windows Vista
|
||||
threading when __attribute__((__constructor__)) is not
|
||||
supported.
|
||||
|
||||
* xz now properly handles special files such as "con" or "nul" on
|
||||
Windows. Before this fix, the following wrote "foo" to the
|
||||
console and deleted the input file "con_xz":
|
||||
|
||||
echo foo | xz > con_xz
|
||||
xz --suffix=_xz --decompress con_xz
|
||||
|
||||
* Build systems:
|
||||
|
||||
- Allow builds with Windows win95 threading and small mode when
|
||||
__attribute__((__constructor__)) is supported.
|
||||
|
||||
- Added a new line to liblzma.pc for MSYS2 (Windows):
|
||||
|
||||
Cflags.private: -DLZMA_API_STATIC
|
||||
|
||||
When compiling code that will link against static liblzma,
|
||||
the LZMA_API_STATIC macro needs to be defined on Windows.
|
||||
|
||||
- CMake specific changes:
|
||||
|
||||
* Fixed a bug that allowed CLOCK_MONOTONIC to be used even
|
||||
if the check for it failed.
|
||||
|
||||
* Fixed a bug where configuring CMake multiple times
|
||||
resulted in HAVE_CLOCK_GETTIME and HAVE_CLOCK_MONOTONIC
|
||||
not being set.
|
||||
|
||||
* Fixed the build with MinGW-w64-based Clang/LLVM 17.
|
||||
llvm-windres now has more accurate GNU windres emulation
|
||||
so the GNU windres workaround from 5.4.1 is needed with
|
||||
llvm-windres version 17 too.
|
||||
|
||||
* The import library on Windows is now properly named
|
||||
"liblzma.dll.a" instead of "libliblzma.dll.a"
|
||||
|
||||
* Fixed a bug causing the Ninja Generator to fail on
|
||||
UNIX-like systems. This bug was introduced in 5.4.0.
|
||||
|
||||
* Added a new option to disable CLMUL CRC64.
|
||||
|
||||
* A module-definition (.def) file is now created when
|
||||
building liblzma.dll with MinGW-w64.
|
||||
|
||||
* The pkg-config liblzma.pc file is now installed on all
|
||||
builds except when using MSVC on Windows.
|
||||
|
||||
* Added large file support by default for platforms that
|
||||
need it to handle files larger than 2 GiB. This includes
|
||||
MinGW-w64, even 64-bit builds.
|
||||
|
||||
* Small fixes and improvements to the tests.
|
||||
|
||||
* Updated translations: Chinese (simplified) and Esperanto.
|
||||
|
||||
|
||||
5.4.4 (2023-08-02)
|
||||
|
||||
* liblzma and xzdec can now build against WASI SDK when threading
|
||||
support is disabled. xz and tests don't build yet.
|
||||
|
||||
* CMake:
|
||||
|
||||
- Fixed a bug preventing other projects from including liblzma
|
||||
multiple times using find_package().
|
||||
|
||||
- Don't create broken symlinks in Cygwin and MSYS2 unless
|
||||
supported by the environment. This prevented building for the
|
||||
default MSYS2 environment. The problem was introduced in
|
||||
xz 5.4.0.
|
||||
|
||||
* Documentation:
|
||||
|
||||
- Small improvements to man pages.
|
||||
|
||||
- Small improvements and typo fixes for liblzma API
|
||||
documentation.
|
||||
|
||||
* Tests:
|
||||
|
||||
- Added a new section to INSTALL to describe basic test usage
|
||||
and address recent questions about building the tests when
|
||||
cross compiling.
|
||||
|
||||
- Small fixes and improvements to the tests.
|
||||
|
||||
* Translations:
|
||||
|
||||
- Fixed a mistake that caused one of the error messages to not
|
||||
be translated. This only affected versions 5.4.2 and 5.4.3.
|
||||
|
||||
- Updated the Chinese (simplified), Croatian, Esperanto, German,
|
||||
Korean, Polish, Romanian, Spanish, Swedish, Ukrainian, and
|
||||
Vietnamese translations.
|
||||
|
||||
- Updated the German, Korean, Romanian, and Ukrainian man page
|
||||
translations.
|
||||
|
||||
|
||||
5.4.3 (2023-05-04)
|
||||
|
||||
* All fixes from 5.2.12
|
||||
|
||||
* Features in the CMake build can now be disabled as CMake cache
|
||||
variables, similar to the Autotools build.
|
||||
|
||||
* Minor update to the Croatian translation.
|
||||
|
||||
|
||||
5.4.2 (2023-03-18)
|
||||
|
||||
* All fixes from 5.2.11 that were not included in 5.4.1.
|
||||
|
||||
* If xz is built with support for the Capsicum sandbox but running
|
||||
in an environment that doesn't support Capsicum, xz now runs
|
||||
normally without sandboxing instead of exiting with an error.
|
||||
|
||||
* liblzma:
|
||||
|
||||
- Documentation was updated to improve the style, consistency,
|
||||
and completeness of the liblzma API headers.
|
||||
|
||||
- The Doxygen-generated HTML documentation for the liblzma API
|
||||
header files is now included in the source release and is
|
||||
installed as part of "make install". All JavaScript is
|
||||
removed to simplify license compliance and to reduce the
|
||||
install size.
|
||||
|
||||
- Fixed a minor bug in lzma_str_from_filters() that produced
|
||||
too many filters in the output string instead of reporting
|
||||
an error if the input array had more than four filters. This
|
||||
bug did not affect xz.
|
||||
|
||||
* Build systems:
|
||||
|
||||
- autogen.sh now invokes the doxygen tool via the new wrapper
|
||||
script doxygen/update-doxygen, unless the command line option
|
||||
--no-doxygen is used.
|
||||
|
||||
- Added microlzma_encoder.c and microlzma_decoder.c to the
|
||||
VS project files for Windows and to the CMake build. These
|
||||
should have been included in 5.3.2alpha.
|
||||
|
||||
* Tests:
|
||||
|
||||
- Added a test to the CMake build that was forgotten in the
|
||||
previous release.
|
||||
|
||||
- Added and refactored a few tests.
|
||||
|
||||
* Translations:
|
||||
|
||||
- Updated the Brazilian Portuguese translation.
|
||||
|
||||
- Added Brazilian Portuguese man page translation.
|
||||
|
||||
|
||||
5.4.1 (2023-01-11)
|
||||
|
||||
* liblzma:
|
||||
|
||||
- Fixed the return value of lzma_microlzma_encoder() if the
|
||||
LZMA options lc/lp/pb are invalid. Invalid lc/lp/pb options
|
||||
made the function return LZMA_STREAM_END without encoding
|
||||
anything instead of returning LZMA_OPTIONS_ERROR.
|
||||
|
||||
- Windows / Visual Studio: Workaround a possible compiler bug
|
||||
when targeting 32-bit x86 and compiling the CLMUL version of
|
||||
the CRC64 code. The CLMUL code isn't enabled by the Windows
|
||||
project files but it is in the CMake-based builds.
|
||||
|
||||
* Build systems:
|
||||
|
||||
- Windows-specific CMake changes:
|
||||
|
||||
* Don't try to enable CLMUL CRC64 code if _mm_set_epi64x()
|
||||
isn't available. This fixes CMake-based build with Visual
|
||||
Studio 2013.
|
||||
|
||||
* Created a workaround for a build failure with windres
|
||||
from GNU binutils. It is used only when the C compiler
|
||||
is GCC (not Clang). The workaround is incompatible
|
||||
with llvm-windres, resulting in "XZx20Utils" instead
|
||||
of "XZ Utils" in the resource file, but without the
|
||||
workaround llvm-windres works correctly. See the
|
||||
comment in CMakeLists.txt for details.
|
||||
|
||||
* Included the resource files in the xz and xzdec build
|
||||
rules. Building the command line tools is still
|
||||
experimental but possible with MinGW-w64.
|
||||
|
||||
- Visual Studio: Added stream_decoder_mt.c to the project
|
||||
files. Now the threaded decompressor lzma_stream_decoder_mt()
|
||||
gets built. CMake-based build wasn't affected.
|
||||
|
||||
- Updated windows/INSTALL-MSVC.txt to mention that CMake-based
|
||||
build is now the preferred method with Visual Studio. The
|
||||
project files will probably be removed after 5.4.x releases.
|
||||
|
||||
- Changes to #defines in config.h:
|
||||
|
||||
* HAVE_DECL_CLOCK_MONOTONIC was replaced by
|
||||
HAVE_CLOCK_MONOTONIC. The old macro was always defined
|
||||
in configure-generated config.h to either 0 or 1. The
|
||||
new macro is defined (to 1) only if the declaration of
|
||||
CLOCK_MONOTONIC is available. This matches the way most
|
||||
other config.h macros work and makes things simpler with
|
||||
other build systems.
|
||||
|
||||
* HAVE_DECL_PROGRAM_INVOCATION_NAME was replaced by
|
||||
HAVE_PROGRAM_INVOCATION_NAME for the same reason.
|
||||
|
||||
* Tests:
|
||||
|
||||
- Fixed test script compatibility with ancient /bin/sh
|
||||
versions. Now the five test_compress_* tests should
|
||||
no longer fail on Solaris 10.
|
||||
|
||||
- Added and refactored a few tests.
|
||||
|
||||
* Translations:
|
||||
|
||||
- Updated the Catalan and Esperanto translations.
|
||||
|
||||
- Added Korean and Ukrainian man page translations.
|
||||
|
||||
|
||||
5.4.0 (2022-12-13)
|
||||
|
||||
This bumps the minor version of liblzma because new features were
|
||||
|
@ -830,7 +1097,7 @@ XZ Utils Release Notes
|
|||
of the deprecated egrep and fgrep commands.
|
||||
|
||||
- Fixed parsing of the options -E, -F, -G, -P, and -X. The
|
||||
problem occurred when multiple options were specied in
|
||||
problem occurred when multiple options were specified in
|
||||
a single argument, for example,
|
||||
|
||||
echo foo | xzgrep -Fe foo
|
||||
|
|
22
PACKAGERS
22
PACKAGERS
|
@ -44,6 +44,8 @@ Information to packagers of XZ Utils
|
|||
lzmadec binary for compatibility with LZMA Utils
|
||||
liblzma liblzma.so.*
|
||||
liblzma-devel liblzma.so, liblzma.a, API headers
|
||||
liblzma-doc Doxygen-generated liblzma API docs (HTML),
|
||||
example programs
|
||||
|
||||
|
||||
2. Package description
|
||||
|
@ -109,6 +111,13 @@ Information to packagers of XZ Utils
|
|||
This package includes the API headers, static library, and
|
||||
other development files related to liblzma.
|
||||
|
||||
liblzma-doc:
|
||||
|
||||
liblzma API documentation in HTML and example usage
|
||||
|
||||
This package includes the Doxygen-generated liblzma API
|
||||
HTML docs and example programs showing how to use liblzma.
|
||||
|
||||
|
||||
3. License
|
||||
----------
|
||||
|
@ -160,12 +169,13 @@ Information to packagers of XZ Utils
|
|||
can be replaced with a symlink if your distro ships with shared
|
||||
copies of the common license texts.
|
||||
|
||||
liblzma API is currently only documented using Doxygen tags in the
|
||||
API headers. It hasn't been tested much how good results Doxygen
|
||||
is able to make from the tags (e.g. Doxyfile might need tweaking,
|
||||
the tagging may need to be improved etc.), so it might be simpler
|
||||
to just let people read docs directly from the .h files for now,
|
||||
and also save quite a bit in package size at the same time.
|
||||
The Doxygen-generated documentation (HTML) for the liblzma API
|
||||
headers is included in the source release and will be installed by
|
||||
"make install" to $docdir/api. All JavaScript is removed to
|
||||
simplify license compliance and to reduce the install size. If the
|
||||
liblzma API documentation is not desired, either run configure with
|
||||
--disable-doc or remove the doc/api directory before running
|
||||
"make install".
|
||||
|
||||
|
||||
6. Extra files
|
||||
|
|
14
README
14
README
|
@ -113,8 +113,8 @@ XZ Utils
|
|||
Since the liblzma API has similarities to the zlib API, some people
|
||||
may find it useful to read the zlib docs and tutorial too:
|
||||
|
||||
http://zlib.net/manual.html
|
||||
http://zlib.net/zlib_how.html
|
||||
https://zlib.net/manual.html
|
||||
https://zlib.net/zlib_how.html
|
||||
|
||||
|
||||
2. Version numbering
|
||||
|
@ -281,13 +281,17 @@ XZ Utils
|
|||
7-Zip and the p7zip port of 7-Zip support the .xz format starting
|
||||
from the version 9.00alpha.
|
||||
|
||||
http://7-zip.org/
|
||||
http://p7zip.sourceforge.net/
|
||||
https://7-zip.org/
|
||||
https://p7zip.sourceforge.net/
|
||||
|
||||
XZ Embedded is a limited implementation written for use in the Linux
|
||||
kernel, but it is also suitable for other embedded use.
|
||||
|
||||
https://tukaani.org/xz/embedded.html
|
||||
https://xz.tukaani.org/xz-embedded/
|
||||
|
||||
XZ for Java is a complete implementation written in pure Java.
|
||||
|
||||
https://xz.tukaani.org/xz-for-java/
|
||||
|
||||
|
||||
6. Contact information
|
||||
|
|
15
THANKS
15
THANKS
|
@ -5,6 +5,7 @@ Thanks
|
|||
Some people have helped more, some less, but nevertheless everyone's help
|
||||
has been important. :-) In alphabetical order:
|
||||
- Mark Adler
|
||||
- Kian-Meng Ang
|
||||
- H. Peter Anvin
|
||||
- Jeff Bastian
|
||||
- Nelson H. F. Beebe
|
||||
|
@ -19,10 +20,13 @@ has been important. :-) In alphabetical order:
|
|||
- Jakub Bogusz
|
||||
- Adam Borowski
|
||||
- Maarten Bosmans
|
||||
- Lukas Braune
|
||||
- Benjamin Buch
|
||||
- Trent W. Buck
|
||||
- Kevin R. Bulgrien
|
||||
- James Buren
|
||||
- David Burklund
|
||||
- Frank Busse
|
||||
- Daniel Mealha Cabrita
|
||||
- Milo Casagrande
|
||||
- Marek Černocký
|
||||
|
@ -30,6 +34,7 @@ has been important. :-) In alphabetical order:
|
|||
- Vitaly Chikunov
|
||||
- Antoine Cœur
|
||||
- Gabi Davar
|
||||
- İhsan Doğan
|
||||
- Chris Donawa
|
||||
- Andrew Dudman
|
||||
- Markus Duft
|
||||
|
@ -38,6 +43,7 @@ has been important. :-) In alphabetical order:
|
|||
- Robert Elz
|
||||
- Gilles Espinasse
|
||||
- Denis Excoffier
|
||||
- Vincent Fazio
|
||||
- Michael Felt
|
||||
- Michael Fox
|
||||
- Mike Frysinger
|
||||
|
@ -56,13 +62,18 @@ has been important. :-) In alphabetical order:
|
|||
- Peter Ivanov
|
||||
- Nicholas Jackson
|
||||
- Sam James
|
||||
- Hajin Jang
|
||||
- Jouk Jansen
|
||||
- Jun I Jin
|
||||
- Kiyoshi Kanazawa
|
||||
- Joona Kannisto
|
||||
- Per Øyvind Karlsen
|
||||
- Iouri Kharon
|
||||
- Thomas Klausner
|
||||
- Richard Koch
|
||||
- Anton Kochkov
|
||||
- Ville Koskinen
|
||||
- Marcin Kowalczyk
|
||||
- Jan Kratochvil
|
||||
- Christian Kujau
|
||||
- Stephan Kulow
|
||||
|
@ -96,6 +107,7 @@ has been important. :-) In alphabetical order:
|
|||
- Jonathan Nieder
|
||||
- Andre Noll
|
||||
- Peter O'Gorman
|
||||
- Dimitri Papadopoulos Orfanos
|
||||
- Daniel Packard
|
||||
- Filip Palian
|
||||
- Peter Pallinger
|
||||
|
@ -118,6 +130,7 @@ has been important. :-) In alphabetical order:
|
|||
- Torsten Rupp
|
||||
- Stephen Sachs
|
||||
- Jukka Salmi
|
||||
- Agostino Sarubbo
|
||||
- Alexandre Sauvé
|
||||
- Benno Schulenberg
|
||||
- Andreas Schwab
|
||||
|
@ -129,6 +142,7 @@ has been important. :-) In alphabetical order:
|
|||
- Brad Smith
|
||||
- Bruce Stark
|
||||
- Pippijn van Steenhoven
|
||||
- Martin Storsjö
|
||||
- Jonathan Stott
|
||||
- Dan Stromberg
|
||||
- Jia Tan
|
||||
|
@ -136,6 +150,7 @@ has been important. :-) In alphabetical order:
|
|||
- Paul Townsend
|
||||
- Mohammed Adnène Trojette
|
||||
- Alexey Tourbin
|
||||
- Taiki Tsunekawa
|
||||
- Loganaden Velvindron
|
||||
- Patrick J. Volkerding
|
||||
- Martin Väth
|
||||
|
|
35
autogen.sh
35
autogen.sh
|
@ -19,15 +19,38 @@ ${AUTOCONF:-autoconf}
|
|||
${AUTOHEADER:-autoheader}
|
||||
${AUTOMAKE:-automake} -acf --foreign
|
||||
|
||||
# Generate the translated man pages if the "po4a" tool is available.
|
||||
# Generate the translated man pages and the doxygen documentation if the
|
||||
# "po4a" and "doxygen" tools are available.
|
||||
# This is *NOT* done by "autoreconf -fi" or when "make" is run.
|
||||
#
|
||||
# Pass --no-po4a to this script to skip this step. It can be useful when
|
||||
# you know that po4a isn't available and don't want autogen.sh to exit
|
||||
# with non-zero exit status.
|
||||
if test "x$1" != "x--no-po4a"; then
|
||||
# Pass --no-po4a or --no-doxygen to this script to skip these steps.
|
||||
# It can be useful when you know that po4a or doxygen aren't available and
|
||||
# don't want autogen.sh to exit with non-zero exit status.
|
||||
generate_po4a="y"
|
||||
generate_doxygen="y"
|
||||
|
||||
for arg in "$@"
|
||||
do
|
||||
case $arg in
|
||||
"--no-po4a")
|
||||
generate_po4a="n"
|
||||
;;
|
||||
|
||||
"--no-doxygen")
|
||||
generate_doxygen="n"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test "$generate_po4a" != "n"; then
|
||||
cd po4a
|
||||
sh update-po
|
||||
cd ..
|
||||
fi
|
||||
|
||||
if test "$generate_doxygen" != "n"; then
|
||||
cd doxygen
|
||||
sh update-doxygen
|
||||
cd ..
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -38,10 +38,10 @@ s/^\\.PD\$/.PD $PD/"
|
|||
|
||||
case $FORMAT in
|
||||
ascii)
|
||||
groff -t -mandoc -Tascii | col -bx
|
||||
groff -t -mandoc -Tascii -P-c | col -bx
|
||||
;;
|
||||
utf8)
|
||||
groff -t -mandoc -Tutf8 | col -bx
|
||||
groff -t -mandoc -Tutf8 -P-c | col -bx
|
||||
;;
|
||||
ps)
|
||||
sed "$SED_PD" | groff -dpaper=$PAPER -t -mandoc \
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
#############################################################################
|
||||
#
|
||||
# remove-ordinals.cmake
|
||||
#
|
||||
# Removes the ordinal numbers from a DEF file that has been created by
|
||||
# GNU ld or LLVM lld option --output-def (when creating a Windows DLL).
|
||||
# This should be equivalent: sed 's/ \+@ *[0-9]\+//'
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# cmake -DINPUT_FILE=infile.def.in \
|
||||
# -DOUTPUT_FILE=outfile.def \
|
||||
# -P remove-ordinals.cmake
|
||||
#
|
||||
#############################################################################
|
||||
#
|
||||
# Author: Lasse Collin
|
||||
#
|
||||
# This file has been put into the public domain.
|
||||
# You can do whatever you want with this file.
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
file(READ "${INPUT_FILE}" STR)
|
||||
string(REGEX REPLACE " +@ *[0-9]+" "" STR "${STR}")
|
||||
file(WRITE "${OUTPUT_FILE}" "${STR}")
|
|
@ -59,9 +59,8 @@ function(tuklib_integer TARGET_OR_ALL)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
# 16-bit and 32-bit unaligned access is fast on x86(-64),
|
||||
# big endian PowerPC, and usually on 32/64-bit ARM too.
|
||||
# There are others too and ARM could be a false match.
|
||||
# Unaligned access is fast on x86(-64), big endian PowerPC, and usually on
|
||||
# 32/64-bit ARM too. There are others too and ARM could be a false match.
|
||||
#
|
||||
# Guess the default value for the option.
|
||||
# CMake's ability to give info about the target arch seems bad.
|
||||
|
@ -81,7 +80,7 @@ function(tuklib_integer TARGET_OR_ALL)
|
|||
endif()
|
||||
option(TUKLIB_FAST_UNALIGNED_ACCESS
|
||||
"Enable if the system supports *fast* unaligned memory access \
|
||||
with 16-bit and 32-bit integers."
|
||||
with 16-bit, 32-bit, and 64-bit integers."
|
||||
"${FAST_UNALIGNED_GUESS}")
|
||||
tuklib_add_definition_if("${TARGET_OR_ALL}" TUKLIB_FAST_UNALIGNED_ACCESS)
|
||||
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
#
|
||||
# tuklib_large_file_support.cmake
|
||||
#
|
||||
# If off_t is less than 64 bits by default and -D_FILE_OFFSET_BITS=64
|
||||
# makes off_t become 64-bit, the CMake option LARGE_FILE_SUPPORT is
|
||||
# provided (ON by default) and -D_FILE_OFFSET_BITS=64 is added to
|
||||
# the compile definitions if LARGE_FILE_SUPPORT is ON.
|
||||
#
|
||||
# Author: Lasse Collin
|
||||
#
|
||||
# This file has been put into the public domain.
|
||||
# You can do whatever you want with this file.
|
||||
#
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake")
|
||||
include(CheckCSourceCompiles)
|
||||
|
||||
function(tuklib_large_file_support TARGET_OR_ALL)
|
||||
# MSVC must be handled specially in the C code.
|
||||
if(MSVC)
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(TUKLIB_LARGE_FILE_SUPPORT_TEST
|
||||
"#include <sys/types.h>
|
||||
int foo[sizeof(off_t) >= 8 ? 1 : -1];
|
||||
int main(void) { return 0; }")
|
||||
|
||||
check_c_source_compiles("${TUKLIB_LARGE_FILE_SUPPORT_TEST}"
|
||||
TUKLIB_LARGE_FILE_SUPPORT_BY_DEFAULT)
|
||||
|
||||
if(NOT TUKLIB_LARGE_FILE_SUPPORT_BY_DEFAULT)
|
||||
cmake_push_check_state()
|
||||
# This needs -D.
|
||||
list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_FILE_OFFSET_BITS=64")
|
||||
check_c_source_compiles("${TUKLIB_LARGE_FILE_SUPPORT_TEST}"
|
||||
TUKLIB_LARGE_FILE_SUPPORT_WITH_FOB64)
|
||||
cmake_pop_check_state()
|
||||
endif()
|
||||
|
||||
if(TUKLIB_LARGE_FILE_SUPPORT_WITH_FOB64)
|
||||
# Show the option only when _FILE_OFFSET_BITS=64 affects sizeof(off_t).
|
||||
option(LARGE_FILE_SUPPORT
|
||||
"Use -D_FILE_OFFSET_BITS=64 to support files larger than 2 GiB."
|
||||
ON)
|
||||
|
||||
if(LARGE_FILE_SUPPORT)
|
||||
# This must not use -D.
|
||||
tuklib_add_definitions("${TARGET_OR_ALL}" "_FILE_OFFSET_BITS=64")
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
|
@ -13,7 +13,6 @@ include(CheckSymbolExists)
|
|||
function(tuklib_progname TARGET_OR_ALL)
|
||||
# NOTE: This glibc extension requires _GNU_SOURCE.
|
||||
check_symbol_exists(program_invocation_name errno.h
|
||||
HAVE_DECL_PROGRAM_INVOCATION_NAME)
|
||||
tuklib_add_definition_if("${TARGET_OR_ALL}"
|
||||
HAVE_DECL_PROGRAM_INVOCATION_NAME)
|
||||
HAVE_PROGRAM_INVOCATION_NAME)
|
||||
tuklib_add_definition_if("${TARGET_OR_ALL}" HAVE_PROGRAM_INVOCATION_NAME)
|
||||
endfunction()
|
||||
|
|
157
configure.ac
157
configure.ac
|
@ -18,7 +18,7 @@
|
|||
AC_PREREQ([2.69])
|
||||
|
||||
AC_INIT([XZ Utils], m4_esyscmd([/bin/sh build-aux/version.sh]),
|
||||
[xz@tukaani.org], [xz], [https://tukaani.org/xz/])
|
||||
[xz@tukaani.org], [xz], [https://xz.tukaani.org/xz-utils/])
|
||||
AC_CONFIG_SRCDIR([src/liblzma/common/common.h])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
@ -437,14 +437,6 @@ case $enable_threads in
|
|||
;;
|
||||
esac
|
||||
|
||||
# The Win95 threading lacks thread-safe one-time initialization function.
|
||||
# It's better to disallow it instead of allowing threaded but thread-unsafe
|
||||
# build.
|
||||
if test "x$enable_small$enable_threads" = xyeswin95; then
|
||||
AC_MSG_ERROR([--enable-threads=win95 and --enable-small cannot be
|
||||
used at the same time])
|
||||
fi
|
||||
|
||||
# We use the actual result a little later.
|
||||
|
||||
|
||||
|
@ -596,12 +588,15 @@ echo "Initializing Automake:"
|
|||
|
||||
# We don't use "subdir-objects" yet because it breaks "make distclean" when
|
||||
# dependencies are enabled (as of Automake 1.14.1) due to this bug:
|
||||
# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17354
|
||||
# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=17354
|
||||
# The -Wno-unsupported is used to silence warnings about missing
|
||||
# "subdir-objects".
|
||||
AM_INIT_AUTOMAKE([1.12 foreign tar-v7 filename-length-max=99 -Wno-unsupported])
|
||||
AC_PROG_LN_S
|
||||
|
||||
dnl # Autoconf >= 2.70 warns that AC_PROG_CC_C99 is obsolete. However,
|
||||
dnl # we have to keep using AC_PROG_CC_C99 instead of AC_PROG_CC
|
||||
dnl # as long as we try to be compatible with Autoconf 2.69.
|
||||
AC_PROG_CC_C99
|
||||
if test x$ac_cv_prog_cc_c99 = xno ; then
|
||||
AC_MSG_ERROR([No C99 compiler was found.])
|
||||
|
@ -611,8 +606,8 @@ AM_PROG_CC_C_O
|
|||
AM_PROG_AS
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
|
||||
case $enable_threads in
|
||||
posix)
|
||||
AS_CASE([$enable_threads],
|
||||
[posix], [
|
||||
echo
|
||||
echo "POSIX threading support:"
|
||||
AX_PTHREAD([:]) dnl We don't need the HAVE_PTHREAD macro.
|
||||
|
@ -638,21 +633,24 @@ case $enable_threads in
|
|||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
AC_SEARCH_LIBS([clock_gettime], [rt])
|
||||
AC_CHECK_FUNCS([clock_gettime pthread_condattr_setclock])
|
||||
AC_CHECK_DECLS([CLOCK_MONOTONIC], [], [], [[#include <time.h>]])
|
||||
AC_CHECK_DECL([CLOCK_MONOTONIC], [AC_DEFINE(
|
||||
[HAVE_CLOCK_MONOTONIC], [1], [Define to 1 if
|
||||
`CLOCK_MONOTONIC' is declared in <time.h>.])], [],
|
||||
[[#include <time.h>]])
|
||||
CFLAGS=$OLD_CFLAGS
|
||||
;;
|
||||
win95)
|
||||
],
|
||||
[win95], [
|
||||
AC_DEFINE([MYTHREAD_WIN95], [1], [Define to 1 when using
|
||||
Windows 95 (and thus XP) compatible threads.
|
||||
This avoids use of features that were added in
|
||||
Windows Vista.])
|
||||
;;
|
||||
vista)
|
||||
],
|
||||
[vista], [
|
||||
AC_DEFINE([MYTHREAD_VISTA], [1], [Define to 1 when using
|
||||
Windows Vista compatible threads. This uses
|
||||
features that are not available on Windows XP.])
|
||||
;;
|
||||
esac
|
||||
]
|
||||
)
|
||||
AM_CONDITIONAL([COND_THREADS], [test "x$enable_threads" != xno])
|
||||
|
||||
echo
|
||||
|
@ -705,7 +703,7 @@ fi
|
|||
# used when creating a static library.
|
||||
#
|
||||
# Libtool always uses -DPIC when building shared libraries by default and
|
||||
# doesn't use it for static libs by default. This can be overriden with
|
||||
# doesn't use it for static libs by default. This can be overridden with
|
||||
# --with-pic and --without-pic though. As long as neither --with-pic nor
|
||||
# --without-pic is used then we can use #ifdef PIC to detect if the file is
|
||||
# being built for a shared library.
|
||||
|
@ -716,8 +714,16 @@ elif test "x$enable_shared" = xno ; then
|
|||
enable_symbol_versions=no
|
||||
AC_MSG_RESULT([no (not building a shared library)])
|
||||
else
|
||||
case $host_os in
|
||||
linux*)
|
||||
case "$host_cpu-$host_os" in
|
||||
microblaze*)
|
||||
# GCC 12 on MicroBlaze doesn't support __symver__
|
||||
# attribute. It's simplest and safest to use the
|
||||
# generic version on that platform since then only
|
||||
# the linker script is needed. The RHEL/CentOS 7
|
||||
# compatibility symbols don't matter on MicroBlaze.
|
||||
enable_symbol_versions=generic
|
||||
;;
|
||||
*-linux*)
|
||||
case "$pic_mode-$enable_static" in
|
||||
default-*)
|
||||
# Use symvers if PIC is defined.
|
||||
|
@ -826,17 +832,22 @@ AC_C_BIGENDIAN
|
|||
|
||||
# __attribute__((__constructor__)) can be used for one-time initializations.
|
||||
# Use -Werror because some compilers accept unknown attributes and just
|
||||
# give a warning. If it works this should give no warnings, even
|
||||
# clang -Weverything should be fine.
|
||||
# dnl This doesn't need AC_LANG_SOURCE, minimal code is enough.
|
||||
# give a warning.
|
||||
#
|
||||
# FIXME? Unfortunately -Werror can cause trouble if CFLAGS contains options
|
||||
# that produce warnings for unrelated reasons. For example, GCC and Clang
|
||||
# support -Wunused-macros which will warn about "#define _GNU_SOURCE 1"
|
||||
# which will be among the #defines that Autoconf inserts to the beginning of
|
||||
# the test program. There seems to be no nice way to prevent Autoconf from
|
||||
# inserting the any defines to the test program.
|
||||
AC_MSG_CHECKING([if __attribute__((__constructor__)) can be used])
|
||||
have_func_attribute_constructor=no
|
||||
OLD_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Werror"
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
||||
__attribute__((__constructor__))
|
||||
static void my_constructor_func(void) { return; }
|
||||
], [
|
||||
]])], [
|
||||
AC_DEFINE([HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR], [1],
|
||||
[Define to 1 if __attribute__((__constructor__))
|
||||
is supported for functions.])
|
||||
|
@ -848,6 +859,20 @@ AC_COMPILE_IFELSE([
|
|||
CFLAGS="$OLD_CFLAGS"
|
||||
|
||||
|
||||
# The Win95 threading lacks a thread-safe one-time initialization function.
|
||||
# The one-time initialization is needed for crc32_small.c and crc64_small.c
|
||||
# create the CRC tables. So if small mode is enabled, the threading mode is
|
||||
# win95, and the compiler does not support attribute constructor, then we
|
||||
# would end up with a multithreaded build that is thread-unsafe. As a
|
||||
# result this configuration is not allowed.
|
||||
if test "x$enable_small$enable_threads$have_func_attribute_constructor" \
|
||||
= xyeswin95no; then
|
||||
AC_MSG_ERROR([
|
||||
--enable-threads=win95 and --enable-small cannot be used
|
||||
at the same time with a compiler that doesn't support
|
||||
__attribute__((__constructor__))])
|
||||
fi
|
||||
|
||||
###############################################################################
|
||||
# Checks for library functions.
|
||||
###############################################################################
|
||||
|
@ -884,7 +909,7 @@ TUKLIB_MBSTR
|
|||
sha256_header_found=no
|
||||
sha256_type_found=no
|
||||
sha256_func_found=no
|
||||
if test "x$enable_external_sha256" = "xyes"; then
|
||||
AS_IF([test "x$enable_external_sha256" = "xyes"], [
|
||||
# Test for Common Crypto before others, because Darwin has sha256.h
|
||||
# too and we don't want to use that, because on older versions it
|
||||
# uses OpenSSL functions, whose SHA256_Init is not guaranteed to
|
||||
|
@ -914,7 +939,7 @@ if test "x$enable_external_sha256" = "xyes"; then
|
|||
[sha256_func_found=yes ; break])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
])
|
||||
AM_CONDITIONAL([COND_INTERNAL_SHA256], [test "x$sha256_func_found" = xno])
|
||||
if test "x$enable_external_sha256$sha256_func_found" = xyesno; then
|
||||
AC_MSG_ERROR([--enable-external-sha256 was specified but no supported external SHA-256 implementation was found])
|
||||
|
@ -935,6 +960,8 @@ AC_CHECK_DECL([_mm_movemask_epi8],
|
|||
# For faster CRC on 32/64-bit x86 and E2K (see also crc64_fast.c):
|
||||
#
|
||||
# - Check for the CLMUL intrinsic _mm_clmulepi64_si128 in <immintrin.h>.
|
||||
# Check also for _mm_set_epi64x for consistency with CMake build
|
||||
# where it's needed to disable CLMUL with VS2013.
|
||||
#
|
||||
# - Check that __attribute__((__target__("ssse3,sse4.1,pclmul"))) works
|
||||
# together with _mm_clmulepi64_si128 from <immintrin.h>. The attribute
|
||||
|
@ -945,9 +972,9 @@ AC_CHECK_DECL([_mm_movemask_epi8],
|
|||
# If everything above is supported, runtime detection will be used to keep the
|
||||
# binaries working on systems that don't support the required extensions.
|
||||
AC_MSG_CHECKING([if _mm_clmulepi64_si128 is usable])
|
||||
if test "x$enable_clmul_crc" = xno ; then
|
||||
AS_IF([test "x$enable_clmul_crc" = xno], [
|
||||
AC_MSG_RESULT([no, --disable-clmul-crc was used])
|
||||
else
|
||||
], [
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
||||
#include <immintrin.h>
|
||||
|
||||
|
@ -962,31 +989,33 @@ else
|
|||
#if (defined(__GNUC__) || defined(__clang__)) && !defined(__EDG__)
|
||||
__attribute__((__target__("ssse3,sse4.1,pclmul")))
|
||||
#endif
|
||||
__m128i my_clmul(__m128i a, __m128i b)
|
||||
__m128i my_clmul(__m128i a)
|
||||
{
|
||||
const __m128i b = _mm_set_epi64x(1, 2);
|
||||
return _mm_clmulepi64_si128(a, b, 0);
|
||||
}
|
||||
]])], [
|
||||
AC_DEFINE([HAVE_USABLE_CLMUL], [1],
|
||||
[Define to 1 if _mm_clmulepi64_si128 is usable.
|
||||
[Define to 1 if _mm_set_epi64x and
|
||||
_mm_clmulepi64_si128 are usable.
|
||||
See configure.ac for details.])
|
||||
AC_MSG_RESULT([yes])
|
||||
], [
|
||||
AC_MSG_RESULT([no])
|
||||
])
|
||||
fi
|
||||
])
|
||||
|
||||
# Check for sandbox support. If one is found, set enable_sandbox=found.
|
||||
case $enable_sandbox in
|
||||
auto | capsicum)
|
||||
AS_CASE([$enable_sandbox],
|
||||
[auto | capsicum], [
|
||||
AX_CHECK_CAPSICUM([enable_sandbox=found], [:])
|
||||
;;
|
||||
esac
|
||||
case $enable_sandbox in
|
||||
auto | pledge)
|
||||
]
|
||||
)
|
||||
AS_CASE([$enable_sandbox],
|
||||
[auto | pledge], [
|
||||
AC_CHECK_FUNCS([pledge], [enable_sandbox=found ; break])
|
||||
;;
|
||||
esac
|
||||
]
|
||||
)
|
||||
|
||||
# If a specific sandboxing method was explicitly requested and it wasn't
|
||||
# found, give an error.
|
||||
|
@ -1015,47 +1044,72 @@ if test -n "$CFLAG_VISIBILITY" && test "$is_w32" = no; then
|
|||
AM_CFLAGS="$AM_CFLAGS $CFLAG_VISIBILITY"
|
||||
fi
|
||||
|
||||
if test "$GCC" = yes ; then
|
||||
AS_IF([test "$GCC" = yes], [
|
||||
# Enable as much warnings as possible. These commented warnings won't
|
||||
# work for this package though:
|
||||
# * -Wunreachable-code breaks several assert(0) cases, which are
|
||||
# backed up with "return LZMA_PROG_ERROR".
|
||||
# * -Wcast-qual would break various things where we need a non-const
|
||||
# pointer although we don't modify anything through it.
|
||||
# * -Wcast-align breaks optimized CRC32 and CRC64 implementation
|
||||
# on some architectures (not on x86), where this warning is bogus,
|
||||
# because we take care of correct alignment.
|
||||
# * -Winline, -Wdisabled-optimization, -Wunsafe-loop-optimizations
|
||||
# don't seem so useful here; at least the last one gives some
|
||||
# warnings which are not bugs.
|
||||
# * -Wconversion still shows too many warnings.
|
||||
#
|
||||
# The flags before the empty line are for GCC and many of them
|
||||
# are supported by Clang too. The flags after the empty line are
|
||||
# for Clang.
|
||||
for NEW_FLAG in \
|
||||
-Wall \
|
||||
-Wextra \
|
||||
-Wvla \
|
||||
-Wc99-c11-compat \
|
||||
-Wformat=2 \
|
||||
-Winit-self \
|
||||
-Wmissing-include-dirs \
|
||||
-Wstrict-aliasing \
|
||||
-Wshift-overflow=2 \
|
||||
-Wstrict-overflow=3 \
|
||||
-Walloc-zero \
|
||||
-Wduplicated-cond \
|
||||
-Wfloat-equal \
|
||||
-Wundef \
|
||||
-Wshadow \
|
||||
-Wpointer-arith \
|
||||
-Wbad-function-cast \
|
||||
-Wwrite-strings \
|
||||
-Wdate-time \
|
||||
-Wsign-conversion \
|
||||
-Wfloat-conversion \
|
||||
-Wlogical-op \
|
||||
-Waggregate-return \
|
||||
-Wstrict-prototypes \
|
||||
-Wold-style-definition \
|
||||
-Wmissing-prototypes \
|
||||
-Wmissing-declarations \
|
||||
-Wmissing-noreturn \
|
||||
-Wredundant-decls
|
||||
-Wredundant-decls \
|
||||
\
|
||||
-Wc99-compat \
|
||||
-Wc11-extensions \
|
||||
-Wc2x-compat \
|
||||
-Wc2x-extensions \
|
||||
-Wpre-c2x-compat \
|
||||
-Warray-bounds-pointer-arithmetic \
|
||||
-Wassign-enum \
|
||||
-Wconditional-uninitialized \
|
||||
-Wdocumentation \
|
||||
-Wduplicate-enum \
|
||||
-Wempty-translation-unit \
|
||||
-Wflexible-array-extensions \
|
||||
-Wmissing-variable-declarations \
|
||||
-Wnewline-eof \
|
||||
-Wshift-sign-overflow \
|
||||
-Wstring-conversion
|
||||
do
|
||||
AC_MSG_CHECKING([if $CC accepts $NEW_FLAG])
|
||||
OLD_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $NEW_FLAG -Werror"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE(
|
||||
[void foo(void); void foo(void) { }])], [
|
||||
[[void foo(void); void foo(void) { }]])], [
|
||||
AM_CFLAGS="$AM_CFLAGS $NEW_FLAG"
|
||||
AC_MSG_RESULT([yes])
|
||||
], [
|
||||
|
@ -1071,7 +1125,7 @@ if test "$GCC" = yes ; then
|
|||
if test "x$enable_werror" = "xyes"; then
|
||||
AM_CFLAGS="$AM_CFLAGS -Werror"
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
###############################################################################
|
||||
|
@ -1092,7 +1146,6 @@ xz=`echo xz | sed "$program_transform_name"`
|
|||
AC_SUBST([xz])
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Doxyfile
|
||||
Makefile
|
||||
po/Makefile.in
|
||||
lib/Makefile
|
||||
|
|
|
@ -240,5 +240,5 @@ A: Give --enable-small to the configure script. Use also appropriate
|
|||
If the result is still too big, take a look at XZ Embedded. It is
|
||||
a separate project, which provides a limited but significantly
|
||||
smaller XZ decoder implementation than XZ Utils. You can find it
|
||||
at <https://tukaani.org/xz/embedded.html>.
|
||||
at <https://xz.tukaani.org/xz-embedded/>.
|
||||
|
||||
|
|
|
@ -40,11 +40,11 @@ The .lzma File Format
|
|||
|
||||
0.2. Changes
|
||||
|
||||
Last modified: 2022-07-13 21:00+0300
|
||||
Last modified: 2024-01-16 18:00+0800
|
||||
|
||||
Compared to the previous version (2011-04-12 11:55+0300)
|
||||
the section 1.1.3 was modified to allow End of Payload Marker
|
||||
with a known Uncompressed Size.
|
||||
Compared to the previous version (2022-07-13 21:00+0300)
|
||||
the section 2 was modified to change links from http to
|
||||
https and to update XZ links.
|
||||
|
||||
|
||||
1. File Format
|
||||
|
@ -157,17 +157,17 @@ The .lzma File Format
|
|||
2. References
|
||||
|
||||
LZMA SDK - The original LZMA implementation
|
||||
http://7-zip.org/sdk.html
|
||||
https://7-zip.org/sdk.html
|
||||
|
||||
7-Zip
|
||||
http://7-zip.org/
|
||||
https://7-zip.org/
|
||||
|
||||
LZMA Utils - LZMA adapted to POSIX-like systems
|
||||
http://tukaani.org/lzma/
|
||||
https://tukaani.org/lzma/
|
||||
|
||||
XZ Utils - The next generation of LZMA Utils
|
||||
http://tukaani.org/xz/
|
||||
https://xz.tukaani.org/xz-utils/
|
||||
|
||||
The .xz file format - The successor of the .lzma format
|
||||
http://tukaani.org/xz/xz-file-format.txt
|
||||
https://xz.tukaani.org/format/xz-file-format.txt
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
The .xz File Format
|
||||
===================
|
||||
|
||||
Version 1.1.0 (2022-12-11)
|
||||
Version 1.2.0 (2024-01-19)
|
||||
|
||||
|
||||
0. Preface
|
||||
|
@ -81,18 +81,22 @@ Version 1.1.0 (2022-12-11)
|
|||
0.2. Getting the Latest Version
|
||||
|
||||
The latest official version of this document can be downloaded
|
||||
from <http://tukaani.org/xz/xz-file-format.txt>.
|
||||
from <https://xz.tukaani.org/format/xz-file-format.txt>.
|
||||
|
||||
Specific versions of this document have a filename
|
||||
xz-file-format-X.Y.Z.txt where X.Y.Z is the version number.
|
||||
For example, the version 1.0.0 of this document is available
|
||||
at <http://tukaani.org/xz/xz-file-format-1.0.0.txt>.
|
||||
at <https://xz.tukaani.org/format/xz-file-format-1.0.0.txt>.
|
||||
|
||||
|
||||
0.3. Version History
|
||||
|
||||
Version Date Description
|
||||
|
||||
1.2.0 2024-01-19 Added RISC-V filter and updated URLs in
|
||||
Sections 0.2 and 7. The URL of this
|
||||
specification was changed.
|
||||
|
||||
1.1.0 2022-12-11 Added ARM64 filter and clarified 32-bit
|
||||
ARM endianness in Section 5.3.2,
|
||||
language improvements in Section 5.4
|
||||
|
@ -923,6 +927,7 @@ Version 1.1.0 (2022-12-11)
|
|||
0x08 2 bytes ARM Thumb filter [1]
|
||||
0x09 4 bytes SPARC filter
|
||||
0x0A 4 bytes ARM64 filter [2]
|
||||
0x0B 2 bytes RISC-V filter
|
||||
|
||||
[1] These are for little endian instruction encoding.
|
||||
This must not be confused with data endianness.
|
||||
|
@ -1136,30 +1141,30 @@ Version 1.1.0 (2022-12-11)
|
|||
7. References
|
||||
|
||||
LZMA SDK - The original LZMA implementation
|
||||
http://7-zip.org/sdk.html
|
||||
https://7-zip.org/sdk.html
|
||||
|
||||
LZMA Utils - LZMA adapted to POSIX-like systems
|
||||
http://tukaani.org/lzma/
|
||||
https://tukaani.org/lzma/
|
||||
|
||||
XZ Utils - The next generation of LZMA Utils
|
||||
http://tukaani.org/xz/
|
||||
https://xz.tukaani.org/xz-utils/
|
||||
|
||||
[RFC-1952]
|
||||
GZIP file format specification version 4.3
|
||||
http://www.ietf.org/rfc/rfc1952.txt
|
||||
https://www.ietf.org/rfc/rfc1952.txt
|
||||
- Notation of byte boxes in section "2.1. Overall conventions"
|
||||
|
||||
[RFC-2119]
|
||||
Key words for use in RFCs to Indicate Requirement Levels
|
||||
http://www.ietf.org/rfc/rfc2119.txt
|
||||
https://www.ietf.org/rfc/rfc2119.txt
|
||||
|
||||
[GNU-tar]
|
||||
GNU tar 1.21 manual
|
||||
http://www.gnu.org/software/tar/manual/html_node/Blocking-Factor.html
|
||||
GNU tar 1.35 manual
|
||||
https://www.gnu.org/software/tar/manual/html_node/Blocking-Factor.html
|
||||
- Node 9.4.2 "Blocking Factor", paragraph that begins
|
||||
"gzip will complain about trailing garbage"
|
||||
- Note that this URL points to the latest version of the
|
||||
manual, and may some day not contain the note which is in
|
||||
1.21. For the exact version of the manual, download GNU
|
||||
tar 1.21: ftp://ftp.gnu.org/pub/gnu/tar/tar-1.21.tar.gz
|
||||
1.35. For the exact version of the manual, download GNU
|
||||
tar 1.35: ftp://ftp.gnu.org/pub/gnu/tar/tar-1.35.tar.gz
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Introduction
|
|||
|
||||
Getting and Installing DJGPP
|
||||
|
||||
You may use <http://www.delorie.com/djgpp/zip-picker.html> to help
|
||||
You may use <https://www.delorie.com/djgpp/zip-picker.html> to help
|
||||
deciding what to download. If you are only interested in building
|
||||
XZ Utils, the zip-picker may list files that you don't strictly
|
||||
need. However, using the zip-picker can still be worth it to get a
|
||||
|
@ -25,7 +25,7 @@ Getting and Installing DJGPP
|
|||
from readme.1st too).
|
||||
|
||||
For a more manual method, first select a mirror from
|
||||
<http://www.delorie.com/djgpp/getting.html> and go the
|
||||
<https://www.delorie.com/djgpp/getting.html> and go the
|
||||
subdirectory named "current". You need the following files:
|
||||
|
||||
unzip32.exe (if you don't already have a LFN-capable unzipper)
|
||||
|
|
|
@ -143,7 +143,7 @@
|
|||
#define PACKAGE_NAME "XZ Utils"
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#define PACKAGE_URL "https://tukaani.org/xz/"
|
||||
#define PACKAGE_URL "https://xz.tukaani.org/xz-utils/"
|
||||
|
||||
/* The size of `size_t', as computed by sizeof. */
|
||||
#define SIZEOF_SIZE_T 4
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,111 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
#############################################################################
|
||||
#
|
||||
# Updates the Doxygen generated documentation files in the source tree.
|
||||
# If the doxygen command is not installed, it will exit with an error.
|
||||
# This script can generate Doxygen documentation for all source files or for
|
||||
# just liblzma API header files.
|
||||
#
|
||||
# It is recommended to use this script to update the Doxygen-generated HTML
|
||||
# files since this will include the package version in the output and,
|
||||
# in case of liblzma API docs, strip JavaScript files from the output.
|
||||
#
|
||||
#############################################################################
|
||||
#
|
||||
# Authors: Jia Tan
|
||||
# Lasse Collin
|
||||
#
|
||||
# This file has been put into the public domain.
|
||||
# You can do whatever you want with this file.
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
set -e
|
||||
|
||||
if type doxygen > /dev/null 2>&1; then
|
||||
:
|
||||
else
|
||||
echo "doxygen/update-doxygen: 'doxygen' command not found." >&2
|
||||
echo "doxygen/update-doxygen: Skipping Doxygen docs generation." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test ! -f Doxyfile; then
|
||||
cd `dirname "$0"` || exit 1
|
||||
if test ! -f Doxyfile; then
|
||||
echo "doxygen/update-doxygen: Cannot find Doxyfile" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Get the package version so that it can be included in the generated docs.
|
||||
PACKAGE_VERSION=`cd .. && sh build-aux/version.sh` || exit 1
|
||||
|
||||
# If no arguments are specified, default to generating liblzma API header
|
||||
# documentation only.
|
||||
case $1 in
|
||||
'' | api)
|
||||
# Remove old documentation before re-generating the new.
|
||||
rm -rf ../doc/api
|
||||
|
||||
# Generate the HTML documentation by preparing the Doxyfile
|
||||
# in stdin and piping the result to the doxygen command.
|
||||
# With Doxygen, the last assignment of a value to a tag will
|
||||
# override any earlier assignment. So, we can use this
|
||||
# feature to override the tags that need to change between
|
||||
# "api" and "internal" modes.
|
||||
(
|
||||
cat Doxyfile
|
||||
echo "PROJECT_NUMBER = $PACKAGE_VERSION"
|
||||
) | doxygen -
|
||||
|
||||
# As of Doxygen 1.8.0 - 1.9.6 and the Doxyfile options we use,
|
||||
# the output is good without any JavaScript. Unfortunately
|
||||
# Doxygen doesn't have an option to disable JavaScript usage
|
||||
# completely so we strip it away with the hack below.
|
||||
#
|
||||
# Omitting the JavaScript code avoids some license hassle
|
||||
# as jquery.js is fairly big, it contains more than jQuery
|
||||
# itself, and doesn't include the actual license text (it
|
||||
# only refers to the MIT license by name).
|
||||
echo "Stripping JavaScript from Doxygen output..."
|
||||
for F in ../doc/api/*.html
|
||||
do
|
||||
sed 's/<script [^>]*><\/script>//g
|
||||
s/onclick="[^"]*"//g' \
|
||||
"$F" > ../doc/api/tmp
|
||||
mv -f ../doc/api/tmp "$F"
|
||||
done
|
||||
rm -f ../doc/api/*.js
|
||||
;;
|
||||
|
||||
internal)
|
||||
# The docs from internal aren't for distribution so
|
||||
# the JavaScript files aren't an issue here.
|
||||
rm -rf ../doc/internal
|
||||
(
|
||||
cat Doxyfile
|
||||
echo "PROJECT_NUMBER = $PACKAGE_VERSION"
|
||||
echo 'PROJECT_NAME = "XZ Utils"'
|
||||
echo 'STRIP_FROM_PATH = ../src'
|
||||
echo 'INPUT = ../src'
|
||||
echo 'HTML_OUTPUT = internal'
|
||||
echo 'EXTRACT_PRIVATE = YES'
|
||||
echo 'EXTRACT_STATIC = YES'
|
||||
echo 'EXTRACT_LOCAL_CLASSES = YES'
|
||||
echo 'SEARCHENGINE = YES'
|
||||
) | doxygen -
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "doxygen/update-doxygen: Error: mode argument '$1'" \
|
||||
"is not supported." >&2
|
||||
echo "doxygen/update-doxygen: Supported modes:" >&2
|
||||
echo "doxygen/update-doxygen: - 'api' (default):" \
|
||||
"liblzma API docs into doc/api" >&2
|
||||
echo "doxygen/update-doxygen: - 'internal':"\
|
||||
"internal docs into doc/internal" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
|
@ -8,8 +8,8 @@
|
|||
# Checks for tuklib_integer.h:
|
||||
# - Endianness
|
||||
# - Does the compiler or the operating system provide byte swapping macros
|
||||
# - Does the hardware support fast unaligned access to 16-bit
|
||||
# and 32-bit integers
|
||||
# - Does the hardware support fast unaligned access to 16-bit, 32-bit,
|
||||
# and 64-bit integers
|
||||
#
|
||||
# COPYING
|
||||
#
|
||||
|
|
|
@ -21,5 +21,8 @@
|
|||
|
||||
AC_DEFUN_ONCE([TUKLIB_PROGNAME], [
|
||||
AC_REQUIRE([TUKLIB_COMMON])
|
||||
AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
|
||||
AC_CHECK_DECL([program_invocation_name], [AC_DEFINE(
|
||||
[HAVE_PROGRAM_INVOCATION_NAME], [1],
|
||||
[Define to 1 if `program_invocation_name' is declared in <errno.h>.])],
|
||||
[], [#include <errno.h>])
|
||||
])dnl
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# visibility.m4 serial 6
|
||||
dnl Copyright (C) 2005, 2008, 2010-2020 Free Software Foundation, Inc.
|
||||
# visibility.m4 serial 8
|
||||
dnl Copyright (C) 2005, 2008, 2010-2023 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
@ -58,6 +58,11 @@ AC_DEFUN([gl_VISIBILITY],
|
|||
extern __attribute__((__visibility__("default"))) int exportedvar;
|
||||
extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
|
||||
extern __attribute__((__visibility__("default"))) int exportedfunc (void);
|
||||
void dummyfunc (void);
|
||||
int hiddenvar;
|
||||
int exportedvar;
|
||||
int hiddenfunc (void) { return 51; }
|
||||
int exportedfunc (void) { return 1225736919; }
|
||||
void dummyfunc (void) {}
|
||||
]],
|
||||
[[]])],
|
||||
|
|
218
po/de.po
218
po/de.po
|
@ -3,13 +3,13 @@
|
|||
#
|
||||
# André Noll <maan@tuebingen.mpg.de>, 2010.
|
||||
# Anna Henningsen <sqrt@entless.org>, 2015.
|
||||
# Mario Blättermann <mario.blaettermann@gmail.com>, 2019, 2022.
|
||||
# Mario Blättermann <mario.blaettermann@gmail.com>, 2019, 2022-2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: xz 5.4.0-pre2\n"
|
||||
"Project-Id-Version: xz 5.4.4-pre1\n"
|
||||
"Report-Msgid-Bugs-To: xz@tukaani.org\n"
|
||||
"POT-Creation-Date: 2022-12-03 00:34+0800\n"
|
||||
"PO-Revision-Date: 2022-12-05 18:55+0100\n"
|
||||
"POT-Creation-Date: 2023-07-18 23:34+0800\n"
|
||||
"PO-Revision-Date: 2023-07-19 20:44+0200\n"
|
||||
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
|
||||
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
|
||||
"Language: de\n"
|
||||
|
@ -18,53 +18,68 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Lokalize 22.08.3\n"
|
||||
"X-Generator: Lokalize 23.04.3\n"
|
||||
|
||||
#: src/xz/args.c:64
|
||||
#: src/xz/args.c:77
|
||||
#, c-format
|
||||
msgid "%s: Invalid argument to --block-list"
|
||||
msgstr "%s: Ungültiges Argument für --block-list"
|
||||
|
||||
#: src/xz/args.c:74
|
||||
#: src/xz/args.c:87
|
||||
#, c-format
|
||||
msgid "%s: Too many arguments to --block-list"
|
||||
msgstr "%s: Zu viele Argumente für --block-list"
|
||||
|
||||
#: src/xz/args.c:103
|
||||
#: src/xz/args.c:116
|
||||
msgid "0 can only be used as the last element in --block-list"
|
||||
msgstr "0 kann nur das letzte Element in --block-list sein"
|
||||
|
||||
#: src/xz/args.c:436
|
||||
#: src/xz/args.c:451
|
||||
#, c-format
|
||||
msgid "%s: Unknown file format type"
|
||||
msgstr "%s: Unbekanntes Dateiformat"
|
||||
|
||||
#: src/xz/args.c:459 src/xz/args.c:467
|
||||
#: src/xz/args.c:474 src/xz/args.c:482
|
||||
#, c-format
|
||||
msgid "%s: Unsupported integrity check type"
|
||||
msgstr "%s: Integritätsprüfungstyp nicht unterstützt"
|
||||
|
||||
#: src/xz/args.c:503
|
||||
#: src/xz/args.c:518
|
||||
msgid "Only one file can be specified with `--files' or `--files0'."
|
||||
msgstr "Nur eine Datei kann als Argument für »--files« oder »--files0« angegeben werden."
|
||||
|
||||
#: src/xz/args.c:571
|
||||
#. TRANSLATORS: This is a translatable
|
||||
#. string because French needs a space
|
||||
#. before the colon ("%s : %s").
|
||||
#: src/xz/args.c:533 src/xz/coder.c:691 src/xz/coder.c:707 src/xz/coder.c:967
|
||||
#: src/xz/coder.c:970 src/xz/file_io.c:605 src/xz/file_io.c:679
|
||||
#: src/xz/file_io.c:769 src/xz/file_io.c:940 src/xz/list.c:369
|
||||
#: src/xz/list.c:415 src/xz/list.c:477 src/xz/list.c:581 src/xz/list.c:590
|
||||
#, c-format
|
||||
msgid "%s: %s"
|
||||
msgstr "%s: %s"
|
||||
|
||||
#: src/xz/args.c:589
|
||||
#, c-format
|
||||
msgid "The environment variable %s contains too many arguments"
|
||||
msgstr "Die Umgebungsvariable %s enthält zu viele Argumente"
|
||||
|
||||
#: src/xz/args.c:673
|
||||
#: src/xz/args.c:691
|
||||
msgid "Compression support was disabled at build time"
|
||||
msgstr "Die Unterstützung für Kompression wurde zum Zeitpunkt der Erstellung deaktiviert"
|
||||
|
||||
#: src/xz/args.c:680
|
||||
#: src/xz/args.c:698
|
||||
msgid "Decompression support was disabled at build time"
|
||||
msgstr "Die Unterstützung für Dekompression wurde zum Zeitpunkt der Erstellung deaktiviert"
|
||||
|
||||
#: src/xz/args.c:686
|
||||
#: src/xz/args.c:704
|
||||
msgid "Compression of lzip files (.lz) is not supported"
|
||||
msgstr "Kompression von lzip-Dateien (.lz) wird nicht unterstützt"
|
||||
|
||||
#: src/xz/args.c:735
|
||||
msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "Mit --format=raw ist --suffix=.SUF notwendig, falls nicht in die Standardausgabe geschrieben wird"
|
||||
|
||||
#: src/xz/coder.c:115
|
||||
msgid "Maximum number of filters is four"
|
||||
msgstr "Maximal vier Filter möglich"
|
||||
|
@ -136,11 +151,11 @@ msgstr "Die LZMA%c-Wörterbuchgröße wurde von %s MiB auf %s MiB angepasst, um
|
|||
msgid "Error creating a pipe: %s"
|
||||
msgstr "Fehler beim Erzeugen der Pipeline: %s"
|
||||
|
||||
#: src/xz/file_io.c:235
|
||||
#: src/xz/file_io.c:252
|
||||
msgid "Failed to enable the sandbox"
|
||||
msgstr "Sandbox konnte nicht aktiviert werden"
|
||||
|
||||
#: src/xz/file_io.c:277
|
||||
#: src/xz/file_io.c:294
|
||||
#, c-format
|
||||
msgid "%s: poll() failed: %s"
|
||||
msgstr "%s: poll() ist fehlgeschlagen: %s"
|
||||
|
@ -155,111 +170,111 @@ msgstr "%s: poll() ist fehlgeschlagen: %s"
|
|||
#. 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:344
|
||||
#: src/xz/file_io.c:361
|
||||
#, c-format
|
||||
msgid "%s: File seems to have been moved, not removing"
|
||||
msgstr "%s: Datei scheint verschoben worden zu sein, daher wird sie nicht gelöscht"
|
||||
|
||||
#: src/xz/file_io.c:351 src/xz/file_io.c:907
|
||||
#: src/xz/file_io.c:368 src/xz/file_io.c:924
|
||||
#, c-format
|
||||
msgid "%s: Cannot remove: %s"
|
||||
msgstr "%s: Löschen nicht möglich: %s"
|
||||
|
||||
#: src/xz/file_io.c:377
|
||||
#: src/xz/file_io.c:394
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file owner: %s"
|
||||
msgstr "%s: Dateieigentümer kann nicht gesetzt werden: %s"
|
||||
|
||||
#: src/xz/file_io.c:390
|
||||
#: src/xz/file_io.c:407
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file group: %s"
|
||||
msgstr "%s: Dateigruppe kann nicht gesetzt werden: %s"
|
||||
|
||||
#: src/xz/file_io.c:409
|
||||
#: src/xz/file_io.c:426
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file permissions: %s"
|
||||
msgstr "%s: Zugriffsrechte können nicht gesetzt werden: %s"
|
||||
|
||||
#: src/xz/file_io.c:535
|
||||
#: src/xz/file_io.c:552
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard input: %s"
|
||||
msgstr "Dateistatus-Markierungen können nicht aus der Standardeingabe ermittelt werden: %s"
|
||||
|
||||
#: src/xz/file_io.c:593 src/xz/file_io.c:655
|
||||
#: src/xz/file_io.c:610 src/xz/file_io.c:672
|
||||
#, c-format
|
||||
msgid "%s: Is a symbolic link, skipping"
|
||||
msgstr "%s: Ist ein symbolischer Link, wird übersprungen"
|
||||
|
||||
#: src/xz/file_io.c:684
|
||||
#: src/xz/file_io.c:701
|
||||
#, c-format
|
||||
msgid "%s: Is a directory, skipping"
|
||||
msgstr "%s: Ist ein Verzeichnis, wird übersprungen"
|
||||
|
||||
#: src/xz/file_io.c:690
|
||||
#: src/xz/file_io.c:707
|
||||
#, c-format
|
||||
msgid "%s: Not a regular file, skipping"
|
||||
msgstr "%s: Keine reguläre Datei, wird übersprungen"
|
||||
|
||||
#: src/xz/file_io.c:707
|
||||
#: src/xz/file_io.c:724
|
||||
#, c-format
|
||||
msgid "%s: File has setuid or setgid bit set, skipping"
|
||||
msgstr "%s: Datei hat das setuid- oder setgid-Bit gesetzt, wird übersprungen"
|
||||
|
||||
#: src/xz/file_io.c:714
|
||||
#: src/xz/file_io.c:731
|
||||
#, c-format
|
||||
msgid "%s: File has sticky bit set, skipping"
|
||||
msgstr "%s: Datei hat sticky-Bit gesetzt, wird übersprungen"
|
||||
|
||||
#: src/xz/file_io.c:721
|
||||
#: src/xz/file_io.c:738
|
||||
#, c-format
|
||||
msgid "%s: Input file has more than one hard link, skipping"
|
||||
msgstr "%s: Eingabedatei hat mehr als einen harten Link, wird übersprungen"
|
||||
|
||||
#: src/xz/file_io.c:763
|
||||
#: src/xz/file_io.c:780
|
||||
msgid "Empty filename, skipping"
|
||||
msgstr "Leerer Dateiname, wird übersprungen"
|
||||
|
||||
#: src/xz/file_io.c:817
|
||||
#: src/xz/file_io.c:834
|
||||
#, c-format
|
||||
msgid "Error restoring the status flags to standard input: %s"
|
||||
msgstr "Fehler beim Wiederherstellen der Status-Markierungen für die Standardeingabe: %s"
|
||||
|
||||
#: src/xz/file_io.c:865
|
||||
#: src/xz/file_io.c:882
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard output: %s"
|
||||
msgstr "Status-Markierungen der Standardausgabe können nicht ermittelt werden: %s"
|
||||
|
||||
#: src/xz/file_io.c:1043
|
||||
#: src/xz/file_io.c:1060
|
||||
#, c-format
|
||||
msgid "Error restoring the O_APPEND flag to standard output: %s"
|
||||
msgstr "Fehler beim Wiederherstellen der O_APPEND-Markierungen für die Standardausgabe: %s"
|
||||
|
||||
#: src/xz/file_io.c:1055
|
||||
#: src/xz/file_io.c:1072
|
||||
#, c-format
|
||||
msgid "%s: Closing the file failed: %s"
|
||||
msgstr "%s: Fehler beim Schließen der Datei: %s"
|
||||
|
||||
#: src/xz/file_io.c:1091 src/xz/file_io.c:1354
|
||||
#: src/xz/file_io.c:1108 src/xz/file_io.c:1371
|
||||
#, c-format
|
||||
msgid "%s: Seeking failed when trying to create a sparse file: %s"
|
||||
msgstr "%s: Positionierungsfehler beim Versuch, eine Sparse-Datei (dünnbesetzte Datei) zu erzeugen: %s"
|
||||
|
||||
#: src/xz/file_io.c:1192
|
||||
#: src/xz/file_io.c:1209
|
||||
#, c-format
|
||||
msgid "%s: Read error: %s"
|
||||
msgstr "%s: Lesefehler: %s"
|
||||
|
||||
#: src/xz/file_io.c:1222
|
||||
#: src/xz/file_io.c:1239
|
||||
#, c-format
|
||||
msgid "%s: Error seeking the file: %s"
|
||||
msgstr "%s: Fehler beim Durchsuchen der Datei: %s"
|
||||
|
||||
#: src/xz/file_io.c:1246
|
||||
#: src/xz/file_io.c:1263
|
||||
#, c-format
|
||||
msgid "%s: Unexpected end of file"
|
||||
msgstr "%s: Unerwartetes Ende der Datei"
|
||||
|
||||
#: src/xz/file_io.c:1305
|
||||
#: src/xz/file_io.c:1322
|
||||
#, c-format
|
||||
msgid "%s: Write error: %s"
|
||||
msgstr "%s: Schreibfehler: %s"
|
||||
|
@ -478,41 +493,41 @@ msgstr "%s: Zu klein, um eine gültige .xz-Datei zu sein"
|
|||
#. 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:730
|
||||
#: src/xz/list.c:731
|
||||
msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename"
|
||||
msgstr " Str. Blöcke Kompr. Unkompr. Verh. Check Dateiname"
|
||||
|
||||
#: src/xz/list.c:1025 src/xz/list.c:1203
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/xz/list.c:1025 src/xz/list.c:1203
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "No"
|
||||
msgstr "Nein"
|
||||
|
||||
#: src/xz/list.c:1027 src/xz/list.c:1205
|
||||
#: src/xz/list.c:1028 src/xz/list.c:1206
|
||||
#, c-format
|
||||
msgid " Minimum XZ Utils version: %s\n"
|
||||
msgstr " Minimal erforderliche XZ Utils-Version: %s\n"
|
||||
|
||||
#. 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:1178
|
||||
#: src/xz/list.c:1179
|
||||
#, c-format
|
||||
msgid "%s file\n"
|
||||
msgid_plural "%s files\n"
|
||||
msgstr[0] "%s Datei\n"
|
||||
msgstr[1] "%s Dateien\n"
|
||||
|
||||
#: src/xz/list.c:1191
|
||||
#: src/xz/list.c:1192
|
||||
msgid "Totals:"
|
||||
msgstr "Gesamt:"
|
||||
|
||||
#: src/xz/list.c:1269
|
||||
#: src/xz/list.c:1270
|
||||
msgid "--list works only on .xz files (--format=xz or --format=auto)"
|
||||
msgstr "--list funktioniert nur mit .xz-Dateien (--format=xz oder --format=auto)"
|
||||
|
||||
#: src/xz/list.c:1275
|
||||
#: src/xz/list.c:1276
|
||||
msgid "--list does not support reading from standard input"
|
||||
msgstr "--list unterstützt kein Lesen aus der Standardeingabe"
|
||||
|
||||
|
@ -543,68 +558,68 @@ msgstr "Lesen der Daten aus der Standardeingabe ist nicht möglich, wenn die Dat
|
|||
#. 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:725
|
||||
#: src/xz/message.c:670 src/xz/message.c:725
|
||||
#, c-format
|
||||
msgid "%s: "
|
||||
msgstr "%s: "
|
||||
|
||||
#: src/xz/message.c:788 src/xz/message.c:847
|
||||
#: src/xz/message.c:797 src/xz/message.c:856
|
||||
msgid "Internal error (bug)"
|
||||
msgstr "Interner Fehler (Bug)"
|
||||
|
||||
#: src/xz/message.c:795
|
||||
#: src/xz/message.c:804
|
||||
msgid "Cannot establish signal handlers"
|
||||
msgstr "Signalroutine kann nicht gesetzt werden"
|
||||
|
||||
#: src/xz/message.c:804
|
||||
#: src/xz/message.c:813
|
||||
msgid "No integrity check; not verifying file integrity"
|
||||
msgstr "Keine Integritätsprüfung; Integrität der Datei wird nicht überprüft"
|
||||
|
||||
#: src/xz/message.c:807
|
||||
#: src/xz/message.c:816
|
||||
msgid "Unsupported type of integrity check; not verifying file integrity"
|
||||
msgstr "Typ der Integritätsprüfung wird nicht unterstützt; Integrität der Datei wird nicht überprüft"
|
||||
|
||||
#: src/xz/message.c:814
|
||||
#: src/xz/message.c:823
|
||||
msgid "Memory usage limit reached"
|
||||
msgstr "Speicherbedarfsbegrenzung erreicht"
|
||||
|
||||
#: src/xz/message.c:817
|
||||
#: src/xz/message.c:826
|
||||
msgid "File format not recognized"
|
||||
msgstr "Dateiformat nicht erkannt"
|
||||
|
||||
#: src/xz/message.c:820
|
||||
#: src/xz/message.c:829
|
||||
msgid "Unsupported options"
|
||||
msgstr "Optionen nicht unterstützt"
|
||||
|
||||
#: src/xz/message.c:823
|
||||
#: src/xz/message.c:832
|
||||
msgid "Compressed data is corrupt"
|
||||
msgstr "Komprimierte Daten sind beschädigt"
|
||||
|
||||
#: src/xz/message.c:826
|
||||
#: src/xz/message.c:835
|
||||
msgid "Unexpected end of input"
|
||||
msgstr "Unerwartetes Ende der Eingabe"
|
||||
|
||||
#: src/xz/message.c:868
|
||||
#: src/xz/message.c:877
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limiter is disabled."
|
||||
msgstr "%s MiB Speicher wird benötigt. Die Begrenzung ist deaktiviert."
|
||||
|
||||
#: src/xz/message.c:896
|
||||
#: src/xz/message.c:905
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limit is %s."
|
||||
msgstr "%s MiB Speicher wird benötigt. Die Begrenzung ist %s."
|
||||
|
||||
#: src/xz/message.c:915
|
||||
#: src/xz/message.c:924
|
||||
#, c-format
|
||||
msgid "%s: Filter chain: %s\n"
|
||||
msgstr "%s: Filterkette: %s\n"
|
||||
|
||||
#: src/xz/message.c:926
|
||||
#: src/xz/message.c:935
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Versuchen Sie »%s --help« für mehr Informationen."
|
||||
|
||||
#: src/xz/message.c:952
|
||||
#: src/xz/message.c:961
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION]... [FILE]...\n"
|
||||
|
@ -615,17 +630,17 @@ msgstr ""
|
|||
"Komprimiert oder dekomprimiert .xz-DATEI(EN).\n"
|
||||
"\n"
|
||||
|
||||
#: src/xz/message.c:959
|
||||
#: src/xz/message.c:968
|
||||
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:963
|
||||
#: src/xz/message.c:972
|
||||
msgid " Operation mode:\n"
|
||||
msgstr " Aktionsmodus:\n"
|
||||
|
||||
#: src/xz/message.c:966
|
||||
#: src/xz/message.c:975
|
||||
msgid ""
|
||||
" -z, --compress force compression\n"
|
||||
" -d, --decompress force decompression\n"
|
||||
|
@ -637,7 +652,7 @@ msgstr ""
|
|||
" -t, --test Dateiintegrität überprüfen\n"
|
||||
" -l, --list Dateiinformationen anzeigen"
|
||||
|
||||
#: src/xz/message.c:972
|
||||
#: src/xz/message.c:981
|
||||
msgid ""
|
||||
"\n"
|
||||
" Operation modifiers:\n"
|
||||
|
@ -645,7 +660,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Aktionsmodifikatoren:\n"
|
||||
|
||||
#: src/xz/message.c:975
|
||||
#: src/xz/message.c:984
|
||||
msgid ""
|
||||
" -k, --keep keep (don't delete) input files\n"
|
||||
" -f, --force force overwrite of output file and (de)compress links\n"
|
||||
|
@ -657,7 +672,7 @@ msgstr ""
|
|||
" -c, --stdout In die Standardausgabe schreiben und die\n"
|
||||
" Eingabedateien nicht löschen"
|
||||
|
||||
#: src/xz/message.c:984
|
||||
#: src/xz/message.c:993
|
||||
msgid ""
|
||||
" --single-stream decompress only the first stream, and silently\n"
|
||||
" ignore possible remaining input data"
|
||||
|
@ -666,7 +681,7 @@ msgstr ""
|
|||
" stillschweigend mögliche weitere Eingabedaten\n"
|
||||
" ignorieren"
|
||||
|
||||
#: src/xz/message.c:987
|
||||
#: src/xz/message.c:996
|
||||
msgid ""
|
||||
" --no-sparse do not create sparse files when decompressing\n"
|
||||
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
|
||||
|
@ -687,7 +702,7 @@ msgstr ""
|
|||
" --files0=[DATEI] Wie --files, aber das Null-Zeichen wird als\n"
|
||||
" Trenner benutzt"
|
||||
|
||||
#: src/xz/message.c:996
|
||||
#: src/xz/message.c:1005
|
||||
msgid ""
|
||||
"\n"
|
||||
" Basic file format and compression options:\n"
|
||||
|
@ -695,7 +710,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Grundlegende Optionen für Dateiformat und Kompression:\n"
|
||||
|
||||
#: src/xz/message.c:998
|
||||
#: src/xz/message.c:1007
|
||||
msgid ""
|
||||
" -F, --format=FMT file format to encode or decode; possible values are\n"
|
||||
" `auto' (default), `xz', `lzma', `lzip', and `raw'\n"
|
||||
|
@ -708,13 +723,13 @@ msgstr ""
|
|||
" -C, --check=PRÜFUNG Typ der Integritätsprüfung: »none« (Vorsicht),\n"
|
||||
" »crc32«, »crc64« (Voreinstellung) oder »sha256«"
|
||||
|
||||
#: src/xz/message.c:1003
|
||||
#: src/xz/message.c:1012
|
||||
msgid " --ignore-check don't verify the integrity check when decompressing"
|
||||
msgstr ""
|
||||
" --ignore-check Integritätsprüfung beim Dekomprimieren\n"
|
||||
" nicht ausführen"
|
||||
|
||||
#: src/xz/message.c:1007
|
||||
#: src/xz/message.c:1016
|
||||
msgid ""
|
||||
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
|
||||
" decompressor memory usage into account before using 7-9!"
|
||||
|
@ -723,7 +738,7 @@ msgstr ""
|
|||
" Beachten Sie den Speicherbedarf des Kompressors\n"
|
||||
" *und* des Dekompressors, wenn Sie 7-9 benutzen!"
|
||||
|
||||
#: src/xz/message.c:1011
|
||||
#: src/xz/message.c:1020
|
||||
msgid ""
|
||||
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
|
||||
" does not affect decompressor memory requirements"
|
||||
|
@ -732,7 +747,7 @@ msgstr ""
|
|||
" Kompressionsverhältnis zu verbessern. Dies beeinflusst\n"
|
||||
" den Speicherbedarf des Dekompressors nicht."
|
||||
|
||||
#: src/xz/message.c:1015
|
||||
#: src/xz/message.c:1024
|
||||
msgid ""
|
||||
" -T, --threads=NUM use at most NUM threads; the default is 1; set to 0\n"
|
||||
" to use as many threads as there are processor cores"
|
||||
|
@ -742,7 +757,7 @@ msgstr ""
|
|||
" wird, dann werden so viele Threads erzeugt, wie\n"
|
||||
" Prozessorkerne vorhanden sind"
|
||||
|
||||
#: src/xz/message.c:1020
|
||||
#: src/xz/message.c:1029
|
||||
msgid ""
|
||||
" --block-size=SIZE\n"
|
||||
" start a new .xz block after every SIZE bytes of input;\n"
|
||||
|
@ -754,7 +769,7 @@ msgstr ""
|
|||
" Option, um die Blockgröße für die Kompression mit\n"
|
||||
" mehreren Threads zu setzen"
|
||||
|
||||
#: src/xz/message.c:1024
|
||||
#: src/xz/message.c:1033
|
||||
msgid ""
|
||||
" --block-list=SIZES\n"
|
||||
" start a new .xz block after the given comma-separated\n"
|
||||
|
@ -765,7 +780,7 @@ msgstr ""
|
|||
" Kommata getrennten Intervalle an unkomprimierten\n"
|
||||
" Daten beginnen"
|
||||
|
||||
#: src/xz/message.c:1028
|
||||
#: src/xz/message.c:1037
|
||||
msgid ""
|
||||
" --flush-timeout=TIMEOUT\n"
|
||||
" when compressing, if more than TIMEOUT milliseconds has\n"
|
||||
|
@ -779,7 +794,7 @@ msgstr ""
|
|||
" Eingabedaten den Prozess blockieren würde, dann werden\n"
|
||||
" alle noch ausstehenden Daten geschrieben"
|
||||
|
||||
#: src/xz/message.c:1034
|
||||
#: src/xz/message.c:1043
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
" --memlimit-compress=LIMIT\n"
|
||||
|
@ -800,7 +815,7 @@ msgstr ""
|
|||
" Geben Sie 0 an, um die Grundeinstellungen zu\n"
|
||||
" verwenden."
|
||||
|
||||
#: src/xz/message.c:1043
|
||||
#: src/xz/message.c:1052
|
||||
msgid ""
|
||||
" --no-adjust if compression settings exceed the memory usage limit,\n"
|
||||
" give an error instead of adjusting the settings downwards"
|
||||
|
@ -810,7 +825,7 @@ msgstr ""
|
|||
" Fehler ausgegeben, statt die Einstellungen\n"
|
||||
" nach unten anzupassen."
|
||||
|
||||
#: src/xz/message.c:1049
|
||||
#: src/xz/message.c:1058
|
||||
msgid ""
|
||||
"\n"
|
||||
" Custom filter chain for compression (alternative for using presets):"
|
||||
|
@ -818,7 +833,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Benutzerdefinierte Filterkette für Kompression (alternativ zu Voreinstellung):"
|
||||
|
||||
#: src/xz/message.c:1058
|
||||
#: src/xz/message.c:1067
|
||||
msgid ""
|
||||
"\n"
|
||||
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
|
||||
|
@ -851,7 +866,7 @@ msgstr ""
|
|||
" depth=ZAHL Maximale Suchtiefe; 0=automatisch\n"
|
||||
" (Voreinstellung)"
|
||||
|
||||
#: src/xz/message.c:1073
|
||||
#: src/xz/message.c:1082
|
||||
msgid ""
|
||||
"\n"
|
||||
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
|
||||
|
@ -876,7 +891,7 @@ msgstr ""
|
|||
" start=ZAHL Startversatz für Konversion\n"
|
||||
" (Voreinstellung=0)"
|
||||
|
||||
#: src/xz/message.c:1086
|
||||
#: src/xz/message.c:1095
|
||||
msgid ""
|
||||
"\n"
|
||||
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
|
||||
|
@ -889,7 +904,7 @@ msgstr ""
|
|||
" dist=NUM Abstand zwischen den Bytes, die voneinander\n"
|
||||
" subtrahiert werden (1-256; 1)"
|
||||
|
||||
#: src/xz/message.c:1094
|
||||
#: src/xz/message.c:1103
|
||||
msgid ""
|
||||
"\n"
|
||||
" Other options:\n"
|
||||
|
@ -897,7 +912,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Andere Optionen:\n"
|
||||
|
||||
#: src/xz/message.c:1097
|
||||
#: src/xz/message.c:1106
|
||||
msgid ""
|
||||
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
|
||||
" -v, --verbose be verbose; specify twice for even more verbose"
|
||||
|
@ -907,17 +922,17 @@ msgstr ""
|
|||
" -v, --verbose Ausführlicher Modus; wird diese Option zweimal\n"
|
||||
" angegeben, erfolgen noch ausführlichere Ausgaben"
|
||||
|
||||
#: src/xz/message.c:1102
|
||||
#: src/xz/message.c:1111
|
||||
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:1104
|
||||
#: src/xz/message.c:1113
|
||||
msgid " --robot use machine-parsable messages (useful for scripts)"
|
||||
msgstr ""
|
||||
" --robot Maschinenlesbare Meldungen ausgeben (nützlich für\n"
|
||||
" Skripte)"
|
||||
|
||||
#: src/xz/message.c:1107
|
||||
#: src/xz/message.c:1116
|
||||
msgid ""
|
||||
" --info-memory display the total amount of RAM and the currently active\n"
|
||||
" memory usage limits, and exit"
|
||||
|
@ -926,7 +941,7 @@ msgstr ""
|
|||
" Speicherbedarfsbegrenzung anzeigen\n"
|
||||
" und das Programm beenden"
|
||||
|
||||
#: src/xz/message.c:1110
|
||||
#: src/xz/message.c:1119
|
||||
msgid ""
|
||||
" -h, --help display the short help (lists only the basic options)\n"
|
||||
" -H, --long-help display this long help and exit"
|
||||
|
@ -935,7 +950,7 @@ msgstr ""
|
|||
" Optionen)\n"
|
||||
" -H, --long-help Diese lange Hilfe anzeigen und das Programm beenden"
|
||||
|
||||
#: src/xz/message.c:1114
|
||||
#: src/xz/message.c:1123
|
||||
msgid ""
|
||||
" -h, --help display this short help and exit\n"
|
||||
" -H, --long-help display the long help (lists also the advanced options)"
|
||||
|
@ -944,11 +959,11 @@ msgstr ""
|
|||
" -H, --long-help Die lange Hilfe (und damit auch fortgeschrittene\n"
|
||||
" Optionen) anzeigen"
|
||||
|
||||
#: src/xz/message.c:1119
|
||||
#: src/xz/message.c:1128
|
||||
msgid " -V, --version display the version number and exit"
|
||||
msgstr " -V, --version Versionsnummer anzeigen und beenden"
|
||||
|
||||
#: src/xz/message.c:1121
|
||||
#: src/xz/message.c:1130
|
||||
msgid ""
|
||||
"\n"
|
||||
"With no FILE, or when FILE is -, read standard input.\n"
|
||||
|
@ -961,17 +976,17 @@ 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:1127
|
||||
#: src/xz/message.c:1136
|
||||
#, c-format
|
||||
msgid "Report bugs to <%s> (in English or Finnish).\n"
|
||||
msgstr "Melden Sie Fehler an <%s> (auf Englisch oder Finnisch).\n"
|
||||
|
||||
#: src/xz/message.c:1129
|
||||
#: src/xz/message.c:1138
|
||||
#, c-format
|
||||
msgid "%s home page: <%s>\n"
|
||||
msgstr "%s-Homepage: <%s>\n"
|
||||
|
||||
#: src/xz/message.c:1133
|
||||
#: src/xz/message.c:1142
|
||||
msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE."
|
||||
msgstr "DIES IST EINE NICHT FÜR DEN PRODUKTIVBETRIEB GEEIGNETE ENTWICKLERVERSION."
|
||||
|
||||
|
@ -999,22 +1014,17 @@ msgstr "LZMA1/LZMA2-Voreinstellung wird nicht unterstützt: %s"
|
|||
msgid "The sum of lc and lp must not exceed 4"
|
||||
msgstr "Die Summe aus lc und lp darf höchstens 4 sein"
|
||||
|
||||
#: src/xz/suffix.c:134 src/xz/suffix.c:265
|
||||
#, c-format
|
||||
msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "%s: Mit --format=raw ist --suffix=.SUF notwendig, falls nicht in die Standardausgabe geschrieben wird"
|
||||
|
||||
#: src/xz/suffix.c:165
|
||||
#: src/xz/suffix.c:160
|
||||
#, c-format
|
||||
msgid "%s: Filename has an unknown suffix, skipping"
|
||||
msgstr "%s: Dateiname hat unbekanntes Suffix, wird übersprungen"
|
||||
|
||||
#: src/xz/suffix.c:186
|
||||
#: src/xz/suffix.c:181
|
||||
#, c-format
|
||||
msgid "%s: File already has `%s' suffix, skipping"
|
||||
msgstr "%s: Datei hat bereits das Suffix »%s«, wird übersprungen"
|
||||
|
||||
#: src/xz/suffix.c:402
|
||||
#: src/xz/suffix.c:388
|
||||
#, c-format
|
||||
msgid "%s: Invalid filename suffix"
|
||||
msgstr "%s: Ungültige Dateiendung"
|
||||
|
|
332
po/es.po
332
po/es.po
|
@ -1,13 +1,13 @@
|
|||
# Spanish translation for xz-5.4.0-pre1.
|
||||
# Spanish translation for xz-5.4.4-pre1.
|
||||
# This file is put in the public domain.
|
||||
# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2022.
|
||||
# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2022, 2023.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: xz 5.4.0-pre1\n"
|
||||
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
|
||||
"POT-Creation-Date: 2022-11-09 19:59+0200\n"
|
||||
"PO-Revision-Date: 2022-11-10 09:14-0600\n"
|
||||
"Project-Id-Version: xz 5.4.4-pre1\n"
|
||||
"Report-Msgid-Bugs-To: xz@tukaani.org\n"
|
||||
"POT-Creation-Date: 2023-07-18 23:34+0800\n"
|
||||
"PO-Revision-Date: 2023-07-19 11:31-0600\n"
|
||||
"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
|
||||
"Language-Team: Spanish <es@tp.org.es>\n"
|
||||
"Language: es\n"
|
||||
|
@ -17,51 +17,66 @@ msgstr ""
|
|||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/xz/args.c:64
|
||||
#: src/xz/args.c:77
|
||||
#, c-format
|
||||
msgid "%s: Invalid argument to --block-list"
|
||||
msgstr "%s: Argumento inválido para --block-list"
|
||||
|
||||
#: src/xz/args.c:74
|
||||
#: src/xz/args.c:87
|
||||
#, c-format
|
||||
msgid "%s: Too many arguments to --block-list"
|
||||
msgstr "%s: Demasiados argumentos para --block-list"
|
||||
|
||||
#: src/xz/args.c:103
|
||||
#: src/xz/args.c:116
|
||||
msgid "0 can only be used as the last element in --block-list"
|
||||
msgstr "0 solo se puede usar como el último elemento en --block-list"
|
||||
|
||||
#: src/xz/args.c:424
|
||||
#: src/xz/args.c:451
|
||||
#, c-format
|
||||
msgid "%s: Unknown file format type"
|
||||
msgstr "%s: Tipo de formato de fichero desconocido"
|
||||
|
||||
#: src/xz/args.c:447 src/xz/args.c:455
|
||||
#: src/xz/args.c:474 src/xz/args.c:482
|
||||
#, c-format
|
||||
msgid "%s: Unsupported integrity check type"
|
||||
msgstr "%s: No se admite el tipo de verificación de integridad"
|
||||
|
||||
#: src/xz/args.c:491
|
||||
#: src/xz/args.c:518
|
||||
msgid "Only one file can be specified with `--files' or `--files0'."
|
||||
msgstr "Solo se puede especificar un fichero con `--files' o `--files0'."
|
||||
|
||||
#: src/xz/args.c:559
|
||||
#. TRANSLATORS: This is a translatable
|
||||
#. string because French needs a space
|
||||
#. before the colon ("%s : %s").
|
||||
#: src/xz/args.c:533 src/xz/coder.c:691 src/xz/coder.c:707 src/xz/coder.c:967
|
||||
#: src/xz/coder.c:970 src/xz/file_io.c:605 src/xz/file_io.c:679
|
||||
#: src/xz/file_io.c:769 src/xz/file_io.c:940 src/xz/list.c:369
|
||||
#: src/xz/list.c:415 src/xz/list.c:477 src/xz/list.c:581 src/xz/list.c:590
|
||||
#, c-format
|
||||
msgid "%s: %s"
|
||||
msgstr "%s: %s"
|
||||
|
||||
#: src/xz/args.c:589
|
||||
#, c-format
|
||||
msgid "The environment variable %s contains too many arguments"
|
||||
msgstr "La variable de ambiente %s contiene demasiados argumentos"
|
||||
|
||||
#: src/xz/args.c:661
|
||||
#: src/xz/args.c:691
|
||||
msgid "Compression support was disabled at build time"
|
||||
msgstr "Se desactivó el soporte para compresión en el momento de compilación"
|
||||
|
||||
#: src/xz/args.c:668
|
||||
#: src/xz/args.c:698
|
||||
msgid "Decompression support was disabled at build time"
|
||||
msgstr "Se desactivó el soporte para descompresión en el momento de compilación"
|
||||
|
||||
#: src/xz/args.c:674
|
||||
#: src/xz/args.c:704
|
||||
msgid "Compression of lzip files (.lz) is not supported"
|
||||
msgstr "No se admite la compresión de ficheros lzip (.lz)"
|
||||
|
||||
#: src/xz/args.c:735
|
||||
msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "Con --format=raw, se requiere --suffix=.SUF a menos que se escriba a la salida estándar"
|
||||
|
||||
#: src/xz/coder.c:115
|
||||
msgid "Maximum number of filters is four"
|
||||
msgstr "El número máximo de filtros es cuatro"
|
||||
|
@ -133,11 +148,11 @@ msgstr "Se ajusta el tamaño del diccionario LZMA%c de %s MiB a %s MiB para no e
|
|||
msgid "Error creating a pipe: %s"
|
||||
msgstr "Error al crear una tubería: %s"
|
||||
|
||||
#: src/xz/file_io.c:235
|
||||
#: src/xz/file_io.c:252
|
||||
msgid "Failed to enable the sandbox"
|
||||
msgstr "Falló al activar el arenero"
|
||||
|
||||
#: src/xz/file_io.c:277
|
||||
#: src/xz/file_io.c:294
|
||||
#, c-format
|
||||
msgid "%s: poll() failed: %s"
|
||||
msgstr "%s: falló poll(): %s"
|
||||
|
@ -152,252 +167,252 @@ msgstr "%s: falló poll(): %s"
|
|||
#. 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:344
|
||||
#: src/xz/file_io.c:361
|
||||
#, c-format
|
||||
msgid "%s: File seems to have been moved, not removing"
|
||||
msgstr "%s: Al parecer se movió el fichero, no se borra"
|
||||
|
||||
#: src/xz/file_io.c:351 src/xz/file_io.c:907
|
||||
#: src/xz/file_io.c:368 src/xz/file_io.c:924
|
||||
#, c-format
|
||||
msgid "%s: Cannot remove: %s"
|
||||
msgstr "%s: No se puede borrar: %s"
|
||||
|
||||
#: src/xz/file_io.c:377
|
||||
#: src/xz/file_io.c:394
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file owner: %s"
|
||||
msgstr "%s: No se puede establecer el propietario del fichero: %s"
|
||||
|
||||
#: src/xz/file_io.c:390
|
||||
#: src/xz/file_io.c:407
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file group: %s"
|
||||
msgstr "%s: No se puede establecer el grupo del fichero: %s"
|
||||
|
||||
#: src/xz/file_io.c:409
|
||||
#: src/xz/file_io.c:426
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file permissions: %s"
|
||||
msgstr "%s: No se pueden establecer los permisos del fichero: %s"
|
||||
|
||||
#: src/xz/file_io.c:535
|
||||
#: src/xz/file_io.c:552
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard input: %s"
|
||||
msgstr "Error al obtener la opciones de estado de fichero de la entrada estándar: %s"
|
||||
|
||||
#: src/xz/file_io.c:593 src/xz/file_io.c:655
|
||||
#: src/xz/file_io.c:610 src/xz/file_io.c:672
|
||||
#, c-format
|
||||
msgid "%s: Is a symbolic link, skipping"
|
||||
msgstr "%s: Es un enlace simbólico, se salta"
|
||||
|
||||
#: src/xz/file_io.c:684
|
||||
#: src/xz/file_io.c:701
|
||||
#, c-format
|
||||
msgid "%s: Is a directory, skipping"
|
||||
msgstr "%s: Es un directorio, se salta"
|
||||
|
||||
#: src/xz/file_io.c:690
|
||||
#: src/xz/file_io.c:707
|
||||
#, c-format
|
||||
msgid "%s: Not a regular file, skipping"
|
||||
msgstr "%s: No es un fichero regular, se salta"
|
||||
|
||||
#: src/xz/file_io.c:707
|
||||
#: src/xz/file_io.c:724
|
||||
#, c-format
|
||||
msgid "%s: File has setuid or setgid bit set, skipping"
|
||||
msgstr "%s: El fichero tiene el bit setuid o setgid activo, se salta"
|
||||
|
||||
#: src/xz/file_io.c:714
|
||||
#: src/xz/file_io.c:731
|
||||
#, c-format
|
||||
msgid "%s: File has sticky bit set, skipping"
|
||||
msgstr "%s: El fichero tiene el bit sticky activo, se salta"
|
||||
|
||||
#: src/xz/file_io.c:721
|
||||
#: src/xz/file_io.c:738
|
||||
#, c-format
|
||||
msgid "%s: Input file has more than one hard link, skipping"
|
||||
msgstr "%s: El fichero de entrada tiene más de un enlace duro, se salta"
|
||||
|
||||
#: src/xz/file_io.c:763
|
||||
#: src/xz/file_io.c:780
|
||||
msgid "Empty filename, skipping"
|
||||
msgstr "Nombre de fichero vacío, se salta"
|
||||
|
||||
#: src/xz/file_io.c:817
|
||||
#: src/xz/file_io.c:834
|
||||
#, c-format
|
||||
msgid "Error restoring the status flags to standard input: %s"
|
||||
msgstr "Error al restaurar las opciones de estado en la entrada estándar: %s"
|
||||
|
||||
#: src/xz/file_io.c:865
|
||||
#: src/xz/file_io.c:882
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard output: %s"
|
||||
msgstr "Error al obtener las opciones de estado de fichero de la entrada estándar: %s"
|
||||
|
||||
#: src/xz/file_io.c:1043
|
||||
#: src/xz/file_io.c:1060
|
||||
#, c-format
|
||||
msgid "Error restoring the O_APPEND flag to standard output: %s"
|
||||
msgstr "Error al restaurar la opción O_APPEND a la salida estándar: %s"
|
||||
|
||||
#: src/xz/file_io.c:1055
|
||||
#: src/xz/file_io.c:1072
|
||||
#, c-format
|
||||
msgid "%s: Closing the file failed: %s"
|
||||
msgstr "%s: Falló al cerrar el fichero: %s"
|
||||
|
||||
#: src/xz/file_io.c:1091 src/xz/file_io.c:1354
|
||||
#: src/xz/file_io.c:1108 src/xz/file_io.c:1371
|
||||
#, c-format
|
||||
msgid "%s: Seeking failed when trying to create a sparse file: %s"
|
||||
msgstr "%s: Falló la búsqueda al tratar de crear un fichero disperso: %s"
|
||||
|
||||
#: src/xz/file_io.c:1192
|
||||
#: src/xz/file_io.c:1209
|
||||
#, c-format
|
||||
msgid "%s: Read error: %s"
|
||||
msgstr "%s: Error de lectura: %s"
|
||||
|
||||
#: src/xz/file_io.c:1222
|
||||
#: src/xz/file_io.c:1239
|
||||
#, c-format
|
||||
msgid "%s: Error seeking the file: %s"
|
||||
msgstr "%s: Error al buscar en el fichero: %s"
|
||||
|
||||
#: src/xz/file_io.c:1246
|
||||
#: src/xz/file_io.c:1263
|
||||
#, c-format
|
||||
msgid "%s: Unexpected end of file"
|
||||
msgstr "%s: Fin de fichero inesperado"
|
||||
|
||||
#: src/xz/file_io.c:1305
|
||||
#: src/xz/file_io.c:1322
|
||||
#, c-format
|
||||
msgid "%s: Write error: %s"
|
||||
msgstr "%s: Error de escritura: %s"
|
||||
|
||||
#: src/xz/hardware.c:225
|
||||
#: src/xz/hardware.c:238
|
||||
msgid "Disabled"
|
||||
msgstr "Desactivado"
|
||||
|
||||
#: src/xz/hardware.c:256
|
||||
#: src/xz/hardware.c:269
|
||||
msgid "Amount of physical memory (RAM):"
|
||||
msgstr "Cantidad total de memoria física (RAM):"
|
||||
|
||||
#: src/xz/hardware.c:257
|
||||
#: src/xz/hardware.c:270
|
||||
msgid "Number of processor threads:"
|
||||
msgstr "Número de hilos de procesador:"
|
||||
|
||||
#: src/xz/hardware.c:258
|
||||
#: src/xz/hardware.c:271
|
||||
msgid "Compression:"
|
||||
msgstr "Compresión"
|
||||
|
||||
#: src/xz/hardware.c:259
|
||||
#: src/xz/hardware.c:272
|
||||
msgid "Decompression:"
|
||||
msgstr "Descompresión:"
|
||||
|
||||
#: src/xz/hardware.c:260
|
||||
#: src/xz/hardware.c:273
|
||||
msgid "Multi-threaded decompression:"
|
||||
msgstr "Descompresión multihilos:"
|
||||
|
||||
#: src/xz/hardware.c:261
|
||||
#: src/xz/hardware.c:274
|
||||
msgid "Default for -T0:"
|
||||
msgstr "Por omisión para -T0:"
|
||||
|
||||
#: src/xz/hardware.c:279
|
||||
#: src/xz/hardware.c:292
|
||||
msgid "Hardware information:"
|
||||
msgstr "Información de hardware:"
|
||||
|
||||
#: src/xz/hardware.c:286
|
||||
#: src/xz/hardware.c:299
|
||||
msgid "Memory usage limits:"
|
||||
msgstr "Límites de uso de memoria:"
|
||||
|
||||
#: src/xz/list.c:65
|
||||
#: src/xz/list.c:68
|
||||
msgid "Streams:"
|
||||
msgstr "Flujos:"
|
||||
|
||||
#: src/xz/list.c:66
|
||||
#: src/xz/list.c:69
|
||||
msgid "Blocks:"
|
||||
msgstr "Bloques:"
|
||||
|
||||
#: src/xz/list.c:67
|
||||
#: src/xz/list.c:70
|
||||
msgid "Compressed size:"
|
||||
msgstr "Tamaño comprimido:"
|
||||
|
||||
#: src/xz/list.c:68
|
||||
#: src/xz/list.c:71
|
||||
msgid "Uncompressed size:"
|
||||
msgstr "Tamaño sin comprimir:"
|
||||
|
||||
#: src/xz/list.c:69
|
||||
#: src/xz/list.c:72
|
||||
msgid "Ratio:"
|
||||
msgstr "Tasa:"
|
||||
|
||||
#: src/xz/list.c:70
|
||||
#: src/xz/list.c:73
|
||||
msgid "Check:"
|
||||
msgstr "Verificación:"
|
||||
|
||||
#: src/xz/list.c:71
|
||||
#: src/xz/list.c:74
|
||||
msgid "Stream Padding:"
|
||||
msgstr "Relleno de flujo:"
|
||||
|
||||
#: src/xz/list.c:72
|
||||
#: src/xz/list.c:75
|
||||
msgid "Memory needed:"
|
||||
msgstr "Memoria requerida:"
|
||||
|
||||
#: src/xz/list.c:73
|
||||
#: src/xz/list.c:76
|
||||
msgid "Sizes in headers:"
|
||||
msgstr "Tamaños en cabeceras:"
|
||||
|
||||
#: src/xz/list.c:76
|
||||
#: src/xz/list.c:79
|
||||
msgid "Number of files:"
|
||||
msgstr "Número de ficheros:"
|
||||
|
||||
#: src/xz/list.c:119
|
||||
#: src/xz/list.c:122
|
||||
msgid "Stream"
|
||||
msgstr "Flujo"
|
||||
|
||||
#: src/xz/list.c:120
|
||||
#: src/xz/list.c:123
|
||||
msgid "Block"
|
||||
msgstr "Bloque"
|
||||
|
||||
#: src/xz/list.c:121
|
||||
#: src/xz/list.c:124
|
||||
msgid "Blocks"
|
||||
msgstr "Bloques"
|
||||
|
||||
#: src/xz/list.c:122
|
||||
#: src/xz/list.c:125
|
||||
msgid "CompOffset"
|
||||
msgstr "DesplComp"
|
||||
|
||||
#: src/xz/list.c:123
|
||||
#: src/xz/list.c:126
|
||||
msgid "UncompOffset"
|
||||
msgstr "DesplDescomp"
|
||||
|
||||
#: src/xz/list.c:124
|
||||
#: src/xz/list.c:127
|
||||
msgid "CompSize"
|
||||
msgstr "TamComp"
|
||||
|
||||
#: src/xz/list.c:125
|
||||
#: src/xz/list.c:128
|
||||
msgid "UncompSize"
|
||||
msgstr "TamDescomp"
|
||||
|
||||
#: src/xz/list.c:126
|
||||
#: src/xz/list.c:129
|
||||
msgid "TotalSize"
|
||||
msgstr "TamTotal"
|
||||
|
||||
#: src/xz/list.c:127
|
||||
#: src/xz/list.c:130
|
||||
msgid "Ratio"
|
||||
msgstr "Tasa"
|
||||
|
||||
#: src/xz/list.c:128
|
||||
#: src/xz/list.c:131
|
||||
msgid "Check"
|
||||
msgstr "Verif"
|
||||
|
||||
#: src/xz/list.c:129
|
||||
#: src/xz/list.c:132
|
||||
msgid "CheckVal"
|
||||
msgstr "ValVerif"
|
||||
|
||||
#: src/xz/list.c:130
|
||||
#: src/xz/list.c:133
|
||||
msgid "Padding"
|
||||
msgstr "Relleno"
|
||||
|
||||
#: src/xz/list.c:131
|
||||
#: src/xz/list.c:134
|
||||
msgid "Header"
|
||||
msgstr "Cabecera"
|
||||
|
||||
#: src/xz/list.c:132
|
||||
#: src/xz/list.c:135
|
||||
msgid "Flags"
|
||||
msgstr "Opciones"
|
||||
|
||||
#: src/xz/list.c:133
|
||||
#: src/xz/list.c:136
|
||||
msgid "MemUsage"
|
||||
msgstr "UsoMem"
|
||||
|
||||
#: src/xz/list.c:134
|
||||
#: src/xz/list.c:137
|
||||
msgid "Filters"
|
||||
msgstr "Filtros"
|
||||
|
||||
|
@ -405,7 +420,7 @@ msgstr "Filtros"
|
|||
#. This string is used in tables. In older xz version this
|
||||
#. string was limited to ten columns in a fixed-width font, but
|
||||
#. nowadays there is no strict length restriction anymore.
|
||||
#: src/xz/list.c:166
|
||||
#: src/xz/list.c:169
|
||||
msgid "None"
|
||||
msgstr "Ninguno"
|
||||
|
||||
|
@ -413,60 +428,60 @@ msgstr "Ninguno"
|
|||
#. but the Check ID is known (here 2). In older xz version these
|
||||
#. strings were limited to ten columns in a fixed-width font, but
|
||||
#. nowadays there is no strict length restriction anymore.
|
||||
#: src/xz/list.c:172
|
||||
#: src/xz/list.c:175
|
||||
msgid "Unknown-2"
|
||||
msgstr "Descon-2"
|
||||
|
||||
#: src/xz/list.c:173
|
||||
#: src/xz/list.c:176
|
||||
msgid "Unknown-3"
|
||||
msgstr "Descon-3"
|
||||
|
||||
#: src/xz/list.c:175
|
||||
#: src/xz/list.c:178
|
||||
msgid "Unknown-5"
|
||||
msgstr "Descon-5"
|
||||
|
||||
#: src/xz/list.c:176
|
||||
#: src/xz/list.c:179
|
||||
msgid "Unknown-6"
|
||||
msgstr "Descon-6"
|
||||
|
||||
#: src/xz/list.c:177
|
||||
#: src/xz/list.c:180
|
||||
msgid "Unknown-7"
|
||||
msgstr "Descon-7"
|
||||
|
||||
#: src/xz/list.c:178
|
||||
#: src/xz/list.c:181
|
||||
msgid "Unknown-8"
|
||||
msgstr "Descon-8"
|
||||
|
||||
#: src/xz/list.c:179
|
||||
#: src/xz/list.c:182
|
||||
msgid "Unknown-9"
|
||||
msgstr "Descon-9"
|
||||
|
||||
#: src/xz/list.c:181
|
||||
#: src/xz/list.c:184
|
||||
msgid "Unknown-11"
|
||||
msgstr "Descon-11"
|
||||
|
||||
#: src/xz/list.c:182
|
||||
#: src/xz/list.c:185
|
||||
msgid "Unknown-12"
|
||||
msgstr "Descon-12"
|
||||
|
||||
#: src/xz/list.c:183
|
||||
#: src/xz/list.c:186
|
||||
msgid "Unknown-13"
|
||||
msgstr "Descon-13"
|
||||
|
||||
#: src/xz/list.c:184
|
||||
#: src/xz/list.c:187
|
||||
msgid "Unknown-14"
|
||||
msgstr "Descon-14"
|
||||
|
||||
#: src/xz/list.c:185
|
||||
#: src/xz/list.c:188
|
||||
msgid "Unknown-15"
|
||||
msgstr "Descon-15"
|
||||
|
||||
#: src/xz/list.c:348
|
||||
#: src/xz/list.c:351
|
||||
#, c-format
|
||||
msgid "%s: File is empty"
|
||||
msgstr "%s: El fichero está vacío"
|
||||
|
||||
#: src/xz/list.c:353
|
||||
#: src/xz/list.c:356
|
||||
#, c-format
|
||||
msgid "%s: Too small to be a valid .xz file"
|
||||
msgstr "%s: Demasiado pequeño para ser un fichero .xz válido"
|
||||
|
@ -475,41 +490,41 @@ msgstr "%s: Demasiado pequeño para ser un fichero .xz válido"
|
|||
#. 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:722
|
||||
#: src/xz/list.c:731
|
||||
msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename"
|
||||
msgstr "Flujos Bloques Comprimido Sin-Comprimir Relac Verif Nombre-Fichero"
|
||||
|
||||
#: src/xz/list.c:1016 src/xz/list.c:1193
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "Yes"
|
||||
msgstr "Sí"
|
||||
|
||||
#: src/xz/list.c:1016 src/xz/list.c:1193
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: src/xz/list.c:1018 src/xz/list.c:1195
|
||||
#: src/xz/list.c:1028 src/xz/list.c:1206
|
||||
#, c-format
|
||||
msgid " Minimum XZ Utils version: %s\n"
|
||||
msgstr " Versión de herramientas XZ mínima: %s\n"
|
||||
|
||||
#. 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:1168
|
||||
#: src/xz/list.c:1179
|
||||
#, c-format
|
||||
msgid "%s file\n"
|
||||
msgid_plural "%s files\n"
|
||||
msgstr[0] "%s fichero\n"
|
||||
msgstr[1] "%s ficheros\n"
|
||||
|
||||
#: src/xz/list.c:1181
|
||||
#: src/xz/list.c:1192
|
||||
msgid "Totals:"
|
||||
msgstr "Totales:"
|
||||
|
||||
#: src/xz/list.c:1259
|
||||
#: src/xz/list.c:1270
|
||||
msgid "--list works only on .xz files (--format=xz or --format=auto)"
|
||||
msgstr "--list solo funciona con ficheros .xz (--format=xz o --format=auto)"
|
||||
|
||||
#: src/xz/list.c:1265
|
||||
#: src/xz/list.c:1276
|
||||
msgid "--list does not support reading from standard input"
|
||||
msgstr "--list no admite leer de la entrada estándar"
|
||||
|
||||
|
@ -540,68 +555,68 @@ msgstr "No se pueden leer datos de la entrada estándar cuando se leen nombres d
|
|||
#. 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:725
|
||||
#: src/xz/message.c:670 src/xz/message.c:725
|
||||
#, c-format
|
||||
msgid "%s: "
|
||||
msgstr "%s: "
|
||||
|
||||
#: src/xz/message.c:788 src/xz/message.c:847
|
||||
#: src/xz/message.c:797 src/xz/message.c:856
|
||||
msgid "Internal error (bug)"
|
||||
msgstr "Error interno (bug)"
|
||||
|
||||
#: src/xz/message.c:795
|
||||
#: src/xz/message.c:804
|
||||
msgid "Cannot establish signal handlers"
|
||||
msgstr "No se pueden establecer los manejadores de señales"
|
||||
|
||||
#: src/xz/message.c:804
|
||||
#: src/xz/message.c:813
|
||||
msgid "No integrity check; not verifying file integrity"
|
||||
msgstr "No hay revisión de integridad; no se verifica la integridad del fichero"
|
||||
|
||||
#: src/xz/message.c:807
|
||||
#: src/xz/message.c:816
|
||||
msgid "Unsupported type of integrity check; not verifying file integrity"
|
||||
msgstr "No se admite el tipo de revisión de integridad; no se verifica la integridad del fichero"
|
||||
|
||||
#: src/xz/message.c:814
|
||||
#: src/xz/message.c:823
|
||||
msgid "Memory usage limit reached"
|
||||
msgstr "Se alcanzó el límite de uso de memoria"
|
||||
|
||||
#: src/xz/message.c:817
|
||||
#: src/xz/message.c:826
|
||||
msgid "File format not recognized"
|
||||
msgstr "No se reconoce el formato del fichero"
|
||||
|
||||
#: src/xz/message.c:820
|
||||
#: src/xz/message.c:829
|
||||
msgid "Unsupported options"
|
||||
msgstr "Opciones sin soporte"
|
||||
|
||||
#: src/xz/message.c:823
|
||||
#: src/xz/message.c:832
|
||||
msgid "Compressed data is corrupt"
|
||||
msgstr "Los datos comprimidos están corruptos"
|
||||
|
||||
#: src/xz/message.c:826
|
||||
#: src/xz/message.c:835
|
||||
msgid "Unexpected end of input"
|
||||
msgstr "Fin de entrada inesperado"
|
||||
|
||||
#: src/xz/message.c:868
|
||||
#: src/xz/message.c:877
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limiter is disabled."
|
||||
msgstr "Se requieren %s MiB de memoria. Se desactiva el limitador."
|
||||
|
||||
#: src/xz/message.c:896
|
||||
#: src/xz/message.c:905
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limit is %s."
|
||||
msgstr "Se requieren %s MiB de memoria. El límite es %s."
|
||||
|
||||
#: src/xz/message.c:1070
|
||||
#: src/xz/message.c:924
|
||||
#, c-format
|
||||
msgid "%s: Filter chain: %s\n"
|
||||
msgstr "%s: Cadena de filtro: %s\n"
|
||||
|
||||
#: src/xz/message.c:1080
|
||||
#: src/xz/message.c:935
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Intente `%s --help' para obtener más información."
|
||||
|
||||
#: src/xz/message.c:1106
|
||||
#: src/xz/message.c:961
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION]... [FILE]...\n"
|
||||
|
@ -612,17 +627,17 @@ msgstr ""
|
|||
"Comprime o descomprime FICHEROs en el formato .xz.\n"
|
||||
"\n"
|
||||
|
||||
#: src/xz/message.c:1113
|
||||
#: src/xz/message.c:968
|
||||
msgid "Mandatory arguments to long options are mandatory for short options too.\n"
|
||||
msgstr ""
|
||||
"Los argumentos obligatorios para las opciones largas también son\n"
|
||||
"obligatorios para las opciones cortas.\n"
|
||||
|
||||
#: src/xz/message.c:1117
|
||||
#: src/xz/message.c:972
|
||||
msgid " Operation mode:\n"
|
||||
msgstr " Modo de operación:\n"
|
||||
|
||||
#: src/xz/message.c:1120
|
||||
#: src/xz/message.c:975
|
||||
msgid ""
|
||||
" -z, --compress force compression\n"
|
||||
" -d, --decompress force decompression\n"
|
||||
|
@ -634,7 +649,7 @@ msgstr ""
|
|||
" -t, --test prueba la integridad del fichero comprimido\n"
|
||||
" -l, --list lista la información sobre los ficheros .xz"
|
||||
|
||||
#: src/xz/message.c:1126
|
||||
#: src/xz/message.c:981
|
||||
msgid ""
|
||||
"\n"
|
||||
" Operation modifiers:\n"
|
||||
|
@ -642,7 +657,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Modificadores de operación:\n"
|
||||
|
||||
#: src/xz/message.c:1129
|
||||
#: src/xz/message.c:984
|
||||
msgid ""
|
||||
" -k, --keep keep (don't delete) input files\n"
|
||||
" -f, --force force overwrite of output file and (de)compress links\n"
|
||||
|
@ -654,7 +669,7 @@ msgstr ""
|
|||
" -c, --stdout escribe a la entrada estándar y no borra los ficheros\n"
|
||||
" de entrada"
|
||||
|
||||
#: src/xz/message.c:1138
|
||||
#: src/xz/message.c:993
|
||||
msgid ""
|
||||
" --single-stream decompress only the first stream, and silently\n"
|
||||
" ignore possible remaining input data"
|
||||
|
@ -662,7 +677,7 @@ msgstr ""
|
|||
" --single-stream solo descomprime el primer flujo, y descarta\n"
|
||||
" silenciosamente los posibles datos de entrada restantes"
|
||||
|
||||
#: src/xz/message.c:1141
|
||||
#: src/xz/message.c:996
|
||||
msgid ""
|
||||
" --no-sparse do not create sparse files when decompressing\n"
|
||||
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
|
||||
|
@ -679,7 +694,7 @@ msgstr ""
|
|||
" terminar con el carácter de línea nueva\n"
|
||||
" --files0[=FICH] como --files pero usa el carácter nulo como terminador"
|
||||
|
||||
#: src/xz/message.c:1150
|
||||
#: src/xz/message.c:1005
|
||||
msgid ""
|
||||
"\n"
|
||||
" Basic file format and compression options:\n"
|
||||
|
@ -687,7 +702,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Opciones básicas de compresión y formato de fichero:\n"
|
||||
|
||||
#: src/xz/message.c:1152
|
||||
#: src/xz/message.c:1007
|
||||
msgid ""
|
||||
" -F, --format=FMT file format to encode or decode; possible values are\n"
|
||||
" `auto' (default), `xz', `lzma', `lzip', and `raw'\n"
|
||||
|
@ -701,11 +716,11 @@ msgstr ""
|
|||
" `none' (usar con precaución),\n"
|
||||
" `crc32', `crc64' (por defecto), o `sha256'"
|
||||
|
||||
#: src/xz/message.c:1157
|
||||
#: src/xz/message.c:1012
|
||||
msgid " --ignore-check don't verify the integrity check when decompressing"
|
||||
msgstr " --ignore-check no hace la verificación de integridad al descomprimir"
|
||||
|
||||
#: src/xz/message.c:1161
|
||||
#: src/xz/message.c:1016
|
||||
msgid ""
|
||||
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
|
||||
" decompressor memory usage into account before using 7-9!"
|
||||
|
@ -714,7 +729,7 @@ msgstr ""
|
|||
" ¡Considere el uso de memoria del compresor *y*\n"
|
||||
" del descompresor antes de usar 7-9!"
|
||||
|
||||
#: src/xz/message.c:1165
|
||||
#: src/xz/message.c:1020
|
||||
msgid ""
|
||||
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
|
||||
" does not affect decompressor memory requirements"
|
||||
|
@ -723,7 +738,7 @@ msgstr ""
|
|||
" tiempo de procesamiento; no afecta los requisitos\n"
|
||||
" de memoria del descompresor"
|
||||
|
||||
#: src/xz/message.c:1169
|
||||
#: src/xz/message.c:1024
|
||||
msgid ""
|
||||
" -T, --threads=NUM use at most NUM threads; the default is 1; set to 0\n"
|
||||
" to use as many threads as there are processor cores"
|
||||
|
@ -732,7 +747,7 @@ msgstr ""
|
|||
" establezca a 0 para usar tantos hilos como hayan\n"
|
||||
" núcleos de procesador"
|
||||
|
||||
#: src/xz/message.c:1174
|
||||
#: src/xz/message.c:1029
|
||||
msgid ""
|
||||
" --block-size=SIZE\n"
|
||||
" start a new .xz block after every SIZE bytes of input;\n"
|
||||
|
@ -743,7 +758,7 @@ msgstr ""
|
|||
" de entrada; use esta opción para establecer el tamaño\n"
|
||||
" de bloque para la compresión con hilos"
|
||||
|
||||
#: src/xz/message.c:1178
|
||||
#: src/xz/message.c:1033
|
||||
msgid ""
|
||||
" --block-list=SIZES\n"
|
||||
" start a new .xz block after the given comma-separated\n"
|
||||
|
@ -753,7 +768,7 @@ msgstr ""
|
|||
" inicia un nuevo bloque .xz después de cada intervalo\n"
|
||||
" dado, separado por comas, de datos sin comprimir"
|
||||
|
||||
#: src/xz/message.c:1182
|
||||
#: src/xz/message.c:1037
|
||||
msgid ""
|
||||
" --flush-timeout=TIMEOUT\n"
|
||||
" when compressing, if more than TIMEOUT milliseconds has\n"
|
||||
|
@ -766,7 +781,7 @@ msgstr ""
|
|||
" produciría un bloqueo, todos los datos pendientes son\n"
|
||||
" descartados"
|
||||
|
||||
#: src/xz/message.c:1188
|
||||
#: src/xz/message.c:1043
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
" --memlimit-compress=LIMIT\n"
|
||||
|
@ -786,7 +801,7 @@ msgstr ""
|
|||
" anteriores; el LÍMITE está en bytes, % de RAM,\n"
|
||||
" o 0 para valores por defecto"
|
||||
|
||||
#: src/xz/message.c:1197
|
||||
#: src/xz/message.c:1052
|
||||
msgid ""
|
||||
" --no-adjust if compression settings exceed the memory usage limit,\n"
|
||||
" give an error instead of adjusting the settings downwards"
|
||||
|
@ -795,7 +810,7 @@ msgstr ""
|
|||
" uso de memoria, muestra un error en lugar de ajustar\n"
|
||||
" los valores hacia abajo"
|
||||
|
||||
#: src/xz/message.c:1203
|
||||
#: src/xz/message.c:1058
|
||||
msgid ""
|
||||
"\n"
|
||||
" Custom filter chain for compression (alternative for using presets):"
|
||||
|
@ -803,7 +818,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Cadena de filtros para compresión (alternativa a valores predefinidos):"
|
||||
|
||||
#: src/xz/message.c:1212
|
||||
#: src/xz/message.c:1067
|
||||
msgid ""
|
||||
"\n"
|
||||
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
|
||||
|
@ -834,7 +849,7 @@ msgstr ""
|
|||
" depth=NÚM profundidad máxima de búsqueda;\n"
|
||||
" 0=automática (por defecto)"
|
||||
|
||||
#: src/xz/message.c:1227
|
||||
#: src/xz/message.c:1082
|
||||
msgid ""
|
||||
"\n"
|
||||
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
|
||||
|
@ -859,7 +874,7 @@ msgstr ""
|
|||
" start=NÚM inicio de desplazamiento para\n"
|
||||
" conversiones (por defecto=0)"
|
||||
|
||||
#: src/xz/message.c:1240
|
||||
#: src/xz/message.c:1095
|
||||
msgid ""
|
||||
"\n"
|
||||
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
|
||||
|
@ -871,7 +886,7 @@ msgstr ""
|
|||
" dist=NÚM distancia entre bytes que se restan\n"
|
||||
" uno del otro (1-256; 1)"
|
||||
|
||||
#: src/xz/message.c:1248
|
||||
#: src/xz/message.c:1103
|
||||
msgid ""
|
||||
"\n"
|
||||
" Other options:\n"
|
||||
|
@ -879,7 +894,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Otras opciones:\n"
|
||||
|
||||
#: src/xz/message.c:1251
|
||||
#: src/xz/message.c:1106
|
||||
msgid ""
|
||||
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
|
||||
" -v, --verbose be verbose; specify twice for even more verbose"
|
||||
|
@ -887,15 +902,15 @@ msgstr ""
|
|||
" -q, --quiet suprime avisos; use dos veces para suprimir errores\n"
|
||||
" -v, --verbose detallado; use dos veces para obtener aún más detalle"
|
||||
|
||||
#: src/xz/message.c:1256
|
||||
#: src/xz/message.c:1111
|
||||
msgid " -Q, --no-warn make warnings not affect the exit status"
|
||||
msgstr " -Q, --no-warn los avisos no afectan el estado de la salida"
|
||||
|
||||
#: src/xz/message.c:1258
|
||||
#: src/xz/message.c:1113
|
||||
msgid " --robot use machine-parsable messages (useful for scripts)"
|
||||
msgstr " --robot usa mensajes analizables por máquina (útil para scripts)"
|
||||
|
||||
#: src/xz/message.c:1261
|
||||
#: src/xz/message.c:1116
|
||||
msgid ""
|
||||
" --info-memory display the total amount of RAM and the currently active\n"
|
||||
" memory usage limits, and exit"
|
||||
|
@ -903,7 +918,7 @@ msgstr ""
|
|||
" --info-memory muestra la cantidad total de RAM y los límites de uso\n"
|
||||
" de memoria activos, y termina"
|
||||
|
||||
#: src/xz/message.c:1264
|
||||
#: src/xz/message.c:1119
|
||||
msgid ""
|
||||
" -h, --help display the short help (lists only the basic options)\n"
|
||||
" -H, --long-help display this long help and exit"
|
||||
|
@ -911,7 +926,7 @@ msgstr ""
|
|||
" -h, --help muestra la ayuda corta (solo muestra las opciones básicas)\n"
|
||||
" -H, --long-help muestra esta ayuda detallada y termina"
|
||||
|
||||
#: src/xz/message.c:1268
|
||||
#: src/xz/message.c:1123
|
||||
msgid ""
|
||||
" -h, --help display this short help and exit\n"
|
||||
" -H, --long-help display the long help (lists also the advanced options)"
|
||||
|
@ -919,11 +934,11 @@ msgstr ""
|
|||
" -h, --help muestra esta ayuda corta y termina\n"
|
||||
" -H, --long-help muestra la ayuda larga (además muestra opciones avanzadas)"
|
||||
|
||||
#: src/xz/message.c:1273
|
||||
#: src/xz/message.c:1128
|
||||
msgid " -V, --version display the version number and exit"
|
||||
msgstr " -V, --version muestra el número de versión y termina"
|
||||
|
||||
#: src/xz/message.c:1275
|
||||
#: src/xz/message.c:1130
|
||||
msgid ""
|
||||
"\n"
|
||||
"With no FILE, or when FILE is -, read standard input.\n"
|
||||
|
@ -935,19 +950,19 @@ 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:1281
|
||||
#: src/xz/message.c:1136
|
||||
#, c-format
|
||||
msgid "Report bugs to <%s> (in English or Finnish).\n"
|
||||
msgstr ""
|
||||
"Reporte errores a <%s> (en inglés o finlandés).\n"
|
||||
"Reporte errores de traducción al español a <es@tp.org.es>.\n"
|
||||
|
||||
#: src/xz/message.c:1283
|
||||
#: src/xz/message.c:1138
|
||||
#, c-format
|
||||
msgid "%s home page: <%s>\n"
|
||||
msgstr "Sitio web de %s: <%s>\n"
|
||||
|
||||
#: src/xz/message.c:1287
|
||||
#: src/xz/message.c:1142
|
||||
msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE."
|
||||
msgstr "ESTA ES UNA VERSIÓN EN DESARROLLO Y NO ESTÁ LISTA PARA USO EN PRODUCCIÓN."
|
||||
|
||||
|
@ -966,36 +981,26 @@ msgstr "%s: Nombre de opción inválido"
|
|||
msgid "%s: Invalid option value"
|
||||
msgstr "%s: Valor de opción inválido"
|
||||
|
||||
#: src/xz/options.c:286
|
||||
#: src/xz/options.c:247
|
||||
#, c-format
|
||||
msgid "Unsupported LZMA1/LZMA2 preset: %s"
|
||||
msgstr "No se admite el valor predefinido LZMA1/LZMA2: %s"
|
||||
|
||||
#: src/xz/options.c:394
|
||||
#: src/xz/options.c:355
|
||||
msgid "The sum of lc and lp must not exceed 4"
|
||||
msgstr "La suma de lc y lp no debe exceder 4"
|
||||
|
||||
#: src/xz/options.c:398
|
||||
#, c-format
|
||||
msgid "The selected match finder requires at least nice=%<PRIu32>"
|
||||
msgstr "El buscador de coincidencias seleccionado requiere por lo menos nice=%<PRIu32>"
|
||||
|
||||
#: src/xz/suffix.c:134 src/xz/suffix.c:265
|
||||
#, c-format
|
||||
msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "%s: Con --format=raw, se requiere --suffix=.SUF a menos que se escriba a la salida estándar"
|
||||
|
||||
#: src/xz/suffix.c:165
|
||||
#: src/xz/suffix.c:160
|
||||
#, c-format
|
||||
msgid "%s: Filename has an unknown suffix, skipping"
|
||||
msgstr "%s: El nombre de fichero tiene un sufijo desconocido, se salta"
|
||||
|
||||
#: src/xz/suffix.c:186
|
||||
#: src/xz/suffix.c:181
|
||||
#, c-format
|
||||
msgid "%s: File already has `%s' suffix, skipping"
|
||||
msgstr "%s: El fichero ya tiene un sufijo `%s', se salta"
|
||||
|
||||
#: src/xz/suffix.c:402
|
||||
#: src/xz/suffix.c:388
|
||||
#, c-format
|
||||
msgid "%s: Invalid filename suffix"
|
||||
msgstr "%s: Sufijo de nombre de fichero inválido"
|
||||
|
@ -1035,6 +1040,9 @@ msgstr "Falló la escritura a la salida estándar"
|
|||
msgid "Unknown error"
|
||||
msgstr "Error desconocido"
|
||||
|
||||
#~ msgid "The selected match finder requires at least nice=%<PRIu32>"
|
||||
#~ msgstr "El buscador de coincidencias seleccionado requiere por lo menos nice=%<PRIu32>"
|
||||
|
||||
#~ msgid "Memory usage limit for compression: "
|
||||
#~ msgstr "Límite de uso de memoria para compresión: "
|
||||
|
||||
|
|
222
po/hr.po
222
po/hr.po
|
@ -1,13 +1,13 @@
|
|||
# Croatian translation of xz.
|
||||
# This file is put in the public domain.
|
||||
#
|
||||
# Božidar Putanec <bozidarp@yahoo.com>, 2020, 2022.
|
||||
# Božidar Putanec <bozidarp@yahoo.com>, 2020, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: xz 5.4.0-pre2\n"
|
||||
"Project-Id-Version: xz-5.4.4-pre1\n"
|
||||
"Report-Msgid-Bugs-To: xz@tukaani.org\n"
|
||||
"POT-Creation-Date: 2022-12-03 00:34+0800\n"
|
||||
"PO-Revision-Date: 2022-12-02 19:30-0800\n"
|
||||
"POT-Creation-Date: 2023-07-18 23:34+0800\n"
|
||||
"PO-Revision-Date: 2023-07-20 09:23+0200\n"
|
||||
"Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
|
||||
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
|
||||
"Language: hr\n"
|
||||
|
@ -16,53 +16,68 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"X-Generator: Poedit 3.2\n"
|
||||
"X-Generator: Poedit 3.3.2\n"
|
||||
|
||||
#: src/xz/args.c:64
|
||||
#: src/xz/args.c:77
|
||||
#, c-format
|
||||
msgid "%s: Invalid argument to --block-list"
|
||||
msgstr "%s: nevaljani argument za --block-list"
|
||||
|
||||
#: src/xz/args.c:74
|
||||
#: src/xz/args.c:87
|
||||
#, c-format
|
||||
msgid "%s: Too many arguments to --block-list"
|
||||
msgstr "%s: Previše argumenata za --block-list"
|
||||
|
||||
#: src/xz/args.c:103
|
||||
#: src/xz/args.c:116
|
||||
msgid "0 can only be used as the last element in --block-list"
|
||||
msgstr "0 se može koristiti samo kao zadnji element za --block-list"
|
||||
|
||||
#: src/xz/args.c:436
|
||||
#: src/xz/args.c:451
|
||||
#, c-format
|
||||
msgid "%s: Unknown file format type"
|
||||
msgstr "%s: Nepoznati tip formata datoteke"
|
||||
|
||||
#: src/xz/args.c:459 src/xz/args.c:467
|
||||
#: src/xz/args.c:474 src/xz/args.c:482
|
||||
#, c-format
|
||||
msgid "%s: Unsupported integrity check type"
|
||||
msgstr "%s: Nepodržani tip provjere integriteta"
|
||||
|
||||
#: src/xz/args.c:503
|
||||
#: src/xz/args.c:518
|
||||
msgid "Only one file can be specified with `--files' or `--files0'."
|
||||
msgstr "Samo jednu datoteku smijete navesti uz opcije „--files” ili „--files0”."
|
||||
|
||||
#: src/xz/args.c:571
|
||||
#. TRANSLATORS: This is a translatable
|
||||
#. string because French needs a space
|
||||
#. before the colon ("%s : %s").
|
||||
#: src/xz/args.c:533 src/xz/coder.c:691 src/xz/coder.c:707 src/xz/coder.c:967
|
||||
#: src/xz/coder.c:970 src/xz/file_io.c:605 src/xz/file_io.c:679
|
||||
#: src/xz/file_io.c:769 src/xz/file_io.c:940 src/xz/list.c:369
|
||||
#: src/xz/list.c:415 src/xz/list.c:477 src/xz/list.c:581 src/xz/list.c:590
|
||||
#, c-format
|
||||
msgid "%s: %s"
|
||||
msgstr "%s: %s"
|
||||
|
||||
#: src/xz/args.c:589
|
||||
#, c-format
|
||||
msgid "The environment variable %s contains too many arguments"
|
||||
msgstr "Varijabla okoline %s sadrži previše argumenata"
|
||||
|
||||
#: src/xz/args.c:673
|
||||
#: src/xz/args.c:691
|
||||
msgid "Compression support was disabled at build time"
|
||||
msgstr "Tijekom izrade programa onemogućena je podrška za kompresiju"
|
||||
|
||||
#: src/xz/args.c:680
|
||||
#: src/xz/args.c:698
|
||||
msgid "Decompression support was disabled at build time"
|
||||
msgstr "Tijekom izrade programa onemogućena je podrška za dekompresiju"
|
||||
|
||||
#: src/xz/args.c:686
|
||||
#: src/xz/args.c:704
|
||||
msgid "Compression of lzip files (.lz) is not supported"
|
||||
msgstr "Kompresija lzip datoteka (.lz) nije podržana"
|
||||
|
||||
#: src/xz/args.c:735
|
||||
msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "Uz opciju --format=raw i ako ne piše na standardni izlaz, --suffix=.SUF je nužan"
|
||||
|
||||
#: src/xz/coder.c:115
|
||||
msgid "Maximum number of filters is four"
|
||||
msgstr "Moguće je najviše do četiri filtara"
|
||||
|
@ -134,11 +149,11 @@ msgstr "Prilagođena je veličina LZMA%c rječnika od %s na %s da se ne premaši
|
|||
msgid "Error creating a pipe: %s"
|
||||
msgstr "Greška pri stvaranju cijevi: %s"
|
||||
|
||||
#: src/xz/file_io.c:235
|
||||
#: src/xz/file_io.c:252
|
||||
msgid "Failed to enable the sandbox"
|
||||
msgstr "Nije uspjelo omogućiti sandbox"
|
||||
|
||||
#: src/xz/file_io.c:277
|
||||
#: src/xz/file_io.c:294
|
||||
#, c-format
|
||||
msgid "%s: poll() failed: %s"
|
||||
msgstr "%s: poll() nije uspjela: %s"
|
||||
|
@ -153,111 +168,111 @@ msgstr "%s: poll() nije uspjela: %s"
|
|||
#. 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:344
|
||||
#: src/xz/file_io.c:361
|
||||
#, c-format
|
||||
msgid "%s: File seems to have been moved, not removing"
|
||||
msgstr "%s: Izgleda da je datoteka pomaknuta -- ne briše se"
|
||||
|
||||
#: src/xz/file_io.c:351 src/xz/file_io.c:907
|
||||
#: src/xz/file_io.c:368 src/xz/file_io.c:924
|
||||
#, c-format
|
||||
msgid "%s: Cannot remove: %s"
|
||||
msgstr "%s: Brisanje nije moguće: %s"
|
||||
|
||||
#: src/xz/file_io.c:377
|
||||
#: src/xz/file_io.c:394
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file owner: %s"
|
||||
msgstr "%s: Promijeniti vlasnika datoteke nije moguće: %s"
|
||||
|
||||
#: src/xz/file_io.c:390
|
||||
#: src/xz/file_io.c:407
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file group: %s"
|
||||
msgstr "%s: Promijeniti grupu datoteke nije moguće: %s"
|
||||
|
||||
#: src/xz/file_io.c:409
|
||||
#: src/xz/file_io.c:426
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file permissions: %s"
|
||||
msgstr "%s: Nije moguće postaviti prava dostupa: %s"
|
||||
|
||||
#: src/xz/file_io.c:535
|
||||
#: src/xz/file_io.c:552
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard input: %s"
|
||||
msgstr "Greška pri dobavljanju statusnih flagova datoteke iz standardnog ulaza: %s"
|
||||
|
||||
#: src/xz/file_io.c:593 src/xz/file_io.c:655
|
||||
#: src/xz/file_io.c:610 src/xz/file_io.c:672
|
||||
#, c-format
|
||||
msgid "%s: Is a symbolic link, skipping"
|
||||
msgstr "%s: To je simbolička poveznica, preskačemo"
|
||||
|
||||
#: src/xz/file_io.c:684
|
||||
#: src/xz/file_io.c:701
|
||||
#, c-format
|
||||
msgid "%s: Is a directory, skipping"
|
||||
msgstr "%s: To je direktorij, preskačemo"
|
||||
|
||||
#: src/xz/file_io.c:690
|
||||
#: src/xz/file_io.c:707
|
||||
#, c-format
|
||||
msgid "%s: Not a regular file, skipping"
|
||||
msgstr "%s: To nije regularna datoteka, preskačemo"
|
||||
|
||||
#: src/xz/file_io.c:707
|
||||
#: src/xz/file_io.c:724
|
||||
#, c-format
|
||||
msgid "%s: File has setuid or setgid bit set, skipping"
|
||||
msgstr "%s: Datoteka ima postavljen setuid ili setgid bit, preskačemo"
|
||||
|
||||
#: src/xz/file_io.c:714
|
||||
#: src/xz/file_io.c:731
|
||||
#, c-format
|
||||
msgid "%s: File has sticky bit set, skipping"
|
||||
msgstr "%s: Datoteka ima postavljen sticky bit, preskačemo"
|
||||
|
||||
#: src/xz/file_io.c:721
|
||||
#: src/xz/file_io.c:738
|
||||
#, c-format
|
||||
msgid "%s: Input file has more than one hard link, skipping"
|
||||
msgstr "%s: Ulazna datoteka ima više od jedne tvrde poveznice, preskačemo"
|
||||
|
||||
#: src/xz/file_io.c:763
|
||||
#: src/xz/file_io.c:780
|
||||
msgid "Empty filename, skipping"
|
||||
msgstr "Prazna datoteka, preskačemo"
|
||||
|
||||
#: src/xz/file_io.c:817
|
||||
#: src/xz/file_io.c:834
|
||||
#, c-format
|
||||
msgid "Error restoring the status flags to standard input: %s"
|
||||
msgstr "Greška pri vraćanju statusnih flagova na standardni ulaz: %s"
|
||||
|
||||
#: src/xz/file_io.c:865
|
||||
#: src/xz/file_io.c:882
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard output: %s"
|
||||
msgstr "Greška pri dobavljanju statusnih flagova datoteke iz standardnog izlazu: %s"
|
||||
|
||||
#: src/xz/file_io.c:1043
|
||||
#: src/xz/file_io.c:1060
|
||||
#, c-format
|
||||
msgid "Error restoring the O_APPEND flag to standard output: %s"
|
||||
msgstr "Greška pri vraćanju O_APPEND flagova na standardni izlaz: %s"
|
||||
|
||||
#: src/xz/file_io.c:1055
|
||||
#: src/xz/file_io.c:1072
|
||||
#, c-format
|
||||
msgid "%s: Closing the file failed: %s"
|
||||
msgstr "%s: Nije uspjelo zatvoriti datoteku: %s"
|
||||
|
||||
#: src/xz/file_io.c:1091 src/xz/file_io.c:1354
|
||||
#: src/xz/file_io.c:1108 src/xz/file_io.c:1371
|
||||
#, c-format
|
||||
msgid "%s: Seeking failed when trying to create a sparse file: %s"
|
||||
msgstr "%s: Poziciona greška pri pokušaju stvaranja raštrkane datoteke: %s"
|
||||
|
||||
#: src/xz/file_io.c:1192
|
||||
#: src/xz/file_io.c:1209
|
||||
#, c-format
|
||||
msgid "%s: Read error: %s"
|
||||
msgstr "%s: Greška pri čitanju: %s"
|
||||
|
||||
#: src/xz/file_io.c:1222
|
||||
#: src/xz/file_io.c:1239
|
||||
#, c-format
|
||||
msgid "%s: Error seeking the file: %s"
|
||||
msgstr "%s: Greška pozicioniranja u datoteci: %s"
|
||||
|
||||
#: src/xz/file_io.c:1246
|
||||
#: src/xz/file_io.c:1263
|
||||
#, c-format
|
||||
msgid "%s: Unexpected end of file"
|
||||
msgstr "%s: Neočekivani kraj datoteke"
|
||||
|
||||
#: src/xz/file_io.c:1305
|
||||
#: src/xz/file_io.c:1322
|
||||
#, c-format
|
||||
msgid "%s: Write error: %s"
|
||||
msgstr "%s: Greška pri pisanju: %s"
|
||||
|
@ -476,26 +491,26 @@ msgstr "%s: Premala, a da bi bila valjana .xz datoteka"
|
|||
#. 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:730
|
||||
#: src/xz/list.c:731
|
||||
msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename"
|
||||
msgstr " Tok Blok Komprimirano Dekomprimir Omjer Kontr Datoteka"
|
||||
|
||||
#: src/xz/list.c:1025 src/xz/list.c:1203
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "Yes"
|
||||
msgstr "Da"
|
||||
|
||||
#: src/xz/list.c:1025 src/xz/list.c:1203
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "No"
|
||||
msgstr "Ne"
|
||||
|
||||
#: src/xz/list.c:1027 src/xz/list.c:1205
|
||||
#: src/xz/list.c:1028 src/xz/list.c:1206
|
||||
#, c-format
|
||||
msgid " Minimum XZ Utils version: %s\n"
|
||||
msgstr " Potrebna je inačica XY Utils: %s ili viša\n"
|
||||
|
||||
#. 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:1178
|
||||
#: src/xz/list.c:1179
|
||||
#, c-format
|
||||
msgid "%s file\n"
|
||||
msgid_plural "%s files\n"
|
||||
|
@ -503,15 +518,15 @@ msgstr[0] "%s datoteka\n"
|
|||
msgstr[1] "%s datoteke\n"
|
||||
msgstr[2] "%s datoteka\n"
|
||||
|
||||
#: src/xz/list.c:1191
|
||||
#: src/xz/list.c:1192
|
||||
msgid "Totals:"
|
||||
msgstr "Ukupno:"
|
||||
|
||||
#: src/xz/list.c:1269
|
||||
#: src/xz/list.c:1270
|
||||
msgid "--list works only on .xz files (--format=xz or --format=auto)"
|
||||
msgstr "--list radi samo sa .xz datoteke (--format=xz ili --format=auto)"
|
||||
|
||||
#: src/xz/list.c:1275
|
||||
#: src/xz/list.c:1276
|
||||
msgid "--list does not support reading from standard input"
|
||||
msgstr "--list ne podržava čitanje iz standardnog izlaza"
|
||||
|
||||
|
@ -542,68 +557,68 @@ msgstr "Nije moguće čitati podatke iz standardnog ulaza dok se čitaju imena d
|
|||
#. 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:725
|
||||
#: src/xz/message.c:670 src/xz/message.c:725
|
||||
#, c-format
|
||||
msgid "%s: "
|
||||
msgstr "%s: "
|
||||
|
||||
#: src/xz/message.c:788 src/xz/message.c:847
|
||||
#: src/xz/message.c:797 src/xz/message.c:856
|
||||
msgid "Internal error (bug)"
|
||||
msgstr "Interna greška (bug)"
|
||||
|
||||
#: src/xz/message.c:795
|
||||
#: src/xz/message.c:804
|
||||
msgid "Cannot establish signal handlers"
|
||||
msgstr "Nije moguće uspostaviti rukovatelje signala"
|
||||
|
||||
#: src/xz/message.c:804
|
||||
#: src/xz/message.c:813
|
||||
msgid "No integrity check; not verifying file integrity"
|
||||
msgstr "Nema provjere integriteta -- ne provjeravamo integritet datoteke"
|
||||
|
||||
#: src/xz/message.c:807
|
||||
#: src/xz/message.c:816
|
||||
msgid "Unsupported type of integrity check; not verifying file integrity"
|
||||
msgstr "Nepodržani tip provjere integriteta -- ne provjeravamo integritet datoteke"
|
||||
|
||||
#: src/xz/message.c:814
|
||||
#: src/xz/message.c:823
|
||||
msgid "Memory usage limit reached"
|
||||
msgstr "Dostignuto je ograničenje za korištenje memorije"
|
||||
|
||||
#: src/xz/message.c:817
|
||||
#: src/xz/message.c:826
|
||||
msgid "File format not recognized"
|
||||
msgstr "Format datoteke nije prepoznat"
|
||||
|
||||
#: src/xz/message.c:820
|
||||
#: src/xz/message.c:829
|
||||
msgid "Unsupported options"
|
||||
msgstr "Nepodržane opcije"
|
||||
|
||||
#: src/xz/message.c:823
|
||||
#: src/xz/message.c:832
|
||||
msgid "Compressed data is corrupt"
|
||||
msgstr "Komprimirani podaci su oštećeni"
|
||||
|
||||
#: src/xz/message.c:826
|
||||
#: src/xz/message.c:835
|
||||
msgid "Unexpected end of input"
|
||||
msgstr "Neočekivani kraj ulaznih podataka"
|
||||
|
||||
#: src/xz/message.c:868
|
||||
#: src/xz/message.c:877
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limiter is disabled."
|
||||
msgstr "%s MiB memorije je potrebno. Ograničenje je onemogućeno."
|
||||
|
||||
#: src/xz/message.c:896
|
||||
#: src/xz/message.c:905
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limit is %s."
|
||||
msgstr "%s MiB memorije je potrebno. Ograničenje je %s."
|
||||
|
||||
#: src/xz/message.c:915
|
||||
#: src/xz/message.c:924
|
||||
#, c-format
|
||||
msgid "%s: Filter chain: %s\n"
|
||||
msgstr "%s: Lanac filtara: %s\n"
|
||||
|
||||
#: src/xz/message.c:926
|
||||
#: src/xz/message.c:935
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Pokušajte s „`%s --help“ za pomoć i više informacija."
|
||||
|
||||
#: src/xz/message.c:952
|
||||
#: src/xz/message.c:961
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION]... [FILE]...\n"
|
||||
|
@ -614,15 +629,15 @@ msgstr ""
|
|||
"Komprimira ili dekomprimira DATOTEKE u .xz formatu.\n"
|
||||
"\n"
|
||||
|
||||
#: src/xz/message.c:959
|
||||
#: src/xz/message.c:968
|
||||
msgid "Mandatory arguments to long options are mandatory for short options too.\n"
|
||||
msgstr "Obvezni argumenti za duge opcije obvezni su također i za kratke opcije.\n"
|
||||
msgstr "Obvezni argumenti za duge opcije, obvezni su i za kratke opcije.\n"
|
||||
|
||||
#: src/xz/message.c:963
|
||||
#: src/xz/message.c:972
|
||||
msgid " Operation mode:\n"
|
||||
msgstr " Način rada:\n"
|
||||
|
||||
#: src/xz/message.c:966
|
||||
#: src/xz/message.c:975
|
||||
msgid ""
|
||||
" -z, --compress force compression\n"
|
||||
" -d, --decompress force decompression\n"
|
||||
|
@ -634,7 +649,7 @@ msgstr ""
|
|||
" -t, --test testira integritet komprimirane datoteke\n"
|
||||
" -l, --list ispiše podatke o .xz datotekama"
|
||||
|
||||
#: src/xz/message.c:972
|
||||
#: src/xz/message.c:981
|
||||
msgid ""
|
||||
"\n"
|
||||
" Operation modifiers:\n"
|
||||
|
@ -642,7 +657,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Modifikatori načina rada:\n"
|
||||
|
||||
#: src/xz/message.c:975
|
||||
#: src/xz/message.c:984
|
||||
msgid ""
|
||||
" -k, --keep keep (don't delete) input files\n"
|
||||
" -f, --force force overwrite of output file and (de)compress links\n"
|
||||
|
@ -650,11 +665,11 @@ msgid ""
|
|||
msgstr ""
|
||||
" -k, --keep zadrži (ne briše) navedene ulazne datoteke\n"
|
||||
" -f, --force piše preko izlaznih datoteka i\n"
|
||||
" preko (de)komprimiranih poveznica \n"
|
||||
" preko (de)komprimiranih poveznica\n"
|
||||
" -c, --stdout piše na standardni izlaz i ne briše\n"
|
||||
" ulazne datoteke"
|
||||
|
||||
#: src/xz/message.c:984
|
||||
#: src/xz/message.c:993
|
||||
msgid ""
|
||||
" --single-stream decompress only the first stream, and silently\n"
|
||||
" ignore possible remaining input data"
|
||||
|
@ -662,7 +677,7 @@ msgstr ""
|
|||
" --single-stream dekomprimira samo prvi tok i nijemo\n"
|
||||
" zanemari moguće preostale ulazne podatke"
|
||||
|
||||
#: src/xz/message.c:987
|
||||
#: src/xz/message.c:996
|
||||
msgid ""
|
||||
" --no-sparse do not create sparse files when decompressing\n"
|
||||
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
|
||||
|
@ -679,7 +694,7 @@ msgstr ""
|
|||
" sa znakom novog reda\n"
|
||||
" --files0[=DATOTEKA] kao --files, ali popis datoteka završi s NULL znakom"
|
||||
|
||||
#: src/xz/message.c:996
|
||||
#: src/xz/message.c:1005
|
||||
msgid ""
|
||||
"\n"
|
||||
" Basic file format and compression options:\n"
|
||||
|
@ -687,7 +702,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Osnovne opcije za format datoteka i kompresiju:\n"
|
||||
|
||||
#: src/xz/message.c:998
|
||||
#: src/xz/message.c:1007
|
||||
msgid ""
|
||||
" -F, --format=FMT file format to encode or decode; possible values are\n"
|
||||
" `auto' (default), `xz', `lzma', `lzip', and `raw'\n"
|
||||
|
@ -699,11 +714,11 @@ msgstr ""
|
|||
" -C, --check=KONTROLA tip provjere integriteta: „none” (koristite s oprezom),\n"
|
||||
" „crc32”, „crc64” (zadano), ili „sha256”"
|
||||
|
||||
#: src/xz/message.c:1003
|
||||
#: src/xz/message.c:1012
|
||||
msgid " --ignore-check don't verify the integrity check when decompressing"
|
||||
msgstr " --ignore-check ne verificira provjeru integriteta pri dekompresiji"
|
||||
|
||||
#: src/xz/message.c:1007
|
||||
#: src/xz/message.c:1016
|
||||
msgid ""
|
||||
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
|
||||
" decompressor memory usage into account before using 7-9!"
|
||||
|
@ -711,7 +726,7 @@ msgstr ""
|
|||
" -0 ... -9 pretpostavke za kompresiju; zadano je 6; uzmite u obzir\n"
|
||||
" upotrebu memorije za (de)kompresor prije upotrebe 7-9!"
|
||||
|
||||
#: src/xz/message.c:1011
|
||||
#: src/xz/message.c:1020
|
||||
msgid ""
|
||||
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
|
||||
" does not affect decompressor memory requirements"
|
||||
|
@ -719,7 +734,7 @@ msgstr ""
|
|||
" -e, --extreme pokuša poboljšati omjer kompresije koristeći više CPU\n"
|
||||
" vremena; ne utječe na potrebnu memoriju za dekompresiju"
|
||||
|
||||
#: src/xz/message.c:1015
|
||||
#: src/xz/message.c:1024
|
||||
msgid ""
|
||||
" -T, --threads=NUM use at most NUM threads; the default is 1; set to 0\n"
|
||||
" to use as many threads as there are processor cores"
|
||||
|
@ -727,7 +742,7 @@ msgstr ""
|
|||
" -T, --threads=BROJ rabi ne više od BROJ dretvi; zadano je 1; postavkom 0\n"
|
||||
" za BROJ koristi se toliko dretvi koliko CPU ima jezgri"
|
||||
|
||||
#: src/xz/message.c:1020
|
||||
#: src/xz/message.c:1029
|
||||
msgid ""
|
||||
" --block-size=SIZE\n"
|
||||
" start a new .xz block after every SIZE bytes of input;\n"
|
||||
|
@ -737,7 +752,7 @@ msgstr ""
|
|||
" ulaznih podataka; ovo rabite za postavljanje\n"
|
||||
" veličine bloka za kompresiju s dretvama"
|
||||
|
||||
#: src/xz/message.c:1024
|
||||
#: src/xz/message.c:1033
|
||||
msgid ""
|
||||
" --block-list=SIZES\n"
|
||||
" start a new .xz block after the given comma-separated\n"
|
||||
|
@ -747,7 +762,7 @@ msgstr ""
|
|||
" VELIČINE nekomprimiranih ulaznih podataka;\n"
|
||||
" VELIČINE su zarezom odvojene"
|
||||
|
||||
#: src/xz/message.c:1028
|
||||
#: src/xz/message.c:1037
|
||||
msgid ""
|
||||
" --flush-timeout=TIMEOUT\n"
|
||||
" when compressing, if more than TIMEOUT milliseconds has\n"
|
||||
|
@ -759,7 +774,7 @@ msgstr ""
|
|||
" čitanje bi blokiralo ulaz, svi podaci na\n"
|
||||
" čekanju se isprazne iz kodera na izlaz"
|
||||
|
||||
#: src/xz/message.c:1034
|
||||
#: src/xz/message.c:1043
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
" --memlimit-compress=LIMIT\n"
|
||||
|
@ -777,7 +792,7 @@ msgstr ""
|
|||
" dekompresiju, dretvama dekompresiju, ili sve ovo;\n"
|
||||
" GRANICA je u bajtima, % RAM, ili 0 za zadano"
|
||||
|
||||
#: src/xz/message.c:1043
|
||||
#: src/xz/message.c:1052
|
||||
msgid ""
|
||||
" --no-adjust if compression settings exceed the memory usage limit,\n"
|
||||
" give an error instead of adjusting the settings downwards"
|
||||
|
@ -786,7 +801,7 @@ msgstr ""
|
|||
" upotrebe memorije, završi s greškom umjesto da\n"
|
||||
" prilagodi postavke shodno ograničenju memorije"
|
||||
|
||||
#: src/xz/message.c:1049
|
||||
#: src/xz/message.c:1058
|
||||
msgid ""
|
||||
"\n"
|
||||
" Custom filter chain for compression (alternative for using presets):"
|
||||
|
@ -794,7 +809,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Prilagođeni lanac filtara za kompresiju (alternativa korištenju pretpostavki):"
|
||||
|
||||
#: src/xz/message.c:1058
|
||||
#: src/xz/message.c:1067
|
||||
msgid ""
|
||||
"\n"
|
||||
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
|
||||
|
@ -823,7 +838,7 @@ msgstr ""
|
|||
" mf=IME podudarač (hc3, hc4, bt2, bt3, bt4; bt4)\n"
|
||||
" depth=BROJ max. dubina traženja; 0=automatski (default)"
|
||||
|
||||
#: src/xz/message.c:1073
|
||||
#: src/xz/message.c:1082
|
||||
msgid ""
|
||||
"\n"
|
||||
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
|
||||
|
@ -847,7 +862,7 @@ msgstr ""
|
|||
" Valjane OPCIJE za BCJ filtre:\n"
|
||||
" start=BROJ početni offset za konverzije (zadano=0)"
|
||||
|
||||
#: src/xz/message.c:1086
|
||||
#: src/xz/message.c:1095
|
||||
msgid ""
|
||||
"\n"
|
||||
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
|
||||
|
@ -860,7 +875,7 @@ msgstr ""
|
|||
" dist=BROJ razmak između bajtova koji se oduzimaju\n"
|
||||
" jedan od drugog (1-256; 1)"
|
||||
|
||||
#: src/xz/message.c:1094
|
||||
#: src/xz/message.c:1103
|
||||
msgid ""
|
||||
"\n"
|
||||
" Other options:\n"
|
||||
|
@ -868,7 +883,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Ostale opcije:\n"
|
||||
|
||||
#: src/xz/message.c:1097
|
||||
#: src/xz/message.c:1106
|
||||
msgid ""
|
||||
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
|
||||
" -v, --verbose be verbose; specify twice for even more verbose"
|
||||
|
@ -876,15 +891,15 @@ msgstr ""
|
|||
" -q, --quiet izostavi upozorenja; „-qq” izostavi i greške\n"
|
||||
" -v, --verbose opširnije informira; „=vv” još više informira"
|
||||
|
||||
#: src/xz/message.c:1102
|
||||
#: src/xz/message.c:1111
|
||||
msgid " -Q, --no-warn make warnings not affect the exit status"
|
||||
msgstr " -Q, --no-warn upozorenja nemaju utjecaja na status završetka (izlaza)"
|
||||
|
||||
#: src/xz/message.c:1104
|
||||
#: src/xz/message.c:1113
|
||||
msgid " --robot use machine-parsable messages (useful for scripts)"
|
||||
msgstr " --robot poruke u strojnom formatu (korisno za skripte)"
|
||||
|
||||
#: src/xz/message.c:1107
|
||||
#: src/xz/message.c:1116
|
||||
msgid ""
|
||||
" --info-memory display the total amount of RAM and the currently active\n"
|
||||
" memory usage limits, and exit"
|
||||
|
@ -892,7 +907,7 @@ msgstr ""
|
|||
" --info-memory pokaže ukupnu količinu RAM-a i trenutno\n"
|
||||
" aktivna ograničenja korištenja memorije, pa iziđe"
|
||||
|
||||
#: src/xz/message.c:1110
|
||||
#: src/xz/message.c:1119
|
||||
msgid ""
|
||||
" -h, --help display the short help (lists only the basic options)\n"
|
||||
" -H, --long-help display this long help and exit"
|
||||
|
@ -900,7 +915,7 @@ msgstr ""
|
|||
" -h, --help prikaže kratku pomoć (izlista samo osnovne opcije)\n"
|
||||
" -H, --long-help prikaže ovu dugačku pomoć i iziđe"
|
||||
|
||||
#: src/xz/message.c:1114
|
||||
#: src/xz/message.c:1123
|
||||
msgid ""
|
||||
" -h, --help display this short help and exit\n"
|
||||
" -H, --long-help display the long help (lists also the advanced options)"
|
||||
|
@ -908,11 +923,11 @@ msgstr ""
|
|||
" -h, --help prikaže ovu kratku pomoć i iziđe\n"
|
||||
" -H, --long-help prikaže dugačku pomoć (izlista i napredne opcije)"
|
||||
|
||||
#: src/xz/message.c:1119
|
||||
#: src/xz/message.c:1128
|
||||
msgid " -V, --version display the version number and exit"
|
||||
msgstr " -V, --version prikaže informacije o inačici i iziđe"
|
||||
|
||||
#: src/xz/message.c:1121
|
||||
#: src/xz/message.c:1130
|
||||
msgid ""
|
||||
"\n"
|
||||
"With no FILE, or when FILE is -, read standard input.\n"
|
||||
|
@ -924,19 +939,19 @@ 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:1127
|
||||
#: src/xz/message.c:1136
|
||||
#, c-format
|
||||
msgid "Report bugs to <%s> (in English or Finnish).\n"
|
||||
msgstr "Greške prijavite na <%s> (na engleskom ili finskom).\n"
|
||||
|
||||
#: src/xz/message.c:1129
|
||||
#: src/xz/message.c:1138
|
||||
#, c-format
|
||||
msgid "%s home page: <%s>\n"
|
||||
msgstr ""
|
||||
"%s matična mrežna stranica: <%s>\n"
|
||||
"Pogreške u prijevodu i vaše prijedloge javite na <lokalizacija@linux.hr>.\n"
|
||||
|
||||
#: src/xz/message.c:1133
|
||||
#: src/xz/message.c:1142
|
||||
msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE."
|
||||
msgstr "OVO JE RAZVOJNA INAČICA I NIJE NAMIJENJENA ZA PROIZVODNJU."
|
||||
|
||||
|
@ -964,22 +979,17 @@ msgstr "Nepodržana LZMA1/LZMA2 pretpostavka: %s"
|
|||
msgid "The sum of lc and lp must not exceed 4"
|
||||
msgstr "Zbroj lc i lp ne smije biti veći od 4"
|
||||
|
||||
#: src/xz/suffix.c:134 src/xz/suffix.c:265
|
||||
#, c-format
|
||||
msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "%s: S/uz --format=raw, --suffix=.SUF je nužan osim ako se piše na standardni izlaz"
|
||||
|
||||
#: src/xz/suffix.c:165
|
||||
#: src/xz/suffix.c:160
|
||||
#, c-format
|
||||
msgid "%s: Filename has an unknown suffix, skipping"
|
||||
msgstr "%s: Ime datoteke nema poznati sufiks, preskačemo"
|
||||
|
||||
#: src/xz/suffix.c:186
|
||||
#: src/xz/suffix.c:181
|
||||
#, c-format
|
||||
msgid "%s: File already has `%s' suffix, skipping"
|
||||
msgstr "%s: Datoteka već ima „%s” sufiks, preskačemo"
|
||||
|
||||
#: src/xz/suffix.c:402
|
||||
#: src/xz/suffix.c:388
|
||||
#, c-format
|
||||
msgid "%s: Invalid filename suffix"
|
||||
msgstr "%s: Nevaljani sufiks imena datoteke"
|
||||
|
|
332
po/ko.po
332
po/ko.po
|
@ -1,13 +1,13 @@
|
|||
# Korean translation for the xz.
|
||||
# This file is put in the public domain.
|
||||
# Seong-ho Cho <darkcircle.0426@gmail.com>, 2019, 2022.
|
||||
# Seong-ho Cho <darkcircle.0426@gmail.com>, 2019, 2022, 2023.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: xz 5.4.0-pre1\n"
|
||||
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
|
||||
"POT-Creation-Date: 2022-11-09 19:59+0200\n"
|
||||
"PO-Revision-Date: 2022-11-15 23:00+0900\n"
|
||||
"Project-Id-Version: xz 5.4.4-pre1\n"
|
||||
"Report-Msgid-Bugs-To: xz@tukaani.org\n"
|
||||
"POT-Creation-Date: 2023-07-18 23:34+0800\n"
|
||||
"PO-Revision-Date: 2023-07-20 10:59+0900\n"
|
||||
"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
|
||||
"Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
|
||||
"Language: ko\n"
|
||||
|
@ -16,53 +16,68 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"X-Generator: Poedit 2.3.1\n"
|
||||
"X-Generator: Poedit 3.0.1\n"
|
||||
|
||||
#: src/xz/args.c:64
|
||||
#: src/xz/args.c:77
|
||||
#, c-format
|
||||
msgid "%s: Invalid argument to --block-list"
|
||||
msgstr "%s: --block-list의 인자값이 잘못됨"
|
||||
|
||||
#: src/xz/args.c:74
|
||||
#: src/xz/args.c:87
|
||||
#, c-format
|
||||
msgid "%s: Too many arguments to --block-list"
|
||||
msgstr "%s: --block-list 인자 갯수가 너무 많음"
|
||||
|
||||
#: src/xz/args.c:103
|
||||
#: src/xz/args.c:116
|
||||
msgid "0 can only be used as the last element in --block-list"
|
||||
msgstr "0 값은 --block-list의 마지막 원소로만 사용할 수 있습니다"
|
||||
|
||||
#: src/xz/args.c:424
|
||||
#: src/xz/args.c:451
|
||||
#, c-format
|
||||
msgid "%s: Unknown file format type"
|
||||
msgstr "%s: 알 수 없는 파일 형식"
|
||||
|
||||
#: src/xz/args.c:447 src/xz/args.c:455
|
||||
#: src/xz/args.c:474 src/xz/args.c:482
|
||||
#, c-format
|
||||
msgid "%s: Unsupported integrity check type"
|
||||
msgstr "%s: 지원하지 않는 무결성 검사 형식"
|
||||
|
||||
#: src/xz/args.c:491
|
||||
#: src/xz/args.c:518
|
||||
msgid "Only one file can be specified with `--files' or `--files0'."
|
||||
msgstr "`--files' 또는 `--files0' 옵션으로 하나의 파일만 지정할 수 있습니다."
|
||||
|
||||
#: src/xz/args.c:559
|
||||
#. TRANSLATORS: This is a translatable
|
||||
#. string because French needs a space
|
||||
#. before the colon ("%s : %s").
|
||||
#: src/xz/args.c:533 src/xz/coder.c:691 src/xz/coder.c:707 src/xz/coder.c:967
|
||||
#: src/xz/coder.c:970 src/xz/file_io.c:605 src/xz/file_io.c:679
|
||||
#: src/xz/file_io.c:769 src/xz/file_io.c:940 src/xz/list.c:369
|
||||
#: src/xz/list.c:415 src/xz/list.c:477 src/xz/list.c:581 src/xz/list.c:590
|
||||
#, c-format
|
||||
msgid "%s: %s"
|
||||
msgstr "%s: %s"
|
||||
|
||||
#: src/xz/args.c:589
|
||||
#, c-format
|
||||
msgid "The environment variable %s contains too many arguments"
|
||||
msgstr "%s 환경 변수에 너무 많은 인자 값이 들어있습니다"
|
||||
|
||||
#: src/xz/args.c:661
|
||||
#: src/xz/args.c:691
|
||||
msgid "Compression support was disabled at build time"
|
||||
msgstr "빌드 시점에 압축 기능을 비활성했습니다"
|
||||
|
||||
#: src/xz/args.c:668
|
||||
#: src/xz/args.c:698
|
||||
msgid "Decompression support was disabled at build time"
|
||||
msgstr "빌드 시점에 압축 해제 기능을 비활성했습니다"
|
||||
|
||||
#: src/xz/args.c:674
|
||||
#: src/xz/args.c:704
|
||||
msgid "Compression of lzip files (.lz) is not supported"
|
||||
msgstr "lzip 파일(.lz) 압축은 지원하지 않습니다"
|
||||
|
||||
#: src/xz/args.c:735
|
||||
msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "표준 출력으로 기록하지 않는 한 --format=raw, --suffix=.SUF 옵션이 필요합니다"
|
||||
|
||||
#: src/xz/coder.c:115
|
||||
msgid "Maximum number of filters is four"
|
||||
msgstr "최대 필터 갯수는 4 입니다"
|
||||
|
@ -134,11 +149,11 @@ msgstr "메모리 사용량 %4$s MiB 제한을 넘지 않으려 %2$s MiB에서 %
|
|||
msgid "Error creating a pipe: %s"
|
||||
msgstr "파이프 생성 오류: %s"
|
||||
|
||||
#: src/xz/file_io.c:235
|
||||
#: src/xz/file_io.c:252
|
||||
msgid "Failed to enable the sandbox"
|
||||
msgstr "샌드 박스 활성화 실패"
|
||||
|
||||
#: src/xz/file_io.c:277
|
||||
#: src/xz/file_io.c:294
|
||||
#, c-format
|
||||
msgid "%s: poll() failed: %s"
|
||||
msgstr "%s: poll() 실패: %s"
|
||||
|
@ -153,252 +168,252 @@ msgstr "%s: poll() 실패: %s"
|
|||
#. 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:344
|
||||
#: src/xz/file_io.c:361
|
||||
#, c-format
|
||||
msgid "%s: File seems to have been moved, not removing"
|
||||
msgstr "%s: 파일을 이동한 것 같음, 제거 안함"
|
||||
|
||||
#: src/xz/file_io.c:351 src/xz/file_io.c:907
|
||||
#: src/xz/file_io.c:368 src/xz/file_io.c:924
|
||||
#, c-format
|
||||
msgid "%s: Cannot remove: %s"
|
||||
msgstr "%s: 제거할 수 없음: %s"
|
||||
|
||||
#: src/xz/file_io.c:377
|
||||
#: src/xz/file_io.c:394
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file owner: %s"
|
||||
msgstr "%s: 파일 소유자를 설정할 수 없음: %s"
|
||||
|
||||
#: src/xz/file_io.c:390
|
||||
#: src/xz/file_io.c:407
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file group: %s"
|
||||
msgstr "%s: 파일 소유 그룹을 설정할 수 없음: %s"
|
||||
|
||||
#: src/xz/file_io.c:409
|
||||
#: src/xz/file_io.c:426
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file permissions: %s"
|
||||
msgstr "%s: 파일 권한을 설정할 수 없음: %s"
|
||||
|
||||
#: src/xz/file_io.c:535
|
||||
#: src/xz/file_io.c:552
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard input: %s"
|
||||
msgstr "표준 입력에서 파일 상태 플래그 가져오기 오류: %s"
|
||||
|
||||
#: src/xz/file_io.c:593 src/xz/file_io.c:655
|
||||
#: src/xz/file_io.c:610 src/xz/file_io.c:672
|
||||
#, c-format
|
||||
msgid "%s: Is a symbolic link, skipping"
|
||||
msgstr "%s: 심볼릭 링크, 건너뜀"
|
||||
|
||||
#: src/xz/file_io.c:684
|
||||
#: src/xz/file_io.c:701
|
||||
#, c-format
|
||||
msgid "%s: Is a directory, skipping"
|
||||
msgstr "%s: 디렉터리입니다, 건너뜀"
|
||||
|
||||
#: src/xz/file_io.c:690
|
||||
#: src/xz/file_io.c:707
|
||||
#, c-format
|
||||
msgid "%s: Not a regular file, skipping"
|
||||
msgstr "%s: 일반 파일 아님, 건너뜀"
|
||||
|
||||
#: src/xz/file_io.c:707
|
||||
#: src/xz/file_io.c:724
|
||||
#, c-format
|
||||
msgid "%s: File has setuid or setgid bit set, skipping"
|
||||
msgstr "%s: setuid 또는 setgid 비트 설정 있음, 건너뜀"
|
||||
|
||||
#: src/xz/file_io.c:714
|
||||
#: src/xz/file_io.c:731
|
||||
#, c-format
|
||||
msgid "%s: File has sticky bit set, skipping"
|
||||
msgstr "%s: 끈적이 비트 설정이 있는 파일, 건너뜀"
|
||||
|
||||
#: src/xz/file_io.c:721
|
||||
#: src/xz/file_io.c:738
|
||||
#, c-format
|
||||
msgid "%s: Input file has more than one hard link, skipping"
|
||||
msgstr "%s: 입력 파일에 하나 이상의 하드링크가 있습니다, 건너뜀"
|
||||
|
||||
#: src/xz/file_io.c:763
|
||||
#: src/xz/file_io.c:780
|
||||
msgid "Empty filename, skipping"
|
||||
msgstr "파일 이름 없음, 건너뜀"
|
||||
|
||||
#: src/xz/file_io.c:817
|
||||
#: src/xz/file_io.c:834
|
||||
#, c-format
|
||||
msgid "Error restoring the status flags to standard input: %s"
|
||||
msgstr "표준 입력으로의 상태 플래그 복원 오류: %s"
|
||||
|
||||
#: src/xz/file_io.c:865
|
||||
#: src/xz/file_io.c:882
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard output: %s"
|
||||
msgstr "표준 출력에서 파일 상태 플래그 가져오기 오류: %s"
|
||||
|
||||
#: src/xz/file_io.c:1043
|
||||
#: src/xz/file_io.c:1060
|
||||
#, c-format
|
||||
msgid "Error restoring the O_APPEND flag to standard output: %s"
|
||||
msgstr "표준 출력으로의 O_APPEND 플래그 복원 오류: %s"
|
||||
|
||||
#: src/xz/file_io.c:1055
|
||||
#: src/xz/file_io.c:1072
|
||||
#, c-format
|
||||
msgid "%s: Closing the file failed: %s"
|
||||
msgstr "%s: 파일 닫기 실패: %s"
|
||||
|
||||
#: src/xz/file_io.c:1091 src/xz/file_io.c:1354
|
||||
#: src/xz/file_io.c:1108 src/xz/file_io.c:1371
|
||||
#, c-format
|
||||
msgid "%s: Seeking failed when trying to create a sparse file: %s"
|
||||
msgstr "%s: 분할 파일 생성 시도시 탐색 실패: %s"
|
||||
|
||||
#: src/xz/file_io.c:1192
|
||||
#: src/xz/file_io.c:1209
|
||||
#, c-format
|
||||
msgid "%s: Read error: %s"
|
||||
msgstr "%s: 읽기 오류: %s"
|
||||
|
||||
#: src/xz/file_io.c:1222
|
||||
#: src/xz/file_io.c:1239
|
||||
#, c-format
|
||||
msgid "%s: Error seeking the file: %s"
|
||||
msgstr "%s: 파일 탐색 오류: %s"
|
||||
|
||||
#: src/xz/file_io.c:1246
|
||||
#: src/xz/file_io.c:1263
|
||||
#, c-format
|
||||
msgid "%s: Unexpected end of file"
|
||||
msgstr "%s: 예상치 못한 파일의 끝"
|
||||
|
||||
#: src/xz/file_io.c:1305
|
||||
#: src/xz/file_io.c:1322
|
||||
#, c-format
|
||||
msgid "%s: Write error: %s"
|
||||
msgstr "%s: 쓰기 오류: %s"
|
||||
|
||||
#: src/xz/hardware.c:225
|
||||
#: src/xz/hardware.c:238
|
||||
msgid "Disabled"
|
||||
msgstr "사용 안함"
|
||||
|
||||
#: src/xz/hardware.c:256
|
||||
#: src/xz/hardware.c:269
|
||||
msgid "Amount of physical memory (RAM):"
|
||||
msgstr "물리 메모리 양(RAM):"
|
||||
|
||||
#: src/xz/hardware.c:257
|
||||
#: src/xz/hardware.c:270
|
||||
msgid "Number of processor threads:"
|
||||
msgstr "프로세서 스레드 수:"
|
||||
|
||||
#: src/xz/hardware.c:258
|
||||
#: src/xz/hardware.c:271
|
||||
msgid "Compression:"
|
||||
msgstr "압축:"
|
||||
|
||||
#: src/xz/hardware.c:259
|
||||
#: src/xz/hardware.c:272
|
||||
msgid "Decompression:"
|
||||
msgstr "압축해제:"
|
||||
|
||||
#: src/xz/hardware.c:260
|
||||
#: src/xz/hardware.c:273
|
||||
msgid "Multi-threaded decompression:"
|
||||
msgstr "멀티 스레드 압축 해제:"
|
||||
|
||||
#: src/xz/hardware.c:261
|
||||
#: src/xz/hardware.c:274
|
||||
msgid "Default for -T0:"
|
||||
msgstr "-T0 기본값:"
|
||||
|
||||
#: src/xz/hardware.c:279
|
||||
#: src/xz/hardware.c:292
|
||||
msgid "Hardware information:"
|
||||
msgstr "하드웨어 정보:"
|
||||
|
||||
#: src/xz/hardware.c:286
|
||||
#: src/xz/hardware.c:299
|
||||
msgid "Memory usage limits:"
|
||||
msgstr "메모리 사용량 제한:"
|
||||
|
||||
#: src/xz/list.c:65
|
||||
#: src/xz/list.c:68
|
||||
msgid "Streams:"
|
||||
msgstr "스트림:"
|
||||
|
||||
#: src/xz/list.c:66
|
||||
#: src/xz/list.c:69
|
||||
msgid "Blocks:"
|
||||
msgstr "블록 수:"
|
||||
|
||||
#: src/xz/list.c:67
|
||||
#: src/xz/list.c:70
|
||||
msgid "Compressed size:"
|
||||
msgstr "압축 용량:"
|
||||
|
||||
#: src/xz/list.c:68
|
||||
#: src/xz/list.c:71
|
||||
msgid "Uncompressed size:"
|
||||
msgstr "압축해제 용량:"
|
||||
|
||||
#: src/xz/list.c:69
|
||||
#: src/xz/list.c:72
|
||||
msgid "Ratio:"
|
||||
msgstr "압축율:"
|
||||
|
||||
#: src/xz/list.c:70
|
||||
#: src/xz/list.c:73
|
||||
msgid "Check:"
|
||||
msgstr "검사:"
|
||||
|
||||
#: src/xz/list.c:71
|
||||
#: src/xz/list.c:74
|
||||
msgid "Stream Padding:"
|
||||
msgstr "스트림 패딩:"
|
||||
|
||||
#: src/xz/list.c:72
|
||||
#: src/xz/list.c:75
|
||||
msgid "Memory needed:"
|
||||
msgstr "요구 메모리:"
|
||||
|
||||
#: src/xz/list.c:73
|
||||
#: src/xz/list.c:76
|
||||
msgid "Sizes in headers:"
|
||||
msgstr "헤더 길이:"
|
||||
|
||||
#: src/xz/list.c:76
|
||||
#: src/xz/list.c:79
|
||||
msgid "Number of files:"
|
||||
msgstr "파일 갯수:"
|
||||
|
||||
#: src/xz/list.c:119
|
||||
#: src/xz/list.c:122
|
||||
msgid "Stream"
|
||||
msgstr "스트림"
|
||||
|
||||
#: src/xz/list.c:120
|
||||
#: src/xz/list.c:123
|
||||
msgid "Block"
|
||||
msgstr "블록"
|
||||
|
||||
#: src/xz/list.c:121
|
||||
#: src/xz/list.c:124
|
||||
msgid "Blocks"
|
||||
msgstr "블록"
|
||||
|
||||
#: src/xz/list.c:122
|
||||
#: src/xz/list.c:125
|
||||
msgid "CompOffset"
|
||||
msgstr "압축오프셋"
|
||||
|
||||
#: src/xz/list.c:123
|
||||
#: src/xz/list.c:126
|
||||
msgid "UncompOffset"
|
||||
msgstr "압축해제오프셋"
|
||||
|
||||
#: src/xz/list.c:124
|
||||
#: src/xz/list.c:127
|
||||
msgid "CompSize"
|
||||
msgstr "압축크기"
|
||||
|
||||
#: src/xz/list.c:125
|
||||
#: src/xz/list.c:128
|
||||
msgid "UncompSize"
|
||||
msgstr "압축해제크기"
|
||||
|
||||
#: src/xz/list.c:126
|
||||
#: src/xz/list.c:129
|
||||
msgid "TotalSize"
|
||||
msgstr "총크기"
|
||||
|
||||
#: src/xz/list.c:127
|
||||
#: src/xz/list.c:130
|
||||
msgid "Ratio"
|
||||
msgstr "압축율"
|
||||
|
||||
#: src/xz/list.c:128
|
||||
#: src/xz/list.c:131
|
||||
msgid "Check"
|
||||
msgstr "검사"
|
||||
|
||||
#: src/xz/list.c:129
|
||||
#: src/xz/list.c:132
|
||||
msgid "CheckVal"
|
||||
msgstr "검사값"
|
||||
|
||||
#: src/xz/list.c:130
|
||||
#: src/xz/list.c:133
|
||||
msgid "Padding"
|
||||
msgstr "패딩"
|
||||
|
||||
#: src/xz/list.c:131
|
||||
#: src/xz/list.c:134
|
||||
msgid "Header"
|
||||
msgstr "헤더"
|
||||
|
||||
#: src/xz/list.c:132
|
||||
#: src/xz/list.c:135
|
||||
msgid "Flags"
|
||||
msgstr "플래그"
|
||||
|
||||
#: src/xz/list.c:133
|
||||
#: src/xz/list.c:136
|
||||
msgid "MemUsage"
|
||||
msgstr "메모리사용"
|
||||
|
||||
#: src/xz/list.c:134
|
||||
#: src/xz/list.c:137
|
||||
msgid "Filters"
|
||||
msgstr "필터"
|
||||
|
||||
|
@ -406,7 +421,7 @@ msgstr "필터"
|
|||
#. This string is used in tables. In older xz version this
|
||||
#. string was limited to ten columns in a fixed-width font, but
|
||||
#. nowadays there is no strict length restriction anymore.
|
||||
#: src/xz/list.c:166
|
||||
#: src/xz/list.c:169
|
||||
msgid "None"
|
||||
msgstr "없음"
|
||||
|
||||
|
@ -414,60 +429,60 @@ msgstr "없음"
|
|||
#. but the Check ID is known (here 2). In older xz version these
|
||||
#. strings were limited to ten columns in a fixed-width font, but
|
||||
#. nowadays there is no strict length restriction anymore.
|
||||
#: src/xz/list.c:172
|
||||
#: src/xz/list.c:175
|
||||
msgid "Unknown-2"
|
||||
msgstr "알 수 없음-2"
|
||||
|
||||
#: src/xz/list.c:173
|
||||
#: src/xz/list.c:176
|
||||
msgid "Unknown-3"
|
||||
msgstr "알 수 없음-3"
|
||||
|
||||
#: src/xz/list.c:175
|
||||
#: src/xz/list.c:178
|
||||
msgid "Unknown-5"
|
||||
msgstr "알 수 없음-5"
|
||||
|
||||
#: src/xz/list.c:176
|
||||
#: src/xz/list.c:179
|
||||
msgid "Unknown-6"
|
||||
msgstr "알 수 없음-6"
|
||||
|
||||
#: src/xz/list.c:177
|
||||
#: src/xz/list.c:180
|
||||
msgid "Unknown-7"
|
||||
msgstr "알 수 없음-7"
|
||||
|
||||
#: src/xz/list.c:178
|
||||
#: src/xz/list.c:181
|
||||
msgid "Unknown-8"
|
||||
msgstr "알 수 없음-8"
|
||||
|
||||
#: src/xz/list.c:179
|
||||
#: src/xz/list.c:182
|
||||
msgid "Unknown-9"
|
||||
msgstr "알 수 없음-9"
|
||||
|
||||
#: src/xz/list.c:181
|
||||
#: src/xz/list.c:184
|
||||
msgid "Unknown-11"
|
||||
msgstr "알 수 없음-11"
|
||||
|
||||
#: src/xz/list.c:182
|
||||
#: src/xz/list.c:185
|
||||
msgid "Unknown-12"
|
||||
msgstr "알 수 없음-12"
|
||||
|
||||
#: src/xz/list.c:183
|
||||
#: src/xz/list.c:186
|
||||
msgid "Unknown-13"
|
||||
msgstr "알 수 없음-13"
|
||||
|
||||
#: src/xz/list.c:184
|
||||
#: src/xz/list.c:187
|
||||
msgid "Unknown-14"
|
||||
msgstr "알 수 없음-14"
|
||||
|
||||
#: src/xz/list.c:185
|
||||
#: src/xz/list.c:188
|
||||
msgid "Unknown-15"
|
||||
msgstr "알 수 없음-15"
|
||||
|
||||
#: src/xz/list.c:348
|
||||
#: src/xz/list.c:351
|
||||
#, c-format
|
||||
msgid "%s: File is empty"
|
||||
msgstr "%s: 파일 내용 없음"
|
||||
|
||||
#: src/xz/list.c:353
|
||||
#: src/xz/list.c:356
|
||||
#, c-format
|
||||
msgid "%s: Too small to be a valid .xz file"
|
||||
msgstr "%s: 유효한 .xz 파일로 보기에는 너무 작습니다"
|
||||
|
@ -476,41 +491,41 @@ msgstr "%s: 유효한 .xz 파일로 보기에는 너무 작습니다"
|
|||
#. 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:722
|
||||
#: src/xz/list.c:731
|
||||
msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename"
|
||||
msgstr "스트림 블록 압축 압축해제 압축율 검사 파일 이름"
|
||||
|
||||
#: src/xz/list.c:1016 src/xz/list.c:1193
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "Yes"
|
||||
msgstr "예"
|
||||
|
||||
# 주: 아니오가 아니라 아니요가 맞는 표현
|
||||
#: src/xz/list.c:1016 src/xz/list.c:1193
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "No"
|
||||
msgstr "아니요"
|
||||
|
||||
#: src/xz/list.c:1018 src/xz/list.c:1195
|
||||
#: src/xz/list.c:1028 src/xz/list.c:1206
|
||||
#, c-format
|
||||
msgid " Minimum XZ Utils version: %s\n"
|
||||
msgstr " 최소 XZ Utils 버전: %s\n"
|
||||
|
||||
#. 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:1168
|
||||
#: src/xz/list.c:1179
|
||||
#, c-format
|
||||
msgid "%s file\n"
|
||||
msgid_plural "%s files\n"
|
||||
msgstr[0] "파일 %s개\n"
|
||||
|
||||
#: src/xz/list.c:1181
|
||||
#: src/xz/list.c:1192
|
||||
msgid "Totals:"
|
||||
msgstr "총:"
|
||||
|
||||
#: src/xz/list.c:1259
|
||||
#: src/xz/list.c:1270
|
||||
msgid "--list works only on .xz files (--format=xz or --format=auto)"
|
||||
msgstr "--list 옵션은 .xz 파일에만 동작합니다(--format=xz 또는 --format=auto)"
|
||||
|
||||
#: src/xz/list.c:1265
|
||||
#: src/xz/list.c:1276
|
||||
msgid "--list does not support reading from standard input"
|
||||
msgstr "--list 옵션은 표준 입력 읽기를 지원하지 않습니다"
|
||||
|
||||
|
@ -541,68 +556,68 @@ msgstr "표준 출력에서 파일 이름을 읽을 때 표준 입력에서 데
|
|||
#. 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:725
|
||||
#: src/xz/message.c:670 src/xz/message.c:725
|
||||
#, c-format
|
||||
msgid "%s: "
|
||||
msgstr "%s: "
|
||||
|
||||
#: src/xz/message.c:788 src/xz/message.c:847
|
||||
#: src/xz/message.c:797 src/xz/message.c:856
|
||||
msgid "Internal error (bug)"
|
||||
msgstr "내부 오류(버그)"
|
||||
|
||||
#: src/xz/message.c:795
|
||||
#: src/xz/message.c:804
|
||||
msgid "Cannot establish signal handlers"
|
||||
msgstr "시그널 처리자를 준비할 수 없습니다"
|
||||
|
||||
#: src/xz/message.c:804
|
||||
#: src/xz/message.c:813
|
||||
msgid "No integrity check; not verifying file integrity"
|
||||
msgstr "무결성 검사 안함. 파일 무결성을 검증하지 않습니다"
|
||||
|
||||
#: src/xz/message.c:807
|
||||
#: src/xz/message.c:816
|
||||
msgid "Unsupported type of integrity check; not verifying file integrity"
|
||||
msgstr "지원하지 않는 무결성 검사 형식. 파일 무결성을 검증하지 않습니다"
|
||||
|
||||
#: src/xz/message.c:814
|
||||
#: src/xz/message.c:823
|
||||
msgid "Memory usage limit reached"
|
||||
msgstr "메모리 사용량 한계에 도달했습니다"
|
||||
|
||||
#: src/xz/message.c:817
|
||||
#: src/xz/message.c:826
|
||||
msgid "File format not recognized"
|
||||
msgstr "파일 형식을 인식할 수 없음"
|
||||
|
||||
#: src/xz/message.c:820
|
||||
#: src/xz/message.c:829
|
||||
msgid "Unsupported options"
|
||||
msgstr "지원하지 않는 옵션"
|
||||
|
||||
#: src/xz/message.c:823
|
||||
#: src/xz/message.c:832
|
||||
msgid "Compressed data is corrupt"
|
||||
msgstr "압축 데이터 깨짐"
|
||||
|
||||
#: src/xz/message.c:826
|
||||
#: src/xz/message.c:835
|
||||
msgid "Unexpected end of input"
|
||||
msgstr "예상치 못한 입력 끝"
|
||||
|
||||
#: src/xz/message.c:868
|
||||
#: src/xz/message.c:877
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limiter is disabled."
|
||||
msgstr "%s MiB 메모리 용량이 필요합니다. 제한을 비활성합니다."
|
||||
|
||||
#: src/xz/message.c:896
|
||||
#: src/xz/message.c:905
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limit is %s."
|
||||
msgstr "%s MiB 메모리 용량이 필요합니다. 제한 값은 %s 입니다."
|
||||
|
||||
#: src/xz/message.c:1070
|
||||
#: src/xz/message.c:924
|
||||
#, c-format
|
||||
msgid "%s: Filter chain: %s\n"
|
||||
msgstr "%s: 필터 체인: %s\n"
|
||||
|
||||
#: src/xz/message.c:1080
|
||||
#: src/xz/message.c:935
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "자세한 사용법은 `%s --help'를 입력하십시오."
|
||||
|
||||
#: src/xz/message.c:1106
|
||||
#: src/xz/message.c:961
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION]... [FILE]...\n"
|
||||
|
@ -613,15 +628,15 @@ msgstr ""
|
|||
".xz 형식으로 <파일> 다수를 압축(해제)합니다.\n"
|
||||
"\n"
|
||||
|
||||
#: src/xz/message.c:1113
|
||||
#: src/xz/message.c:968
|
||||
msgid "Mandatory arguments to long options are mandatory for short options too.\n"
|
||||
msgstr "긴 옵션 버전의 필수 인자는 짧은 옵션 버전에도 해당합니다.\n"
|
||||
|
||||
#: src/xz/message.c:1117
|
||||
#: src/xz/message.c:972
|
||||
msgid " Operation mode:\n"
|
||||
msgstr " 동작 방식:\n"
|
||||
|
||||
#: src/xz/message.c:1120
|
||||
#: src/xz/message.c:975
|
||||
msgid ""
|
||||
" -z, --compress force compression\n"
|
||||
" -d, --decompress force decompression\n"
|
||||
|
@ -633,7 +648,7 @@ msgstr ""
|
|||
" -t, --test 압축 파일 무결성 검사\n"
|
||||
" -l, --list .xz 파일 정보 출력"
|
||||
|
||||
#: src/xz/message.c:1126
|
||||
#: src/xz/message.c:981
|
||||
msgid ""
|
||||
"\n"
|
||||
" Operation modifiers:\n"
|
||||
|
@ -641,7 +656,7 @@ msgstr ""
|
|||
"\n"
|
||||
" 동작 지정:\n"
|
||||
|
||||
#: src/xz/message.c:1129
|
||||
#: src/xz/message.c:984
|
||||
msgid ""
|
||||
" -k, --keep keep (don't delete) input files\n"
|
||||
" -f, --force force overwrite of output file and (de)compress links\n"
|
||||
|
@ -651,7 +666,7 @@ msgstr ""
|
|||
" -f, --force 출력 파일을 강제로 덮어쓰고 링크도 압축(해제)합니다\n"
|
||||
" -c, --stdout 표준 출력으로 기록하고 입력 파일을 삭제하지 않습니다"
|
||||
|
||||
#: src/xz/message.c:1138
|
||||
#: src/xz/message.c:993
|
||||
msgid ""
|
||||
" --single-stream decompress only the first stream, and silently\n"
|
||||
" ignore possible remaining input data"
|
||||
|
@ -659,7 +674,7 @@ msgstr ""
|
|||
" --single-stream 첫번째 스트림만 압축해제하며, 나머지 입력 데이터는\n"
|
||||
" 조용히 무시합니다"
|
||||
|
||||
#: src/xz/message.c:1141
|
||||
#: src/xz/message.c:996
|
||||
msgid ""
|
||||
" --no-sparse do not create sparse files when decompressing\n"
|
||||
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
|
||||
|
@ -678,7 +693,7 @@ msgstr ""
|
|||
" --files0[=<파일>]\n"
|
||||
" --files 옵션과 비슷하지만 NULL 문자로 끝납니다"
|
||||
|
||||
#: src/xz/message.c:1150
|
||||
#: src/xz/message.c:1005
|
||||
msgid ""
|
||||
"\n"
|
||||
" Basic file format and compression options:\n"
|
||||
|
@ -686,7 +701,7 @@ msgstr ""
|
|||
"\n"
|
||||
" 기본 파일 형식 및 압축 옵션:\n"
|
||||
|
||||
#: src/xz/message.c:1152
|
||||
#: src/xz/message.c:1007
|
||||
msgid ""
|
||||
" -F, --format=FMT file format to encode or decode; possible values are\n"
|
||||
" `auto' (default), `xz', `lzma', `lzip', and `raw'\n"
|
||||
|
@ -698,11 +713,11 @@ msgstr ""
|
|||
" -C, --check=<검사> 무결성 검사 형식: `none'(위험),\n"
|
||||
" `crc32', `crc64'(기본), `sha256'"
|
||||
|
||||
#: src/xz/message.c:1157
|
||||
#: src/xz/message.c:1012
|
||||
msgid " --ignore-check don't verify the integrity check when decompressing"
|
||||
msgstr " --ignore-check 압축 해제시 무결성 검사를 수행하지 않습니다"
|
||||
|
||||
#: src/xz/message.c:1161
|
||||
#: src/xz/message.c:1016
|
||||
msgid ""
|
||||
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
|
||||
" decompressor memory usage into account before using 7-9!"
|
||||
|
@ -710,7 +725,7 @@ msgstr ""
|
|||
" -0 ... -9 압축 프리셋. 기본값은 6 입니다. 7-9를 사용하려면 입축\n"
|
||||
" 메모리 사용량*과* 압축 해제 메모리 사용량을 지정하십시오!"
|
||||
|
||||
#: src/xz/message.c:1165
|
||||
#: src/xz/message.c:1020
|
||||
msgid ""
|
||||
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
|
||||
" does not affect decompressor memory requirements"
|
||||
|
@ -718,7 +733,7 @@ msgstr ""
|
|||
" -e, --extreme CPU 점유시간을 더 확보하여 압축률을 개선합니다.\n"
|
||||
" 압축 해제시 메모리 요구 용량에는 영향을 주지 않습니다"
|
||||
|
||||
#: src/xz/message.c:1169
|
||||
#: src/xz/message.c:1024
|
||||
msgid ""
|
||||
" -T, --threads=NUM use at most NUM threads; the default is 1; set to 0\n"
|
||||
" to use as many threads as there are processor cores"
|
||||
|
@ -728,7 +743,7 @@ msgstr ""
|
|||
" 실제 프로세서 코어만큼의 스레드를 사용하려면 0 값으로\n"
|
||||
" 지정합니다"
|
||||
|
||||
#: src/xz/message.c:1174
|
||||
#: src/xz/message.c:1029
|
||||
msgid ""
|
||||
" --block-size=SIZE\n"
|
||||
" start a new .xz block after every SIZE bytes of input;\n"
|
||||
|
@ -738,7 +753,7 @@ msgstr ""
|
|||
" 모든 <크기>의 입력 다음 새 .xz 블록을 시작합니다.\n"
|
||||
" 스레드 압축에 블록 크기를 지정할 때 사용합니다"
|
||||
|
||||
#: src/xz/message.c:1178
|
||||
#: src/xz/message.c:1033
|
||||
msgid ""
|
||||
" --block-list=SIZES\n"
|
||||
" start a new .xz block after the given comma-separated\n"
|
||||
|
@ -748,7 +763,7 @@ msgstr ""
|
|||
" 콤마로 구분한 연속 지정값 만큼 압축해제한 데이터 용량을\n"
|
||||
" 넘긴 후 새 .xz 블록을 시작합니다"
|
||||
|
||||
#: src/xz/message.c:1182
|
||||
#: src/xz/message.c:1037
|
||||
msgid ""
|
||||
" --flush-timeout=TIMEOUT\n"
|
||||
" when compressing, if more than TIMEOUT milliseconds has\n"
|
||||
|
@ -760,7 +775,7 @@ msgstr ""
|
|||
" 단위 <제한시간>을 넘기면 모든 대기 데이터를\n"
|
||||
" 플러싱아웃합니다"
|
||||
|
||||
#: src/xz/message.c:1188
|
||||
#: src/xz/message.c:1043
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
" --memlimit-compress=LIMIT\n"
|
||||
|
@ -779,7 +794,7 @@ msgstr ""
|
|||
" 제한값을 설정합니다. <제한용량> 값 단위는 바이트 또는 램\n"
|
||||
" 용량 백분율이며, 기본 값은 0 입니다"
|
||||
|
||||
#: src/xz/message.c:1197
|
||||
#: src/xz/message.c:1052
|
||||
msgid ""
|
||||
" --no-adjust if compression settings exceed the memory usage limit,\n"
|
||||
" give an error instead of adjusting the settings downwards"
|
||||
|
@ -787,7 +802,7 @@ msgstr ""
|
|||
" --no-adjust 압축 설정이 메모리 사용량 제한을 넘어서면\n"
|
||||
" 설정 값을 줄이는 대신 오류 정보를 나타냅니다"
|
||||
|
||||
#: src/xz/message.c:1203
|
||||
#: src/xz/message.c:1058
|
||||
msgid ""
|
||||
"\n"
|
||||
" Custom filter chain for compression (alternative for using presets):"
|
||||
|
@ -795,7 +810,7 @@ msgstr ""
|
|||
"\n"
|
||||
" 압축용 개별 필터 체인 설정(사전 설정 사용을 대신함):"
|
||||
|
||||
#: src/xz/message.c:1212
|
||||
#: src/xz/message.c:1067
|
||||
msgid ""
|
||||
"\n"
|
||||
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
|
||||
|
@ -825,7 +840,7 @@ msgstr ""
|
|||
" 중 하나. bt4)\n"
|
||||
" depth=<숫자> 최대 검색 깊이. 0=자동(기본값)"
|
||||
|
||||
#: src/xz/message.c:1227
|
||||
#: src/xz/message.c:1082
|
||||
msgid ""
|
||||
"\n"
|
||||
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
|
||||
|
@ -849,7 +864,7 @@ msgstr ""
|
|||
" 모든 BCJ 필터의 유효한 <옵션>:\n"
|
||||
" start=<숫자> 변환 시작 오프셋(기본값=0)"
|
||||
|
||||
#: src/xz/message.c:1240
|
||||
#: src/xz/message.c:1095
|
||||
msgid ""
|
||||
"\n"
|
||||
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
|
||||
|
@ -861,7 +876,7 @@ msgstr ""
|
|||
" dist=<숫자> 각 바이트 값의 차이 값\n"
|
||||
" (1-256, 1)"
|
||||
|
||||
#: src/xz/message.c:1248
|
||||
#: src/xz/message.c:1103
|
||||
msgid ""
|
||||
"\n"
|
||||
" Other options:\n"
|
||||
|
@ -869,7 +884,7 @@ msgstr ""
|
|||
"\n"
|
||||
"기타 옵션:\n"
|
||||
|
||||
#: src/xz/message.c:1251
|
||||
#: src/xz/message.c:1106
|
||||
msgid ""
|
||||
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
|
||||
" -v, --verbose be verbose; specify twice for even more verbose"
|
||||
|
@ -877,15 +892,15 @@ msgstr ""
|
|||
" -q, --quiet 경고 메시지 끔. 오류 메시지도 끄려면 두번 지정합니다\n"
|
||||
" -v, --verbose 자세히 표시. 더 자세히 표시하려면 두번 지정합니다"
|
||||
|
||||
#: src/xz/message.c:1256
|
||||
#: src/xz/message.c:1111
|
||||
msgid " -Q, --no-warn make warnings not affect the exit status"
|
||||
msgstr " -Q, --no-warn 경고가 종료 상태에 영향을 주지 않게합니다"
|
||||
|
||||
#: src/xz/message.c:1258
|
||||
#: src/xz/message.c:1113
|
||||
msgid " --robot use machine-parsable messages (useful for scripts)"
|
||||
msgstr " --robot 기계 해석용 메시지를 사용합니다(스크립트에 적합)"
|
||||
|
||||
#: src/xz/message.c:1261
|
||||
#: src/xz/message.c:1116
|
||||
msgid ""
|
||||
" --info-memory display the total amount of RAM and the currently active\n"
|
||||
" memory usage limits, and exit"
|
||||
|
@ -893,7 +908,7 @@ msgstr ""
|
|||
" --info-memory 총 사용 메모리양과 현재 활성 메모리 사용 제한 값을\n"
|
||||
" 표시하고 빠져나갑니다"
|
||||
|
||||
#: src/xz/message.c:1264
|
||||
#: src/xz/message.c:1119
|
||||
msgid ""
|
||||
" -h, --help display the short help (lists only the basic options)\n"
|
||||
" -H, --long-help display this long help and exit"
|
||||
|
@ -901,7 +916,7 @@ msgstr ""
|
|||
" -h, --help 간단한 도움말을 표시합니다(기본 옵션만 나열)\n"
|
||||
" -H, --long-help 긴 도움말을 표시하고 빠져나갑니다"
|
||||
|
||||
#: src/xz/message.c:1268
|
||||
#: src/xz/message.c:1123
|
||||
msgid ""
|
||||
" -h, --help display this short help and exit\n"
|
||||
" -H, --long-help display the long help (lists also the advanced options)"
|
||||
|
@ -909,11 +924,11 @@ msgstr ""
|
|||
" -h, --help 간단한 도움말을 표시하고 빠져나갑니다\n"
|
||||
" -H, --long-help 긴 도움말을 표시합니다(고급 옵션도 나열)"
|
||||
|
||||
#: src/xz/message.c:1273
|
||||
#: src/xz/message.c:1128
|
||||
msgid " -V, --version display the version number and exit"
|
||||
msgstr " -V, --version 버전 번호를 표시하고 빠져나갑니다"
|
||||
|
||||
#: src/xz/message.c:1275
|
||||
#: src/xz/message.c:1130
|
||||
msgid ""
|
||||
"\n"
|
||||
"With no FILE, or when FILE is -, read standard input.\n"
|
||||
|
@ -925,17 +940,17 @@ 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:1281
|
||||
#: src/xz/message.c:1136
|
||||
#, c-format
|
||||
msgid "Report bugs to <%s> (in English or Finnish).\n"
|
||||
msgstr "<%s> (영문 또는 핀란드어)에 버그를 보고하십시오.\n"
|
||||
|
||||
#: src/xz/message.c:1283
|
||||
#: src/xz/message.c:1138
|
||||
#, c-format
|
||||
msgid "%s home page: <%s>\n"
|
||||
msgstr "%s 홈페이지: <%s>\n"
|
||||
|
||||
#: src/xz/message.c:1287
|
||||
#: src/xz/message.c:1142
|
||||
msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE."
|
||||
msgstr "!! 주의 !! 개발 버전이며 실제 사용 용도가 아닙니다."
|
||||
|
||||
|
@ -954,36 +969,26 @@ msgstr "%s: 잘못된 옵션 이름"
|
|||
msgid "%s: Invalid option value"
|
||||
msgstr "%s: 잘못된 옵션 값"
|
||||
|
||||
#: src/xz/options.c:286
|
||||
#: src/xz/options.c:247
|
||||
#, c-format
|
||||
msgid "Unsupported LZMA1/LZMA2 preset: %s"
|
||||
msgstr "지원하지 않는 LZMA1/LZMA2 프리셋: %s"
|
||||
|
||||
#: src/xz/options.c:394
|
||||
#: src/xz/options.c:355
|
||||
msgid "The sum of lc and lp must not exceed 4"
|
||||
msgstr "lc값과 lp값의 합이 4를 초과하면 안됩니다"
|
||||
|
||||
#: src/xz/options.c:398
|
||||
#, c-format
|
||||
msgid "The selected match finder requires at least nice=%<PRIu32>"
|
||||
msgstr "선택한 일치 탐색기는 최소한 nice=%<PRIu32> 상태여야합니다"
|
||||
|
||||
#: src/xz/suffix.c:134 src/xz/suffix.c:265
|
||||
#, c-format
|
||||
msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "%s: 표준 출력으로 기록하지 않는 한 --format=raw, --suffix=.SUF 옵션이 필요합니다"
|
||||
|
||||
#: src/xz/suffix.c:165
|
||||
#: src/xz/suffix.c:160
|
||||
#, c-format
|
||||
msgid "%s: Filename has an unknown suffix, skipping"
|
||||
msgstr "%s: 파일 이름에 알 수 없는 확장자 붙음, 건너뜀"
|
||||
|
||||
#: src/xz/suffix.c:186
|
||||
#: src/xz/suffix.c:181
|
||||
#, c-format
|
||||
msgid "%s: File already has `%s' suffix, skipping"
|
||||
msgstr "%s: 파일에 이미 `%s' 확장자가 붙음, 건너뜀"
|
||||
|
||||
#: src/xz/suffix.c:402
|
||||
#: src/xz/suffix.c:388
|
||||
#, c-format
|
||||
msgid "%s: Invalid filename suffix"
|
||||
msgstr "%s: 잘못된 파일 이름 확장자"
|
||||
|
@ -1023,6 +1028,9 @@ msgstr "표준 출력 기록 실패"
|
|||
msgid "Unknown error"
|
||||
msgstr "알 수 없는 오류"
|
||||
|
||||
#~ msgid "The selected match finder requires at least nice=%<PRIu32>"
|
||||
#~ msgstr "선택한 일치 탐색기는 최소한 nice=%<PRIu32> 상태여야합니다"
|
||||
|
||||
#~ msgid "Sandbox is disabled due to incompatible command line arguments"
|
||||
#~ msgstr "비호환 명령행 인자값이 있어 샌드박스를 비활성했습니다"
|
||||
|
||||
|
|
327
po/pl.po
327
po/pl.po
|
@ -1,13 +1,13 @@
|
|||
# Polish translation for xz.
|
||||
# This file is put in the public domain.
|
||||
# Jakub Bogusz <qboosh@pld-linux.org>, 2011-2022.
|
||||
# Jakub Bogusz <qboosh@pld-linux.org>, 2011-2023.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: xz 5.4.0-pre1\n"
|
||||
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
|
||||
"POT-Creation-Date: 2022-11-09 19:59+0200\n"
|
||||
"PO-Revision-Date: 2022-11-10 18:02+0100\n"
|
||||
"Project-Id-Version: xz 5.4.4-pre1\n"
|
||||
"Report-Msgid-Bugs-To: xz@tukaani.org\n"
|
||||
"POT-Creation-Date: 2023-07-18 23:34+0800\n"
|
||||
"PO-Revision-Date: 2023-07-19 21:30+0200\n"
|
||||
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
|
||||
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
|
||||
"Language: pl\n"
|
||||
|
@ -17,51 +17,66 @@ msgstr ""
|
|||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
|
||||
#: src/xz/args.c:64
|
||||
#: src/xz/args.c:77
|
||||
#, c-format
|
||||
msgid "%s: Invalid argument to --block-list"
|
||||
msgstr "%s: Błędny argument dla --block-list"
|
||||
|
||||
#: src/xz/args.c:74
|
||||
#: src/xz/args.c:87
|
||||
#, c-format
|
||||
msgid "%s: Too many arguments to --block-list"
|
||||
msgstr "%s: Zbyt dużo argumentów dla --block-list"
|
||||
|
||||
#: src/xz/args.c:103
|
||||
#: src/xz/args.c:116
|
||||
msgid "0 can only be used as the last element in --block-list"
|
||||
msgstr "0 w --block-list może być użyte wyłącznie jako ostatni element"
|
||||
|
||||
#: src/xz/args.c:424
|
||||
#: src/xz/args.c:451
|
||||
#, c-format
|
||||
msgid "%s: Unknown file format type"
|
||||
msgstr "%s: Nieznany typ formatu pliku"
|
||||
|
||||
#: src/xz/args.c:447 src/xz/args.c:455
|
||||
#: src/xz/args.c:474 src/xz/args.c:482
|
||||
#, c-format
|
||||
msgid "%s: Unsupported integrity check type"
|
||||
msgstr "%s: Nieobsługiwany typ kontroli spójności"
|
||||
|
||||
#: src/xz/args.c:491
|
||||
#: src/xz/args.c:518
|
||||
msgid "Only one file can be specified with `--files' or `--files0'."
|
||||
msgstr "Wraz z opcją `--files' lub `--files0' można podać tylko jeden plik."
|
||||
|
||||
#: src/xz/args.c:559
|
||||
#. TRANSLATORS: This is a translatable
|
||||
#. string because French needs a space
|
||||
#. before the colon ("%s : %s").
|
||||
#: src/xz/args.c:533 src/xz/coder.c:691 src/xz/coder.c:707 src/xz/coder.c:967
|
||||
#: src/xz/coder.c:970 src/xz/file_io.c:605 src/xz/file_io.c:679
|
||||
#: src/xz/file_io.c:769 src/xz/file_io.c:940 src/xz/list.c:369
|
||||
#: src/xz/list.c:415 src/xz/list.c:477 src/xz/list.c:581 src/xz/list.c:590
|
||||
#, c-format
|
||||
msgid "%s: %s"
|
||||
msgstr "%s: %s"
|
||||
|
||||
#: src/xz/args.c:589
|
||||
#, c-format
|
||||
msgid "The environment variable %s contains too many arguments"
|
||||
msgstr "Zmienna środowiskowa %s zawiera zbyt dużo argumentów"
|
||||
|
||||
#: src/xz/args.c:661
|
||||
#: src/xz/args.c:691
|
||||
msgid "Compression support was disabled at build time"
|
||||
msgstr "Obsługa kompresji została wyłączona na etapie budowania"
|
||||
|
||||
#: src/xz/args.c:668
|
||||
#: src/xz/args.c:698
|
||||
msgid "Decompression support was disabled at build time"
|
||||
msgstr "Obsługa dekompresji została wyłączona na etapie budowania"
|
||||
|
||||
#: src/xz/args.c:674
|
||||
#: src/xz/args.c:704
|
||||
msgid "Compression of lzip files (.lz) is not supported"
|
||||
msgstr "Kompresja plików lzip (.lz) nie jest osbługiwana"
|
||||
|
||||
#: src/xz/args.c:735
|
||||
msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "Przy --format=raw i zapisie do pliku wymagana jest opcja --suffix=.ROZ"
|
||||
|
||||
#: src/xz/coder.c:115
|
||||
msgid "Maximum number of filters is four"
|
||||
msgstr "Maksymalna liczba filtrów to cztery"
|
||||
|
@ -133,11 +148,11 @@ msgstr "Skorygowano rozmiar słownika LZMA%c z %s MiB do %s MiB aby nie przekroc
|
|||
msgid "Error creating a pipe: %s"
|
||||
msgstr "Błąd tworzenia potoku: %s"
|
||||
|
||||
#: src/xz/file_io.c:235
|
||||
#: src/xz/file_io.c:252
|
||||
msgid "Failed to enable the sandbox"
|
||||
msgstr "Nie udało się włączyć piaskownicy"
|
||||
|
||||
#: src/xz/file_io.c:277
|
||||
#: src/xz/file_io.c:294
|
||||
#, c-format
|
||||
msgid "%s: poll() failed: %s"
|
||||
msgstr "%s: poll() nie powiodło się: %s"
|
||||
|
@ -152,252 +167,252 @@ msgstr "%s: poll() nie powiodło się: %s"
|
|||
#. 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:344
|
||||
#: src/xz/file_io.c:361
|
||||
#, c-format
|
||||
msgid "%s: File seems to have been moved, not removing"
|
||||
msgstr "%s: Plik wygląda na przeniesiony, nie zostanie usunięty"
|
||||
|
||||
#: src/xz/file_io.c:351 src/xz/file_io.c:907
|
||||
#: src/xz/file_io.c:368 src/xz/file_io.c:924
|
||||
#, c-format
|
||||
msgid "%s: Cannot remove: %s"
|
||||
msgstr "%s: Nie można usunąć: %s"
|
||||
|
||||
#: src/xz/file_io.c:377
|
||||
#: src/xz/file_io.c:394
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file owner: %s"
|
||||
msgstr "%s: Nie można ustawić właściciela pliku: %s"
|
||||
|
||||
#: src/xz/file_io.c:390
|
||||
#: src/xz/file_io.c:407
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file group: %s"
|
||||
msgstr "%s: Nie można ustawić grupy pliku: %s"
|
||||
|
||||
#: src/xz/file_io.c:409
|
||||
#: src/xz/file_io.c:426
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file permissions: %s"
|
||||
msgstr "%s: Nie można ustawić uprawnień pliku: %s"
|
||||
|
||||
#: src/xz/file_io.c:535
|
||||
#: src/xz/file_io.c:552
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard input: %s"
|
||||
msgstr "Błąd podczas pobierania flag stanu pliku ze standardowego wejścia: %s"
|
||||
|
||||
#: src/xz/file_io.c:593 src/xz/file_io.c:655
|
||||
#: src/xz/file_io.c:610 src/xz/file_io.c:672
|
||||
#, c-format
|
||||
msgid "%s: Is a symbolic link, skipping"
|
||||
msgstr "%s: Jest dowiązaniem symbolicznym, pominięto"
|
||||
|
||||
#: src/xz/file_io.c:684
|
||||
#: src/xz/file_io.c:701
|
||||
#, c-format
|
||||
msgid "%s: Is a directory, skipping"
|
||||
msgstr "%s: Jest katalogiem, pominięto"
|
||||
|
||||
#: src/xz/file_io.c:690
|
||||
#: src/xz/file_io.c:707
|
||||
#, c-format
|
||||
msgid "%s: Not a regular file, skipping"
|
||||
msgstr "%s: Nie jest zwykłym plikiem, pominięto"
|
||||
|
||||
#: src/xz/file_io.c:707
|
||||
#: src/xz/file_io.c:724
|
||||
#, c-format
|
||||
msgid "%s: File has setuid or setgid bit set, skipping"
|
||||
msgstr "%s: Plik ma ustawiony bit setuid lub setgid, pominięto"
|
||||
|
||||
#: src/xz/file_io.c:714
|
||||
#: src/xz/file_io.c:731
|
||||
#, c-format
|
||||
msgid "%s: File has sticky bit set, skipping"
|
||||
msgstr "%s: Plik ma ustawiony bit sticky, pominięto"
|
||||
|
||||
#: src/xz/file_io.c:721
|
||||
#: src/xz/file_io.c:738
|
||||
#, c-format
|
||||
msgid "%s: Input file has more than one hard link, skipping"
|
||||
msgstr "%s: Plik wejściowy ma więcej niż jedno dowiązanie zwykłe, pominięto"
|
||||
|
||||
#: src/xz/file_io.c:763
|
||||
#: src/xz/file_io.c:780
|
||||
msgid "Empty filename, skipping"
|
||||
msgstr "Pusta nazwa pliku, pominięto"
|
||||
|
||||
#: src/xz/file_io.c:817
|
||||
#: src/xz/file_io.c:834
|
||||
#, c-format
|
||||
msgid "Error restoring the status flags to standard input: %s"
|
||||
msgstr "Błąd podczas odtwarzania flag stanu dla standardowego wejścia: %s"
|
||||
|
||||
#: src/xz/file_io.c:865
|
||||
#: src/xz/file_io.c:882
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard output: %s"
|
||||
msgstr "Błąd podczas pobierania flag stanu pliku ze standardowego wyjścia: %s"
|
||||
|
||||
#: src/xz/file_io.c:1043
|
||||
#: src/xz/file_io.c:1060
|
||||
#, c-format
|
||||
msgid "Error restoring the O_APPEND flag to standard output: %s"
|
||||
msgstr "Błąd podczas odtwarzania flagi O_APPEND dla standardowego wyjścia: %s"
|
||||
|
||||
#: src/xz/file_io.c:1055
|
||||
#: src/xz/file_io.c:1072
|
||||
#, c-format
|
||||
msgid "%s: Closing the file failed: %s"
|
||||
msgstr "%s: Zamknięcie pliku nie powiodło się: %s"
|
||||
|
||||
#: src/xz/file_io.c:1091 src/xz/file_io.c:1354
|
||||
#: src/xz/file_io.c:1108 src/xz/file_io.c:1371
|
||||
#, c-format
|
||||
msgid "%s: Seeking failed when trying to create a sparse file: %s"
|
||||
msgstr "%s: Zmiana pozycji nie powiodła się podczas próby utworzenia pliku rzadkiego: %s"
|
||||
|
||||
#: src/xz/file_io.c:1192
|
||||
#: src/xz/file_io.c:1209
|
||||
#, c-format
|
||||
msgid "%s: Read error: %s"
|
||||
msgstr "%s: Błąd odczytu: %s"
|
||||
|
||||
#: src/xz/file_io.c:1222
|
||||
#: src/xz/file_io.c:1239
|
||||
#, c-format
|
||||
msgid "%s: Error seeking the file: %s"
|
||||
msgstr "%s: Błąd podczas zmiany pozycji w pliku: %s"
|
||||
|
||||
#: src/xz/file_io.c:1246
|
||||
#: src/xz/file_io.c:1263
|
||||
#, c-format
|
||||
msgid "%s: Unexpected end of file"
|
||||
msgstr "%s: Nieoczekiwany koniec pliku"
|
||||
|
||||
#: src/xz/file_io.c:1305
|
||||
#: src/xz/file_io.c:1322
|
||||
#, c-format
|
||||
msgid "%s: Write error: %s"
|
||||
msgstr "%s: Błąd zapisu: %s"
|
||||
|
||||
#: src/xz/hardware.c:225
|
||||
#: src/xz/hardware.c:238
|
||||
msgid "Disabled"
|
||||
msgstr "Wyłączony"
|
||||
|
||||
#: src/xz/hardware.c:256
|
||||
#: src/xz/hardware.c:269
|
||||
msgid "Amount of physical memory (RAM):"
|
||||
msgstr "Rozmiar pamięci fizycznej (RAM):"
|
||||
|
||||
#: src/xz/hardware.c:257
|
||||
#: src/xz/hardware.c:270
|
||||
msgid "Number of processor threads:"
|
||||
msgstr "Liczba wątków procesora:"
|
||||
|
||||
#: src/xz/hardware.c:258
|
||||
#: src/xz/hardware.c:271
|
||||
msgid "Compression:"
|
||||
msgstr "Kompresja:"
|
||||
|
||||
#: src/xz/hardware.c:259
|
||||
#: src/xz/hardware.c:272
|
||||
msgid "Decompression:"
|
||||
msgstr "Dekompresja:"
|
||||
|
||||
#: src/xz/hardware.c:260
|
||||
#: src/xz/hardware.c:273
|
||||
msgid "Multi-threaded decompression:"
|
||||
msgstr "Dekompresja wielowątkowa:"
|
||||
|
||||
#: src/xz/hardware.c:261
|
||||
#: src/xz/hardware.c:274
|
||||
msgid "Default for -T0:"
|
||||
msgstr "Domyślnie dla -T0:"
|
||||
|
||||
#: src/xz/hardware.c:279
|
||||
#: src/xz/hardware.c:292
|
||||
msgid "Hardware information:"
|
||||
msgstr "Informacje o sprzęcie:"
|
||||
|
||||
#: src/xz/hardware.c:286
|
||||
#: src/xz/hardware.c:299
|
||||
msgid "Memory usage limits:"
|
||||
msgstr "Limity użycia pamięci"
|
||||
|
||||
#: src/xz/list.c:65
|
||||
#: src/xz/list.c:68
|
||||
msgid "Streams:"
|
||||
msgstr "Strumienie:"
|
||||
|
||||
#: src/xz/list.c:66
|
||||
#: src/xz/list.c:69
|
||||
msgid "Blocks:"
|
||||
msgstr "Bloki:"
|
||||
|
||||
#: src/xz/list.c:67
|
||||
#: src/xz/list.c:70
|
||||
msgid "Compressed size:"
|
||||
msgstr "Rozmiar spakowany:"
|
||||
|
||||
#: src/xz/list.c:68
|
||||
#: src/xz/list.c:71
|
||||
msgid "Uncompressed size:"
|
||||
msgstr "Rozmiar rozpakowany:"
|
||||
|
||||
#: src/xz/list.c:69
|
||||
#: src/xz/list.c:72
|
||||
msgid "Ratio:"
|
||||
msgstr "Współczynnik:"
|
||||
|
||||
#: src/xz/list.c:70
|
||||
#: src/xz/list.c:73
|
||||
msgid "Check:"
|
||||
msgstr "Kontrola spójności:"
|
||||
|
||||
#: src/xz/list.c:71
|
||||
#: src/xz/list.c:74
|
||||
msgid "Stream Padding:"
|
||||
msgstr "Wyrównanie strumienia:"
|
||||
|
||||
#: src/xz/list.c:72
|
||||
#: src/xz/list.c:75
|
||||
msgid "Memory needed:"
|
||||
msgstr "Wymagana pamięć:"
|
||||
|
||||
#: src/xz/list.c:73
|
||||
#: src/xz/list.c:76
|
||||
msgid "Sizes in headers:"
|
||||
msgstr "Rozmiar w nagłówkach:"
|
||||
|
||||
#: src/xz/list.c:76
|
||||
#: src/xz/list.c:79
|
||||
msgid "Number of files:"
|
||||
msgstr "Liczba plików:"
|
||||
|
||||
#: src/xz/list.c:119
|
||||
#: src/xz/list.c:122
|
||||
msgid "Stream"
|
||||
msgstr "Strumień"
|
||||
|
||||
#: src/xz/list.c:120
|
||||
#: src/xz/list.c:123
|
||||
msgid "Block"
|
||||
msgstr "Blok"
|
||||
|
||||
#: src/xz/list.c:121
|
||||
#: src/xz/list.c:124
|
||||
msgid "Blocks"
|
||||
msgstr "Bloki"
|
||||
|
||||
#: src/xz/list.c:122
|
||||
#: src/xz/list.c:125
|
||||
msgid "CompOffset"
|
||||
msgstr "Offset spak."
|
||||
|
||||
#: src/xz/list.c:123
|
||||
#: src/xz/list.c:126
|
||||
msgid "UncompOffset"
|
||||
msgstr "Offset rozp."
|
||||
|
||||
#: src/xz/list.c:124
|
||||
#: src/xz/list.c:127
|
||||
msgid "CompSize"
|
||||
msgstr "Rozm.spak."
|
||||
|
||||
#: src/xz/list.c:125
|
||||
#: src/xz/list.c:128
|
||||
msgid "UncompSize"
|
||||
msgstr "Rozm.rozp."
|
||||
|
||||
#: src/xz/list.c:126
|
||||
#: src/xz/list.c:129
|
||||
msgid "TotalSize"
|
||||
msgstr "Rozm.całk."
|
||||
|
||||
#: src/xz/list.c:127
|
||||
#: src/xz/list.c:130
|
||||
msgid "Ratio"
|
||||
msgstr "Wsp."
|
||||
|
||||
#: src/xz/list.c:128
|
||||
#: src/xz/list.c:131
|
||||
msgid "Check"
|
||||
msgstr "Kontrola"
|
||||
|
||||
#: src/xz/list.c:129
|
||||
#: src/xz/list.c:132
|
||||
msgid "CheckVal"
|
||||
msgstr "S.kontr."
|
||||
|
||||
#: src/xz/list.c:130
|
||||
#: src/xz/list.c:133
|
||||
msgid "Padding"
|
||||
msgstr "Wyrównanie"
|
||||
|
||||
#: src/xz/list.c:131
|
||||
#: src/xz/list.c:134
|
||||
msgid "Header"
|
||||
msgstr "Nagłówek"
|
||||
|
||||
#: src/xz/list.c:132
|
||||
#: src/xz/list.c:135
|
||||
msgid "Flags"
|
||||
msgstr "Flagi"
|
||||
|
||||
#: src/xz/list.c:133
|
||||
#: src/xz/list.c:136
|
||||
msgid "MemUsage"
|
||||
msgstr "Uż.pamięci"
|
||||
|
||||
#: src/xz/list.c:134
|
||||
#: src/xz/list.c:137
|
||||
msgid "Filters"
|
||||
msgstr "Filtry"
|
||||
|
||||
|
@ -405,7 +420,7 @@ msgstr "Filtry"
|
|||
#. This string is used in tables. In older xz version this
|
||||
#. string was limited to ten columns in a fixed-width font, but
|
||||
#. nowadays there is no strict length restriction anymore.
|
||||
#: src/xz/list.c:166
|
||||
#: src/xz/list.c:169
|
||||
msgid "None"
|
||||
msgstr "Brak"
|
||||
|
||||
|
@ -413,60 +428,60 @@ msgstr "Brak"
|
|||
#. but the Check ID is known (here 2). In older xz version these
|
||||
#. strings were limited to ten columns in a fixed-width font, but
|
||||
#. nowadays there is no strict length restriction anymore.
|
||||
#: src/xz/list.c:172
|
||||
#: src/xz/list.c:175
|
||||
msgid "Unknown-2"
|
||||
msgstr "Nieznany-2"
|
||||
|
||||
#: src/xz/list.c:173
|
||||
#: src/xz/list.c:176
|
||||
msgid "Unknown-3"
|
||||
msgstr "Nieznany-3"
|
||||
|
||||
#: src/xz/list.c:175
|
||||
#: src/xz/list.c:178
|
||||
msgid "Unknown-5"
|
||||
msgstr "Nieznany-5"
|
||||
|
||||
#: src/xz/list.c:176
|
||||
#: src/xz/list.c:179
|
||||
msgid "Unknown-6"
|
||||
msgstr "Nieznany-6"
|
||||
|
||||
#: src/xz/list.c:177
|
||||
#: src/xz/list.c:180
|
||||
msgid "Unknown-7"
|
||||
msgstr "Nieznany-7"
|
||||
|
||||
#: src/xz/list.c:178
|
||||
#: src/xz/list.c:181
|
||||
msgid "Unknown-8"
|
||||
msgstr "Nieznany-8"
|
||||
|
||||
#: src/xz/list.c:179
|
||||
#: src/xz/list.c:182
|
||||
msgid "Unknown-9"
|
||||
msgstr "Nieznany-9"
|
||||
|
||||
#: src/xz/list.c:181
|
||||
#: src/xz/list.c:184
|
||||
msgid "Unknown-11"
|
||||
msgstr "Nieznany11"
|
||||
|
||||
#: src/xz/list.c:182
|
||||
#: src/xz/list.c:185
|
||||
msgid "Unknown-12"
|
||||
msgstr "Nieznany12"
|
||||
|
||||
#: src/xz/list.c:183
|
||||
#: src/xz/list.c:186
|
||||
msgid "Unknown-13"
|
||||
msgstr "Nieznany13"
|
||||
|
||||
#: src/xz/list.c:184
|
||||
#: src/xz/list.c:187
|
||||
msgid "Unknown-14"
|
||||
msgstr "Nieznany14"
|
||||
|
||||
#: src/xz/list.c:185
|
||||
#: src/xz/list.c:188
|
||||
msgid "Unknown-15"
|
||||
msgstr "Nieznany15"
|
||||
|
||||
#: src/xz/list.c:348
|
||||
#: src/xz/list.c:351
|
||||
#, c-format
|
||||
msgid "%s: File is empty"
|
||||
msgstr "%s: Plik jest pusty"
|
||||
|
||||
#: src/xz/list.c:353
|
||||
#: src/xz/list.c:356
|
||||
#, c-format
|
||||
msgid "%s: Too small to be a valid .xz file"
|
||||
msgstr "%s: Za mały na poprawny plik .xz"
|
||||
|
@ -475,26 +490,26 @@ msgstr "%s: Za mały na poprawny plik .xz"
|
|||
#. 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:722
|
||||
#: src/xz/list.c:731
|
||||
msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename"
|
||||
msgstr "Strum. Bloki Spakowany Rozpakowany Wsp. Kontrola Nazwa pliku"
|
||||
|
||||
#: src/xz/list.c:1016 src/xz/list.c:1193
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "Yes"
|
||||
msgstr "Tak"
|
||||
|
||||
#: src/xz/list.c:1016 src/xz/list.c:1193
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "No"
|
||||
msgstr "Nie"
|
||||
|
||||
#: src/xz/list.c:1018 src/xz/list.c:1195
|
||||
#: src/xz/list.c:1028 src/xz/list.c:1206
|
||||
#, c-format
|
||||
msgid " Minimum XZ Utils version: %s\n"
|
||||
msgstr " Minimalna wersja XZ Utils: %s\n"
|
||||
|
||||
#. 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:1168
|
||||
#: src/xz/list.c:1179
|
||||
#, c-format
|
||||
msgid "%s file\n"
|
||||
msgid_plural "%s files\n"
|
||||
|
@ -502,15 +517,15 @@ msgstr[0] "%s plik\n"
|
|||
msgstr[1] "%s pliki\n"
|
||||
msgstr[2] "%s plików\n"
|
||||
|
||||
#: src/xz/list.c:1181
|
||||
#: src/xz/list.c:1192
|
||||
msgid "Totals:"
|
||||
msgstr "Sumarycznie:"
|
||||
|
||||
#: src/xz/list.c:1259
|
||||
#: src/xz/list.c:1270
|
||||
msgid "--list works only on .xz files (--format=xz or --format=auto)"
|
||||
msgstr "--list działa tylko z plikami .xz (--format=xz lub --format=auto)"
|
||||
|
||||
#: src/xz/list.c:1265
|
||||
#: src/xz/list.c:1276
|
||||
msgid "--list does not support reading from standard input"
|
||||
msgstr "--list nie obsługuje odczytu ze standardowego wejścia"
|
||||
|
||||
|
@ -541,68 +556,68 @@ msgstr "Nie można odczytać danych ze standardowego wejścia przy czytaniu nazw
|
|||
#. 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:725
|
||||
#: src/xz/message.c:670 src/xz/message.c:725
|
||||
#, c-format
|
||||
msgid "%s: "
|
||||
msgstr "%s: "
|
||||
|
||||
#: src/xz/message.c:788 src/xz/message.c:847
|
||||
#: src/xz/message.c:797 src/xz/message.c:856
|
||||
msgid "Internal error (bug)"
|
||||
msgstr "Błąd wewnętrzny"
|
||||
|
||||
#: src/xz/message.c:795
|
||||
#: src/xz/message.c:804
|
||||
msgid "Cannot establish signal handlers"
|
||||
msgstr "Nie można ustawić obsługi sygnałów"
|
||||
|
||||
#: src/xz/message.c:804
|
||||
#: src/xz/message.c:813
|
||||
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:807
|
||||
#: src/xz/message.c:816
|
||||
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:814
|
||||
#: src/xz/message.c:823
|
||||
msgid "Memory usage limit reached"
|
||||
msgstr "Osiągnięto limit użycia pamięci"
|
||||
|
||||
#: src/xz/message.c:817
|
||||
#: src/xz/message.c:826
|
||||
msgid "File format not recognized"
|
||||
msgstr "Nie rozpoznany format pliku"
|
||||
|
||||
#: src/xz/message.c:820
|
||||
#: src/xz/message.c:829
|
||||
msgid "Unsupported options"
|
||||
msgstr "Nieobsługiwane opcje"
|
||||
|
||||
#: src/xz/message.c:823
|
||||
#: src/xz/message.c:832
|
||||
msgid "Compressed data is corrupt"
|
||||
msgstr "Dane skompresowane są uszkodzone"
|
||||
|
||||
#: src/xz/message.c:826
|
||||
#: src/xz/message.c:835
|
||||
msgid "Unexpected end of input"
|
||||
msgstr "Nieoczekiwany koniec wejścia"
|
||||
|
||||
#: src/xz/message.c:868
|
||||
#: src/xz/message.c:877
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limiter is disabled."
|
||||
msgstr "Wymagane jest %s MiB pamięci. Limit jest wyłączony."
|
||||
|
||||
#: src/xz/message.c:896
|
||||
#: src/xz/message.c:905
|
||||
#, 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:1070
|
||||
#: src/xz/message.c:924
|
||||
#, c-format
|
||||
msgid "%s: Filter chain: %s\n"
|
||||
msgstr "%s: Łańcuch filtrów: %s\n"
|
||||
|
||||
#: src/xz/message.c:1080
|
||||
#: src/xz/message.c:935
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Polecenie `%s --help' pokaże więcej informacji."
|
||||
|
||||
#: src/xz/message.c:1106
|
||||
#: src/xz/message.c:961
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION]... [FILE]...\n"
|
||||
|
@ -613,17 +628,17 @@ msgstr ""
|
|||
"Kompresja lub dekompresja PLIKÓW w formacie .xz.\n"
|
||||
"\n"
|
||||
|
||||
#: src/xz/message.c:1113
|
||||
#: src/xz/message.c:968
|
||||
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:1117
|
||||
#: src/xz/message.c:972
|
||||
msgid " Operation mode:\n"
|
||||
msgstr " Tryb pracy:\n"
|
||||
|
||||
#: src/xz/message.c:1120
|
||||
#: src/xz/message.c:975
|
||||
msgid ""
|
||||
" -z, --compress force compression\n"
|
||||
" -d, --decompress force decompression\n"
|
||||
|
@ -635,7 +650,7 @@ msgstr ""
|
|||
" -t, --test sprawdzenie spójności plików skompresowanych\n"
|
||||
" -l, --list wypisanie informacji o plikach .xz"
|
||||
|
||||
#: src/xz/message.c:1126
|
||||
#: src/xz/message.c:981
|
||||
msgid ""
|
||||
"\n"
|
||||
" Operation modifiers:\n"
|
||||
|
@ -643,7 +658,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Modyfikatory operacji:\n"
|
||||
|
||||
#: src/xz/message.c:1129
|
||||
#: src/xz/message.c:984
|
||||
msgid ""
|
||||
" -k, --keep keep (don't delete) input files\n"
|
||||
" -f, --force force overwrite of output file and (de)compress links\n"
|
||||
|
@ -653,7 +668,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:1138
|
||||
#: src/xz/message.c:993
|
||||
msgid ""
|
||||
" --single-stream decompress only the first stream, and silently\n"
|
||||
" ignore possible remaining input data"
|
||||
|
@ -661,7 +676,7 @@ msgstr ""
|
|||
" --single-stream dekompresja tylko pierwszego strumienia, ciche\n"
|
||||
" zignorowanie pozostałych danych wejściowych"
|
||||
|
||||
#: src/xz/message.c:1141
|
||||
#: src/xz/message.c:996
|
||||
msgid ""
|
||||
" --no-sparse do not create sparse files when decompressing\n"
|
||||
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
|
||||
|
@ -677,7 +692,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:1150
|
||||
#: src/xz/message.c:1005
|
||||
msgid ""
|
||||
"\n"
|
||||
" Basic file format and compression options:\n"
|
||||
|
@ -685,7 +700,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Podstawowe opcje formatu pliku i kompresji:\n"
|
||||
|
||||
#: src/xz/message.c:1152
|
||||
#: src/xz/message.c:1007
|
||||
msgid ""
|
||||
" -F, --format=FMT file format to encode or decode; possible values are\n"
|
||||
" `auto' (default), `xz', `lzma', `lzip', and `raw'\n"
|
||||
|
@ -697,11 +712,11 @@ msgstr ""
|
|||
" -C, --check=TEST typ kontroli spójności: `none' (ostrożnie!),\n"
|
||||
" `crc32', `crc64' (domyślny) lub `sha256'"
|
||||
|
||||
#: src/xz/message.c:1157
|
||||
#: src/xz/message.c:1012
|
||||
msgid " --ignore-check don't verify the integrity check when decompressing"
|
||||
msgstr " --ignore-check bez kontroli sprawdzania integralności przy dekompresji"
|
||||
|
||||
#: src/xz/message.c:1161
|
||||
#: src/xz/message.c:1016
|
||||
msgid ""
|
||||
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
|
||||
" decompressor memory usage into account before using 7-9!"
|
||||
|
@ -710,7 +725,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:1165
|
||||
#: src/xz/message.c:1020
|
||||
msgid ""
|
||||
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
|
||||
" does not affect decompressor memory requirements"
|
||||
|
@ -719,7 +734,7 @@ msgstr ""
|
|||
" ilości czasu procesora; nie wpływa na wymagania\n"
|
||||
" pamięciowe dekompresora"
|
||||
|
||||
#: src/xz/message.c:1169
|
||||
#: src/xz/message.c:1024
|
||||
msgid ""
|
||||
" -T, --threads=NUM use at most NUM threads; the default is 1; set to 0\n"
|
||||
" to use as many threads as there are processor cores"
|
||||
|
@ -727,7 +742,7 @@ msgstr ""
|
|||
" -T, --threads=ILE użycie maksymalnie ILU wątków; domyślnie 1; 0 oznacza\n"
|
||||
" tyle, ile jest rdzeni procesorów"
|
||||
|
||||
#: src/xz/message.c:1174
|
||||
#: src/xz/message.c:1029
|
||||
msgid ""
|
||||
" --block-size=SIZE\n"
|
||||
" start a new .xz block after every SIZE bytes of input;\n"
|
||||
|
@ -738,7 +753,7 @@ msgstr ""
|
|||
" opcja służy do ustawienia rozmiaru bloku dla kompresji\n"
|
||||
" wielowątkowej"
|
||||
|
||||
#: src/xz/message.c:1178
|
||||
#: src/xz/message.c:1033
|
||||
msgid ""
|
||||
" --block-list=SIZES\n"
|
||||
" start a new .xz block after the given comma-separated\n"
|
||||
|
@ -748,7 +763,7 @@ msgstr ""
|
|||
" rozpoczęcie nowego bloku .xz po rozdzielonych przecinkiem\n"
|
||||
" przedziałach danych nieskompresowanych"
|
||||
|
||||
#: src/xz/message.c:1182
|
||||
#: src/xz/message.c:1037
|
||||
msgid ""
|
||||
" --flush-timeout=TIMEOUT\n"
|
||||
" when compressing, if more than TIMEOUT milliseconds has\n"
|
||||
|
@ -760,7 +775,7 @@ msgstr ""
|
|||
" ostatniegu zapisu bloku, a odczyt kolejnych danych byłby\n"
|
||||
" blokujący, wszystkie gotowe dane są zapisywane"
|
||||
|
||||
#: src/xz/message.c:1188
|
||||
#: src/xz/message.c:1043
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
" --memlimit-compress=LIMIT\n"
|
||||
|
@ -779,7 +794,7 @@ msgstr ""
|
|||
" dekompresji, dekompresji wielowątkowej lub wszystkich;\n"
|
||||
" LIMIT jest w bajtach, % RAM lub 0 dla limitów domyślnych"
|
||||
|
||||
#: src/xz/message.c:1197
|
||||
#: src/xz/message.c:1052
|
||||
msgid ""
|
||||
" --no-adjust if compression settings exceed the memory usage limit,\n"
|
||||
" give an error instead of adjusting the settings downwards"
|
||||
|
@ -788,7 +803,7 @@ msgstr ""
|
|||
" pamięci, zostanie zgłoszony błąd zamiast zmniejszania\n"
|
||||
" ustawień"
|
||||
|
||||
#: src/xz/message.c:1203
|
||||
#: src/xz/message.c:1058
|
||||
msgid ""
|
||||
"\n"
|
||||
" Custom filter chain for compression (alternative for using presets):"
|
||||
|
@ -796,7 +811,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Łańcuch własnych filtrów do kompresji (alternatywa do używania -0 .. -9):"
|
||||
|
||||
#: src/xz/message.c:1212
|
||||
#: src/xz/message.c:1067
|
||||
msgid ""
|
||||
"\n"
|
||||
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
|
||||
|
@ -825,7 +840,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:1227
|
||||
#: src/xz/message.c:1082
|
||||
msgid ""
|
||||
"\n"
|
||||
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
|
||||
|
@ -849,7 +864,7 @@ msgstr ""
|
|||
" Poprawne OPCJE dla wszystkich filtrów BCJ:\n"
|
||||
" start=ILE offset początku konwersji (domyślnie=0)"
|
||||
|
||||
#: src/xz/message.c:1240
|
||||
#: src/xz/message.c:1095
|
||||
msgid ""
|
||||
"\n"
|
||||
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
|
||||
|
@ -861,7 +876,7 @@ msgstr ""
|
|||
" dist=ILE odległość między bajtami odejmowanymi od\n"
|
||||
" siebie (1-256; 1)"
|
||||
|
||||
#: src/xz/message.c:1248
|
||||
#: src/xz/message.c:1103
|
||||
msgid ""
|
||||
"\n"
|
||||
" Other options:\n"
|
||||
|
@ -869,7 +884,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Inne opcje:\n"
|
||||
|
||||
#: src/xz/message.c:1251
|
||||
#: src/xz/message.c:1106
|
||||
msgid ""
|
||||
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
|
||||
" -v, --verbose be verbose; specify twice for even more verbose"
|
||||
|
@ -877,15 +892,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:1256
|
||||
#: src/xz/message.c:1111
|
||||
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:1258
|
||||
#: src/xz/message.c:1113
|
||||
msgid " --robot use machine-parsable messages (useful for scripts)"
|
||||
msgstr " --robot komunikaty w formacie dla maszyny (do skryptów)"
|
||||
|
||||
#: src/xz/message.c:1261
|
||||
#: src/xz/message.c:1116
|
||||
msgid ""
|
||||
" --info-memory display the total amount of RAM and the currently active\n"
|
||||
" memory usage limits, and exit"
|
||||
|
@ -893,7 +908,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:1264
|
||||
#: src/xz/message.c:1119
|
||||
msgid ""
|
||||
" -h, --help display the short help (lists only the basic options)\n"
|
||||
" -H, --long-help display this long help and exit"
|
||||
|
@ -901,7 +916,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:1268
|
||||
#: src/xz/message.c:1123
|
||||
msgid ""
|
||||
" -h, --help display this short help and exit\n"
|
||||
" -H, --long-help display the long help (lists also the advanced options)"
|
||||
|
@ -909,11 +924,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:1273
|
||||
#: src/xz/message.c:1128
|
||||
msgid " -V, --version display the version number and exit"
|
||||
msgstr " -V, --version wyświetlenie informacji o wersji i zakończenie"
|
||||
|
||||
#: src/xz/message.c:1275
|
||||
#: src/xz/message.c:1130
|
||||
msgid ""
|
||||
"\n"
|
||||
"With no FILE, or when FILE is -, read standard input.\n"
|
||||
|
@ -925,7 +940,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:1281
|
||||
#: src/xz/message.c:1136
|
||||
#, c-format
|
||||
msgid "Report bugs to <%s> (in English or Finnish).\n"
|
||||
msgstr ""
|
||||
|
@ -934,12 +949,12 @@ msgstr ""
|
|||
"Błędy w tłumaczeniu prosimy zgłaszać na adres\n"
|
||||
"<translation-team-pl@lists.sourceforge.net>.\n"
|
||||
|
||||
#: src/xz/message.c:1283
|
||||
#: src/xz/message.c:1138
|
||||
#, c-format
|
||||
msgid "%s home page: <%s>\n"
|
||||
msgstr "Strona domowa %s: <%s>\n"
|
||||
|
||||
#: src/xz/message.c:1287
|
||||
#: src/xz/message.c:1142
|
||||
msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE."
|
||||
msgstr "TA WERSJA JEST ROZWOJOWA, NIE PRZEZNACZONA DO UŻYTKU PRODUKCYJNEGO."
|
||||
|
||||
|
@ -958,36 +973,26 @@ msgstr "%s: Błędna nazwa opcji"
|
|||
msgid "%s: Invalid option value"
|
||||
msgstr "%s: Błędna wartość opcji"
|
||||
|
||||
#: src/xz/options.c:286
|
||||
#: src/xz/options.c:247
|
||||
#, c-format
|
||||
msgid "Unsupported LZMA1/LZMA2 preset: %s"
|
||||
msgstr "Nieobsługiwane ustawienie predefiniowane LZMA1/LZMA2: %s"
|
||||
|
||||
#: src/xz/options.c:394
|
||||
#: src/xz/options.c:355
|
||||
msgid "The sum of lc and lp must not exceed 4"
|
||||
msgstr "Suma lc i lp nie może przekroczyć 4"
|
||||
|
||||
#: src/xz/options.c:398
|
||||
#, c-format
|
||||
msgid "The selected match finder requires at least nice=%<PRIu32>"
|
||||
msgstr "Wybrany dopasowywacz wymaga przynajmniej nice=%<PRIu32>"
|
||||
|
||||
#: src/xz/suffix.c:134 src/xz/suffix.c:265
|
||||
#, c-format
|
||||
msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "%s: Przy --format=raw i zapisie do pliku wymagana jest opcja --suffix=.ROZ"
|
||||
|
||||
#: src/xz/suffix.c:165
|
||||
#: src/xz/suffix.c:160
|
||||
#, c-format
|
||||
msgid "%s: Filename has an unknown suffix, skipping"
|
||||
msgstr "%s: Nazwa pliku ma nieznane rozszerzenie, pominięto"
|
||||
|
||||
#: src/xz/suffix.c:186
|
||||
#: src/xz/suffix.c:181
|
||||
#, c-format
|
||||
msgid "%s: File already has `%s' suffix, skipping"
|
||||
msgstr "%s: Plik już ma rozszerzenie `%s', pominięto"
|
||||
|
||||
#: src/xz/suffix.c:402
|
||||
#: src/xz/suffix.c:388
|
||||
#, c-format
|
||||
msgid "%s: Invalid filename suffix"
|
||||
msgstr "%s: Błędne rozszerzenie nazwy pliku"
|
||||
|
|
603
po/pt_BR.po
603
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
227
po/ro.po
227
po/ro.po
|
@ -2,21 +2,24 @@
|
|||
# Mesajele în limba română pentru pachetul xz.
|
||||
# This file is put in the public domain.
|
||||
#
|
||||
# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022.
|
||||
# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 = 2023.
|
||||
#
|
||||
# Cronologia traducerii fișierului „xz”:
|
||||
# Traducerea inițială, făcută de R-GC, pentru versiunea xz 5.2.5.
|
||||
# Actualizare a traducerii pentru versiunea 5.2.6 (nepublicată în TP), făcută de R-GC, 2022.
|
||||
# Actualizare a algoritmului formelor de plural (de la „trei” la „patru” experimental).
|
||||
# Actualizare a traducerii pentru versiunea 5.4.0-pre1, făcută de R-GC, 2022.
|
||||
# Actualizare a traducerii pentru versiunea 5.4.0-pre2, făcută de R-GC, 2022.
|
||||
# Actualizare a traducerii pentru versiunea 5.4.0-pre1, făcută de R-GC, noi-2022.
|
||||
# Actualizare a traducerii pentru versiunea 5.4.0-pre2, făcută de R-GC, dec-2022.
|
||||
# Actualizare a traducerii pentru versiunea 5.4.3, făcută de R-GC, mai-2023.
|
||||
# Actualizare a traducerii pentru versiunea 5.4.4-pre1, făcută de R-GC, iul-2023.
|
||||
# Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul).
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: xz 5.4.0-pre2\n"
|
||||
"Project-Id-Version: xz 5.4.4-pre1\n"
|
||||
"Report-Msgid-Bugs-To: xz@tukaani.org\n"
|
||||
"POT-Creation-Date: 2022-12-03 00:34+0800\n"
|
||||
"PO-Revision-Date: 2022-12-05 16:11+0100\n"
|
||||
"POT-Creation-Date: 2023-07-18 23:34+0800\n"
|
||||
"PO-Revision-Date: 2023-07-19 19:34+0200\n"
|
||||
"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
|
||||
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
|
||||
"Language: ro\n"
|
||||
|
@ -25,53 +28,68 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=((n==1) ? 0 : (n==2) ? 1 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 2 : 3);\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"X-Generator: Poedit 3.1.1\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#: src/xz/args.c:64
|
||||
#: src/xz/args.c:77
|
||||
#, c-format
|
||||
msgid "%s: Invalid argument to --block-list"
|
||||
msgstr "%s: Argument nevalid pentru opțiunea „--block-list”"
|
||||
|
||||
#: src/xz/args.c:74
|
||||
#: src/xz/args.c:87
|
||||
#, c-format
|
||||
msgid "%s: Too many arguments to --block-list"
|
||||
msgstr "%s: Prea multe argumente pentru opțiunea „--block-list”"
|
||||
|
||||
#: src/xz/args.c:103
|
||||
#: src/xz/args.c:116
|
||||
msgid "0 can only be used as the last element in --block-list"
|
||||
msgstr "0 poate fi folosit doar ca ultimul element din opțiunea „--block-list”"
|
||||
|
||||
#: src/xz/args.c:436
|
||||
#: src/xz/args.c:451
|
||||
#, c-format
|
||||
msgid "%s: Unknown file format type"
|
||||
msgstr "%s: Tip de format de fișier necunoscut"
|
||||
|
||||
#: src/xz/args.c:459 src/xz/args.c:467
|
||||
#: src/xz/args.c:474 src/xz/args.c:482
|
||||
#, c-format
|
||||
msgid "%s: Unsupported integrity check type"
|
||||
msgstr "%s: Tip de verificare a integrității neacceptat"
|
||||
|
||||
#: src/xz/args.c:503
|
||||
#: src/xz/args.c:518
|
||||
msgid "Only one file can be specified with `--files' or `--files0'."
|
||||
msgstr "Numai un fișier poate fi specificat cu „--files” sau „--files0”."
|
||||
|
||||
#: src/xz/args.c:571
|
||||
#. TRANSLATORS: This is a translatable
|
||||
#. string because French needs a space
|
||||
#. before the colon ("%s : %s").
|
||||
#: src/xz/args.c:533 src/xz/coder.c:691 src/xz/coder.c:707 src/xz/coder.c:967
|
||||
#: src/xz/coder.c:970 src/xz/file_io.c:605 src/xz/file_io.c:679
|
||||
#: src/xz/file_io.c:769 src/xz/file_io.c:940 src/xz/list.c:369
|
||||
#: src/xz/list.c:415 src/xz/list.c:477 src/xz/list.c:581 src/xz/list.c:590
|
||||
#, c-format
|
||||
msgid "%s: %s"
|
||||
msgstr "%s: %s"
|
||||
|
||||
#: src/xz/args.c:589
|
||||
#, c-format
|
||||
msgid "The environment variable %s contains too many arguments"
|
||||
msgstr "Variabila de mediu „%s” conține prea multe argumente"
|
||||
|
||||
#: src/xz/args.c:673
|
||||
#: src/xz/args.c:691
|
||||
msgid "Compression support was disabled at build time"
|
||||
msgstr "Suportul de comprimare a fost dezactivat în timpul construirii"
|
||||
|
||||
#: src/xz/args.c:680
|
||||
#: src/xz/args.c:698
|
||||
msgid "Decompression support was disabled at build time"
|
||||
msgstr "Suportul de decomprimare a fost dezactivat în timpul construirii"
|
||||
|
||||
#: src/xz/args.c:686
|
||||
#: src/xz/args.c:704
|
||||
msgid "Compression of lzip files (.lz) is not supported"
|
||||
msgstr "Comprimarea fișierelor lzip (.lz) nu este acceptată"
|
||||
|
||||
#: src/xz/args.c:735
|
||||
msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "Cu --format=raw, este necesar --suffix=.SUF, cu excepția cazului în care se scrie la ieșirea standard(stdout)"
|
||||
|
||||
#: src/xz/coder.c:115
|
||||
msgid "Maximum number of filters is four"
|
||||
msgstr "Numărul maxim de filtre este patru"
|
||||
|
@ -152,13 +170,13 @@ msgstr "S-a ajustat dimensiunea dicționarului LZMA%c de la %sMio la %sMio pentr
|
|||
#: src/xz/file_io.c:110 src/xz/file_io.c:118
|
||||
#, c-format
|
||||
msgid "Error creating a pipe: %s"
|
||||
msgstr "Eroare la crearea unui racord(pipe): %s"
|
||||
msgstr "Eroare la crearea unei conducte(pipe): %s"
|
||||
|
||||
#: src/xz/file_io.c:235
|
||||
#: src/xz/file_io.c:252
|
||||
msgid "Failed to enable the sandbox"
|
||||
msgstr "Nu s-a reușit activarea cutiei de probă(sandbox)"
|
||||
|
||||
#: src/xz/file_io.c:277
|
||||
#: src/xz/file_io.c:294
|
||||
#, c-format
|
||||
msgid "%s: poll() failed: %s"
|
||||
msgstr "%s: poll() a eșuat: %s"
|
||||
|
@ -173,111 +191,111 @@ msgstr "%s: poll() a eșuat: %s"
|
|||
#. 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:344
|
||||
#: src/xz/file_io.c:361
|
||||
#, c-format
|
||||
msgid "%s: File seems to have been moved, not removing"
|
||||
msgstr "%s: Fișierul pare să fi fost mutat, nu eliminat"
|
||||
|
||||
#: src/xz/file_io.c:351 src/xz/file_io.c:907
|
||||
#: src/xz/file_io.c:368 src/xz/file_io.c:924
|
||||
#, c-format
|
||||
msgid "%s: Cannot remove: %s"
|
||||
msgstr "%s: Nu se poate elimina: %s"
|
||||
|
||||
#: src/xz/file_io.c:377
|
||||
#: src/xz/file_io.c:394
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file owner: %s"
|
||||
msgstr "%s: Nu se poate configura proprietarul fișierului: %s"
|
||||
|
||||
#: src/xz/file_io.c:390
|
||||
#: src/xz/file_io.c:407
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file group: %s"
|
||||
msgstr "%s: Nu se poate configura grupul proprietar al fișierului: %s"
|
||||
|
||||
#: src/xz/file_io.c:409
|
||||
#: src/xz/file_io.c:426
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file permissions: %s"
|
||||
msgstr "%s: Nu se pot configura permisiunile fișierului: %s"
|
||||
|
||||
#: src/xz/file_io.c:535
|
||||
#: src/xz/file_io.c:552
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard input: %s"
|
||||
msgstr "Eroare la obținerea indicatorilor de stare a fișierului de la intrarea standard: %s"
|
||||
|
||||
#: src/xz/file_io.c:593 src/xz/file_io.c:655
|
||||
#: src/xz/file_io.c:610 src/xz/file_io.c:672
|
||||
#, c-format
|
||||
msgid "%s: Is a symbolic link, skipping"
|
||||
msgstr "%s: Este o legătură simbolică, se omite"
|
||||
|
||||
#: src/xz/file_io.c:684
|
||||
#: src/xz/file_io.c:701
|
||||
#, c-format
|
||||
msgid "%s: Is a directory, skipping"
|
||||
msgstr "%s: Este un director, se omite"
|
||||
|
||||
#: src/xz/file_io.c:690
|
||||
#: src/xz/file_io.c:707
|
||||
#, c-format
|
||||
msgid "%s: Not a regular file, skipping"
|
||||
msgstr "%s: Nu este un fișier obișnuit, se omite"
|
||||
|
||||
#: src/xz/file_io.c:707
|
||||
#: src/xz/file_io.c:724
|
||||
#, c-format
|
||||
msgid "%s: File has setuid or setgid bit set, skipping"
|
||||
msgstr "%s: Fișierul are activați biții «setuid» sau «setgid», se omite"
|
||||
|
||||
#: src/xz/file_io.c:714
|
||||
#: src/xz/file_io.c:731
|
||||
#, c-format
|
||||
msgid "%s: File has sticky bit set, skipping"
|
||||
msgstr "%s: Fișierul are activat bitul lipicios(sticky), se omite"
|
||||
|
||||
#: src/xz/file_io.c:721
|
||||
#: src/xz/file_io.c:738
|
||||
#, c-format
|
||||
msgid "%s: Input file has more than one hard link, skipping"
|
||||
msgstr "%s: Fișierul de intrare are mai mult de o legătură dură, se omite"
|
||||
|
||||
#: src/xz/file_io.c:763
|
||||
#: src/xz/file_io.c:780
|
||||
msgid "Empty filename, skipping"
|
||||
msgstr "Numele fișierului este gol, se omite"
|
||||
|
||||
#: src/xz/file_io.c:817
|
||||
#: src/xz/file_io.c:834
|
||||
#, c-format
|
||||
msgid "Error restoring the status flags to standard input: %s"
|
||||
msgstr "Eroare la restabilirea indicatorilor de stare la intrarea standard: %s"
|
||||
|
||||
#: src/xz/file_io.c:865
|
||||
#: src/xz/file_io.c:882
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard output: %s"
|
||||
msgstr "Eroare la obținerea indicatorilor de stare a fișierului de la ieșirea standard: %s"
|
||||
|
||||
#: src/xz/file_io.c:1043
|
||||
#: src/xz/file_io.c:1060
|
||||
#, c-format
|
||||
msgid "Error restoring the O_APPEND flag to standard output: %s"
|
||||
msgstr "Eroare la restabilirea indicatorului O_APPEND la ieșirea standard: %s"
|
||||
|
||||
#: src/xz/file_io.c:1055
|
||||
#: src/xz/file_io.c:1072
|
||||
#, c-format
|
||||
msgid "%s: Closing the file failed: %s"
|
||||
msgstr "%s: Închiderea fișierului a eșuat: %s"
|
||||
|
||||
#: src/xz/file_io.c:1091 src/xz/file_io.c:1354
|
||||
#: src/xz/file_io.c:1108 src/xz/file_io.c:1371
|
||||
#, c-format
|
||||
msgid "%s: Seeking failed when trying to create a sparse file: %s"
|
||||
msgstr "%s: Căutarea a eșuat când se încerca crearea unui fișier dispers(sparse): %s"
|
||||
|
||||
#: src/xz/file_io.c:1192
|
||||
#: src/xz/file_io.c:1209
|
||||
#, c-format
|
||||
msgid "%s: Read error: %s"
|
||||
msgstr "%s: Eroare de citire: %s"
|
||||
|
||||
#: src/xz/file_io.c:1222
|
||||
#: src/xz/file_io.c:1239
|
||||
#, c-format
|
||||
msgid "%s: Error seeking the file: %s"
|
||||
msgstr "%s: Eroare la căutarea fișierului: %s"
|
||||
|
||||
#: src/xz/file_io.c:1246
|
||||
#: src/xz/file_io.c:1263
|
||||
#, c-format
|
||||
msgid "%s: Unexpected end of file"
|
||||
msgstr "%s: Sfârșit neașteptat al fișierului"
|
||||
|
||||
#: src/xz/file_io.c:1305
|
||||
#: src/xz/file_io.c:1322
|
||||
#, c-format
|
||||
msgid "%s: Write error: %s"
|
||||
msgstr "%s: Eroare de scriere: %s"
|
||||
|
@ -504,26 +522,26 @@ msgstr "%s: Prea mic pentru a fi un fișier .xz valid"
|
|||
#. 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:730
|
||||
#: src/xz/list.c:731
|
||||
msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename"
|
||||
msgstr "Fluxuri Blocuri Comprimare Decomprimare Raport Verificare Nume fișier"
|
||||
|
||||
#: src/xz/list.c:1025 src/xz/list.c:1203
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "Yes"
|
||||
msgstr "Da"
|
||||
|
||||
#: src/xz/list.c:1025 src/xz/list.c:1203
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "No"
|
||||
msgstr "Nu"
|
||||
|
||||
#: src/xz/list.c:1027 src/xz/list.c:1205
|
||||
#: src/xz/list.c:1028 src/xz/list.c:1206
|
||||
#, c-format
|
||||
msgid " Minimum XZ Utils version: %s\n"
|
||||
msgstr " Versiunea minimă XZ Utils: %s\n"
|
||||
|
||||
#. 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:1178
|
||||
#: src/xz/list.c:1179
|
||||
#, c-format
|
||||
msgid "%s file\n"
|
||||
msgid_plural "%s files\n"
|
||||
|
@ -532,15 +550,15 @@ msgstr[1] "două fișiere\n"
|
|||
msgstr[2] "%s fișiere\n"
|
||||
msgstr[3] "%s de fișiere\n"
|
||||
|
||||
#: src/xz/list.c:1191
|
||||
#: src/xz/list.c:1192
|
||||
msgid "Totals:"
|
||||
msgstr "Totaluri:"
|
||||
|
||||
#: src/xz/list.c:1269
|
||||
#: src/xz/list.c:1270
|
||||
msgid "--list works only on .xz files (--format=xz or --format=auto)"
|
||||
msgstr "--list funcționează numai pe fișierele .xz (--format=xz sau --format=auto)"
|
||||
|
||||
#: src/xz/list.c:1275
|
||||
#: src/xz/list.c:1276
|
||||
msgid "--list does not support reading from standard input"
|
||||
msgstr "--list nu acceptă citirea de la intrarea standard"
|
||||
|
||||
|
@ -579,68 +597,68 @@ msgstr "Nu se pot citi date de la intrarea standard atunci când se citesc numel
|
|||
#. 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:725
|
||||
#: src/xz/message.c:670 src/xz/message.c:725
|
||||
#, c-format
|
||||
msgid "%s: "
|
||||
msgstr "%s: "
|
||||
|
||||
#: src/xz/message.c:788 src/xz/message.c:847
|
||||
#: src/xz/message.c:797 src/xz/message.c:856
|
||||
msgid "Internal error (bug)"
|
||||
msgstr "Eroare internă (bug)"
|
||||
|
||||
#: src/xz/message.c:795
|
||||
#: src/xz/message.c:804
|
||||
msgid "Cannot establish signal handlers"
|
||||
msgstr "Nu se pot stabili operatorii de semnal"
|
||||
|
||||
#: src/xz/message.c:804
|
||||
#: src/xz/message.c:813
|
||||
msgid "No integrity check; not verifying file integrity"
|
||||
msgstr "Fără verificare a integrității; nu se verifică integritatea fișierului"
|
||||
|
||||
#: src/xz/message.c:807
|
||||
#: src/xz/message.c:816
|
||||
msgid "Unsupported type of integrity check; not verifying file integrity"
|
||||
msgstr "Tip neacceptat de verificare a integrității; nu se verifică integritatea fișierului"
|
||||
|
||||
#: src/xz/message.c:814
|
||||
#: src/xz/message.c:823
|
||||
msgid "Memory usage limit reached"
|
||||
msgstr "Limita de utilizare a memoriei a fost atinsă"
|
||||
|
||||
#: src/xz/message.c:817
|
||||
#: src/xz/message.c:826
|
||||
msgid "File format not recognized"
|
||||
msgstr "Formatul fișierului nu este recunoscut"
|
||||
|
||||
#: src/xz/message.c:820
|
||||
#: src/xz/message.c:829
|
||||
msgid "Unsupported options"
|
||||
msgstr "Opțiuni neacceptate"
|
||||
|
||||
#: src/xz/message.c:823
|
||||
#: src/xz/message.c:832
|
||||
msgid "Compressed data is corrupt"
|
||||
msgstr "Datele comprimate sunt corupte"
|
||||
|
||||
#: src/xz/message.c:826
|
||||
#: src/xz/message.c:835
|
||||
msgid "Unexpected end of input"
|
||||
msgstr "Sfârșit neașteptat al intrării"
|
||||
|
||||
#: src/xz/message.c:868
|
||||
#: src/xz/message.c:877
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limiter is disabled."
|
||||
msgstr "Se necesită %s Mio de memorie. Limitarea este dezactivată."
|
||||
|
||||
#: src/xz/message.c:896
|
||||
#: src/xz/message.c:905
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limit is %s."
|
||||
msgstr "Se necesită %sMio de memorie. Limita este de %s."
|
||||
|
||||
#: src/xz/message.c:915
|
||||
#: src/xz/message.c:924
|
||||
#, c-format
|
||||
msgid "%s: Filter chain: %s\n"
|
||||
msgstr "%s: Lanț de filtre: %s\n"
|
||||
|
||||
#: src/xz/message.c:926
|
||||
#: src/xz/message.c:935
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Încercați «%s --help» pentru mai multe informații."
|
||||
|
||||
#: src/xz/message.c:952
|
||||
#: src/xz/message.c:961
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION]... [FILE]...\n"
|
||||
|
@ -651,17 +669,17 @@ msgstr ""
|
|||
"Comprimă sau decomprimă FIȘIER(e) în formatul .xz.\n"
|
||||
"\n"
|
||||
|
||||
#: src/xz/message.c:959
|
||||
#: src/xz/message.c:968
|
||||
msgid "Mandatory arguments to long options are mandatory for short options too.\n"
|
||||
msgstr ""
|
||||
"Argumentele obligatorii pentru opțiunile lungi sunt obligatorii și\n"
|
||||
"pentru opțiunile scurte.\n"
|
||||
|
||||
#: src/xz/message.c:963
|
||||
#: src/xz/message.c:972
|
||||
msgid " Operation mode:\n"
|
||||
msgstr " Mod de operare:\n"
|
||||
|
||||
#: src/xz/message.c:966
|
||||
#: src/xz/message.c:975
|
||||
msgid ""
|
||||
" -z, --compress force compression\n"
|
||||
" -d, --decompress force decompression\n"
|
||||
|
@ -673,7 +691,7 @@ msgstr ""
|
|||
" -t, --test testează integritatea fișierului comprimat\n"
|
||||
" -l, --list listează informații despre fișierele .xz"
|
||||
|
||||
#: src/xz/message.c:972
|
||||
#: src/xz/message.c:981
|
||||
msgid ""
|
||||
"\n"
|
||||
" Operation modifiers:\n"
|
||||
|
@ -681,7 +699,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Modificatori de operare:\n"
|
||||
|
||||
#: src/xz/message.c:975
|
||||
#: src/xz/message.c:984
|
||||
msgid ""
|
||||
" -k, --keep keep (don't delete) input files\n"
|
||||
" -f, --force force overwrite of output file and (de)compress links\n"
|
||||
|
@ -693,7 +711,7 @@ msgstr ""
|
|||
" -c, --stdout scrie la ieșirea standard și nu șterge fișierele de\n"
|
||||
" intrare"
|
||||
|
||||
#: src/xz/message.c:984
|
||||
#: src/xz/message.c:993
|
||||
msgid ""
|
||||
" --single-stream decompress only the first stream, and silently\n"
|
||||
" ignore possible remaining input data"
|
||||
|
@ -701,7 +719,7 @@ msgstr ""
|
|||
" --single-stream decomprimă doar primul flux și ignoră în tăcere\n"
|
||||
" posibilele date de intrare rămase"
|
||||
|
||||
#: src/xz/message.c:987
|
||||
#: src/xz/message.c:996
|
||||
msgid ""
|
||||
" --no-sparse do not create sparse files when decompressing\n"
|
||||
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
|
||||
|
@ -721,7 +739,7 @@ msgstr ""
|
|||
" ca --files, dar folosește caracterul nul(null) ca\n"
|
||||
" terminator"
|
||||
|
||||
#: src/xz/message.c:996
|
||||
#: src/xz/message.c:1005
|
||||
msgid ""
|
||||
"\n"
|
||||
" Basic file format and compression options:\n"
|
||||
|
@ -729,7 +747,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Formatul de bază al fișierului și opțiunile de comprimare:\n"
|
||||
|
||||
#: src/xz/message.c:998
|
||||
#: src/xz/message.c:1007
|
||||
msgid ""
|
||||
" -F, --format=FMT file format to encode or decode; possible values are\n"
|
||||
" `auto' (default), `xz', `lzma', `lzip', and `raw'\n"
|
||||
|
@ -745,11 +763,11 @@ msgstr ""
|
|||
" cu precauție), „crc32”, „crc64” (implicit) sau\n"
|
||||
" „sha256”"
|
||||
|
||||
#: src/xz/message.c:1003
|
||||
#: src/xz/message.c:1012
|
||||
msgid " --ignore-check don't verify the integrity check when decompressing"
|
||||
msgstr " --ignore-check nu se efectuează verificarea integrității la decomprimare"
|
||||
|
||||
#: src/xz/message.c:1007
|
||||
#: src/xz/message.c:1016
|
||||
msgid ""
|
||||
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
|
||||
" decompressor memory usage into account before using 7-9!"
|
||||
|
@ -759,7 +777,7 @@ msgstr ""
|
|||
" comprimare *și* de instrumentul de decomprimare, înainte\n"
|
||||
" de a utiliza presetările 7-9!"
|
||||
|
||||
#: src/xz/message.c:1011
|
||||
#: src/xz/message.c:1020
|
||||
msgid ""
|
||||
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
|
||||
" does not affect decompressor memory requirements"
|
||||
|
@ -768,7 +786,7 @@ msgstr ""
|
|||
" folosind mai mult timp CPU-ul; nu afectează cerințele\n"
|
||||
" de memorie ale instrumentului de decomprimare"
|
||||
|
||||
#: src/xz/message.c:1015
|
||||
#: src/xz/message.c:1024
|
||||
msgid ""
|
||||
" -T, --threads=NUM use at most NUM threads; the default is 1; set to 0\n"
|
||||
" to use as many threads as there are processor cores"
|
||||
|
@ -778,7 +796,7 @@ msgstr ""
|
|||
" este 1; specificați valoarea 0 pentru a utiliza atâtea\n"
|
||||
" fire de execuție câte nuclee de procesor există"
|
||||
|
||||
#: src/xz/message.c:1020
|
||||
#: src/xz/message.c:1029
|
||||
msgid ""
|
||||
" --block-size=SIZE\n"
|
||||
" start a new .xz block after every SIZE bytes of input;\n"
|
||||
|
@ -789,7 +807,7 @@ msgstr ""
|
|||
" utilizați acest lucru pentru a stabili dimensiunea\n"
|
||||
" blocului pentru comprimarea cu fire de execuție"
|
||||
|
||||
#: src/xz/message.c:1024
|
||||
#: src/xz/message.c:1033
|
||||
msgid ""
|
||||
" --block-list=SIZES\n"
|
||||
" start a new .xz block after the given comma-separated\n"
|
||||
|
@ -799,7 +817,7 @@ msgstr ""
|
|||
" începe un nou bloc .xz după intervalele date separate\n"
|
||||
" prin virgulă, de date necomprimate"
|
||||
|
||||
#: src/xz/message.c:1028
|
||||
#: src/xz/message.c:1037
|
||||
msgid ""
|
||||
" --flush-timeout=TIMEOUT\n"
|
||||
" when compressing, if more than TIMEOUT milliseconds has\n"
|
||||
|
@ -812,7 +830,7 @@ msgstr ""
|
|||
" multor intrări s-ar bloca, toate datele în așteptare\n"
|
||||
" sunt eliminate"
|
||||
|
||||
#: src/xz/message.c:1034
|
||||
#: src/xz/message.c:1043
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
" --memlimit-compress=LIMIT\n"
|
||||
|
@ -832,7 +850,7 @@ msgstr ""
|
|||
" execuție sau toate acestea; LIMITA este exprimată în\n"
|
||||
" octeți, % din RAM sau 0 pt. a activa valoarea implicită"
|
||||
|
||||
#: src/xz/message.c:1043
|
||||
#: src/xz/message.c:1052
|
||||
msgid ""
|
||||
" --no-adjust if compression settings exceed the memory usage limit,\n"
|
||||
" give an error instead of adjusting the settings downwards"
|
||||
|
@ -840,7 +858,7 @@ msgstr ""
|
|||
" --no-adjust dacă setările de comprimare depășesc limita de utilizare\n"
|
||||
" a memoriei, dă o eroare în loc să reducă val. stabilite"
|
||||
|
||||
#: src/xz/message.c:1049
|
||||
#: src/xz/message.c:1058
|
||||
msgid ""
|
||||
"\n"
|
||||
" Custom filter chain for compression (alternative for using presets):"
|
||||
|
@ -849,7 +867,7 @@ msgstr ""
|
|||
" Lanț de filtrare personalizat pentru comprimare (alternativă la utilizarea\n"
|
||||
" presetărilor):"
|
||||
|
||||
#: src/xz/message.c:1058
|
||||
#: src/xz/message.c:1067
|
||||
msgid ""
|
||||
"\n"
|
||||
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
|
||||
|
@ -883,7 +901,7 @@ msgstr ""
|
|||
" depth=NUM adâncimea maximă de căutare; 0=automată\n"
|
||||
" (valoarea implicită)"
|
||||
|
||||
#: src/xz/message.c:1073
|
||||
#: src/xz/message.c:1082
|
||||
msgid ""
|
||||
"\n"
|
||||
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
|
||||
|
@ -907,7 +925,7 @@ msgstr ""
|
|||
" OPȚIUNI valide pentru toate filtrele BCJ:\n"
|
||||
" start=NUM poziția de pornire a conversiilor (implicit=0)"
|
||||
|
||||
#: src/xz/message.c:1086
|
||||
#: src/xz/message.c:1095
|
||||
msgid ""
|
||||
"\n"
|
||||
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
|
||||
|
@ -919,7 +937,7 @@ msgstr ""
|
|||
" dist=NUM distanța dintre octeți fiind dedusă\n"
|
||||
" scăzând un octet din celălalt (1-256; 1)"
|
||||
|
||||
#: src/xz/message.c:1094
|
||||
#: src/xz/message.c:1103
|
||||
msgid ""
|
||||
"\n"
|
||||
" Other options:\n"
|
||||
|
@ -927,7 +945,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Alte opțiuni:\n"
|
||||
|
||||
#: src/xz/message.c:1097
|
||||
#: src/xz/message.c:1106
|
||||
msgid ""
|
||||
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
|
||||
" -v, --verbose be verbose; specify twice for even more verbose"
|
||||
|
@ -937,17 +955,17 @@ msgstr ""
|
|||
" -v, --verbose descriere detaliată; specificați de două ori pentru și\n"
|
||||
" mai multe detalii"
|
||||
|
||||
#: src/xz/message.c:1102
|
||||
#: src/xz/message.c:1111
|
||||
msgid " -Q, --no-warn make warnings not affect the exit status"
|
||||
msgstr " -Q, --no-warn face ca avertismentele să nu afecteze starea de ieșire"
|
||||
|
||||
#: src/xz/message.c:1104
|
||||
#: src/xz/message.c:1113
|
||||
msgid " --robot use machine-parsable messages (useful for scripts)"
|
||||
msgstr ""
|
||||
" --robot utilizează mesaje analizabile de mașină (utile pentru\n"
|
||||
" scripturi)"
|
||||
|
||||
#: src/xz/message.c:1107
|
||||
#: src/xz/message.c:1116
|
||||
msgid ""
|
||||
" --info-memory display the total amount of RAM and the currently active\n"
|
||||
" memory usage limits, and exit"
|
||||
|
@ -955,7 +973,7 @@ msgstr ""
|
|||
" --info-memory afișează cantitatea totală de memorie RAM și limitele de\n"
|
||||
" utilizare a memoriei active în prezent, și iese"
|
||||
|
||||
#: src/xz/message.c:1110
|
||||
#: src/xz/message.c:1119
|
||||
msgid ""
|
||||
" -h, --help display the short help (lists only the basic options)\n"
|
||||
" -H, --long-help display this long help and exit"
|
||||
|
@ -963,7 +981,7 @@ msgstr ""
|
|||
" -h, --help afișează ajutorul scurt (enumeră doar opțiunile de bază)\n"
|
||||
" -H, --long-help afișează acest ajutor lung(detaliat) și iese"
|
||||
|
||||
#: src/xz/message.c:1114
|
||||
#: src/xz/message.c:1123
|
||||
msgid ""
|
||||
" -h, --help display this short help and exit\n"
|
||||
" -H, --long-help display the long help (lists also the advanced options)"
|
||||
|
@ -972,11 +990,11 @@ msgstr ""
|
|||
" -H, --long-help afișează mesajul detaliat de ajutor (afișează și opțiunile\n"
|
||||
" avansate)"
|
||||
|
||||
#: src/xz/message.c:1119
|
||||
#: src/xz/message.c:1128
|
||||
msgid " -V, --version display the version number and exit"
|
||||
msgstr " -V, --version afișează numărul versiunii, și iese"
|
||||
|
||||
#: src/xz/message.c:1121
|
||||
#: src/xz/message.c:1130
|
||||
msgid ""
|
||||
"\n"
|
||||
"With no FILE, or when FILE is -, read standard input.\n"
|
||||
|
@ -988,19 +1006,19 @@ 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:1127
|
||||
#: src/xz/message.c:1136
|
||||
#, c-format
|
||||
msgid "Report bugs to <%s> (in English or Finnish).\n"
|
||||
msgstr ""
|
||||
"Raportați erorile la <%s> (în engleză sau finlandeză).\n"
|
||||
"Raportați erorile de traducere la <translation-team-ro@lists.sourceforge.net>\n"
|
||||
|
||||
#: src/xz/message.c:1129
|
||||
#: src/xz/message.c:1138
|
||||
#, c-format
|
||||
msgid "%s home page: <%s>\n"
|
||||
msgstr "Pagina principală a %s: <%s>\n"
|
||||
|
||||
#: src/xz/message.c:1133
|
||||
#: src/xz/message.c:1142
|
||||
msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE."
|
||||
msgstr "ACEASTA ESTE O VERSIUNE DE DEZVOLTARE, NEDESTINATĂ UTILIZĂRII ÎN PRODUCȚIE."
|
||||
|
||||
|
@ -1028,22 +1046,17 @@ msgstr "Presetare LZMA1/LZMA2 neacceptată: %s"
|
|||
msgid "The sum of lc and lp must not exceed 4"
|
||||
msgstr "Suma de lc și lp nu trebuie să depășească 4"
|
||||
|
||||
#: src/xz/suffix.c:134 src/xz/suffix.c:265
|
||||
#, c-format
|
||||
msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "%s: Cu --format=raw, este necesar --suffix=.SUF, cu excepția cazului în care se scrie la ieșirea standard(stdout)"
|
||||
|
||||
#: src/xz/suffix.c:165
|
||||
#: src/xz/suffix.c:160
|
||||
#, c-format
|
||||
msgid "%s: Filename has an unknown suffix, skipping"
|
||||
msgstr "%s: Numele fișierului are un sufix necunoscut, care se omite"
|
||||
|
||||
#: src/xz/suffix.c:186
|
||||
#: src/xz/suffix.c:181
|
||||
#, c-format
|
||||
msgid "%s: File already has `%s' suffix, skipping"
|
||||
msgstr "%s: Fișierul are deja sufixul „%s”, se omite"
|
||||
|
||||
#: src/xz/suffix.c:402
|
||||
#: src/xz/suffix.c:388
|
||||
#, c-format
|
||||
msgid "%s: Invalid filename suffix"
|
||||
msgstr "%s: Sufixul numelui de fișier nu este valid"
|
||||
|
|
332
po/sv.po
332
po/sv.po
|
@ -1,14 +1,14 @@
|
|||
# Swedish messages for xz.
|
||||
# This file is put in the public domain.
|
||||
# Sebastian Rasmussen <sebras@gmail.com>, 2019.
|
||||
# Luna Jernberg <droidbittin@gmail.com>, 2022.
|
||||
# Luna Jernberg <droidbittin@gmail.com>, 2022, 2023.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: xz 5.4.0-pre1\n"
|
||||
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
|
||||
"POT-Creation-Date: 2022-11-09 19:59+0200\n"
|
||||
"PO-Revision-Date: 2022-11-14 19:08+0100\n"
|
||||
"Project-Id-Version: xz 5.4.4-pre1\n"
|
||||
"Report-Msgid-Bugs-To: xz@tukaani.org\n"
|
||||
"POT-Creation-Date: 2023-07-18 23:34+0800\n"
|
||||
"PO-Revision-Date: 2023-07-19 20:25+0200\n"
|
||||
"Last-Translator: Luna Jernberg <droidbittin@gmail.com>\n"
|
||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||
"Language: sv\n"
|
||||
|
@ -17,54 +17,69 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"X-Generator: Poedit 3.2.1\n"
|
||||
"X-Generator: Poedit 3.3.2\n"
|
||||
"X-Poedit-Bookmarks: -1,10,-1,-1,-1,-1,-1,-1,-1,-1\n"
|
||||
|
||||
#: src/xz/args.c:64
|
||||
#: src/xz/args.c:77
|
||||
#, c-format
|
||||
msgid "%s: Invalid argument to --block-list"
|
||||
msgstr "%s: Ogiltigt argument till --block-list"
|
||||
|
||||
#: src/xz/args.c:74
|
||||
#: src/xz/args.c:87
|
||||
#, c-format
|
||||
msgid "%s: Too many arguments to --block-list"
|
||||
msgstr "%s: För många argument till --block-list"
|
||||
|
||||
#: src/xz/args.c:103
|
||||
#: src/xz/args.c:116
|
||||
msgid "0 can only be used as the last element in --block-list"
|
||||
msgstr "0 kan endast användas som det sista elementet i --block-list"
|
||||
|
||||
#: src/xz/args.c:424
|
||||
#: src/xz/args.c:451
|
||||
#, c-format
|
||||
msgid "%s: Unknown file format type"
|
||||
msgstr "%s: Okänd filformatstyp"
|
||||
|
||||
#: src/xz/args.c:447 src/xz/args.c:455
|
||||
#: src/xz/args.c:474 src/xz/args.c:482
|
||||
#, c-format
|
||||
msgid "%s: Unsupported integrity check type"
|
||||
msgstr "%s: Integritetskontrolltyp stöds inte"
|
||||
|
||||
#: src/xz/args.c:491
|
||||
#: src/xz/args.c:518
|
||||
msgid "Only one file can be specified with `--files' or `--files0'."
|
||||
msgstr "Endast en fil kan anges med ”--files” eller ”--files0”."
|
||||
|
||||
#: src/xz/args.c:559
|
||||
#. TRANSLATORS: This is a translatable
|
||||
#. string because French needs a space
|
||||
#. before the colon ("%s : %s").
|
||||
#: src/xz/args.c:533 src/xz/coder.c:691 src/xz/coder.c:707 src/xz/coder.c:967
|
||||
#: src/xz/coder.c:970 src/xz/file_io.c:605 src/xz/file_io.c:679
|
||||
#: src/xz/file_io.c:769 src/xz/file_io.c:940 src/xz/list.c:369
|
||||
#: src/xz/list.c:415 src/xz/list.c:477 src/xz/list.c:581 src/xz/list.c:590
|
||||
#, c-format
|
||||
msgid "%s: %s"
|
||||
msgstr "%s: %s"
|
||||
|
||||
#: src/xz/args.c:589
|
||||
#, c-format
|
||||
msgid "The environment variable %s contains too many arguments"
|
||||
msgstr "Miljövariabeln %s innehåller för många argument"
|
||||
|
||||
#: src/xz/args.c:661
|
||||
#: src/xz/args.c:691
|
||||
msgid "Compression support was disabled at build time"
|
||||
msgstr "Komprimeringsstöd inaktiverades vid byggtid"
|
||||
|
||||
#: src/xz/args.c:668
|
||||
#: src/xz/args.c:698
|
||||
msgid "Decompression support was disabled at build time"
|
||||
msgstr "Dekomprimeringsstöd inaktiverades vid byggtid"
|
||||
|
||||
#: src/xz/args.c:674
|
||||
#: src/xz/args.c:704
|
||||
msgid "Compression of lzip files (.lz) is not supported"
|
||||
msgstr "Komprimering av lzip-filer (.lz) stöds inte"
|
||||
|
||||
#: src/xz/args.c:735
|
||||
msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "Med --format=raw, --suffix=.SUF krävs om data inte skrivs till standard ut"
|
||||
|
||||
#: src/xz/coder.c:115
|
||||
msgid "Maximum number of filters is four"
|
||||
msgstr "Maximalt antal filter är fyra"
|
||||
|
@ -136,11 +151,11 @@ msgstr "Justerade storlek för LZMA%c-lexikon från %s MiB till %s MiB för att
|
|||
msgid "Error creating a pipe: %s"
|
||||
msgstr "Fel vid skapande av rörledning: %s"
|
||||
|
||||
#: src/xz/file_io.c:235
|
||||
#: src/xz/file_io.c:252
|
||||
msgid "Failed to enable the sandbox"
|
||||
msgstr "Misslyckades med att aktivera sandlådan"
|
||||
|
||||
#: src/xz/file_io.c:277
|
||||
#: src/xz/file_io.c:294
|
||||
#, c-format
|
||||
msgid "%s: poll() failed: %s"
|
||||
msgstr "%s: poll() misslyckades: %s"
|
||||
|
@ -155,252 +170,252 @@ msgstr "%s: poll() misslyckades: %s"
|
|||
#. 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:344
|
||||
#: src/xz/file_io.c:361
|
||||
#, c-format
|
||||
msgid "%s: File seems to have been moved, not removing"
|
||||
msgstr "%s: Filen verkar ha flyttats, tar inte bort"
|
||||
|
||||
#: src/xz/file_io.c:351 src/xz/file_io.c:907
|
||||
#: src/xz/file_io.c:368 src/xz/file_io.c:924
|
||||
#, c-format
|
||||
msgid "%s: Cannot remove: %s"
|
||||
msgstr "%s: Kan inte ta bort: %s"
|
||||
|
||||
#: src/xz/file_io.c:377
|
||||
#: src/xz/file_io.c:394
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file owner: %s"
|
||||
msgstr "%s: Kan inte sätta filägaren: %s"
|
||||
|
||||
#: src/xz/file_io.c:390
|
||||
#: src/xz/file_io.c:407
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file group: %s"
|
||||
msgstr "%s: Kan inte sätta filgruppen: %s"
|
||||
|
||||
#: src/xz/file_io.c:409
|
||||
#: src/xz/file_io.c:426
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file permissions: %s"
|
||||
msgstr "%s: Kan inte sätta filrättigheterna: %s"
|
||||
|
||||
#: src/xz/file_io.c:535
|
||||
#: src/xz/file_io.c:552
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard input: %s"
|
||||
msgstr "Fel vid hämtning av filstatusflaggor från standard in: %s"
|
||||
|
||||
#: src/xz/file_io.c:593 src/xz/file_io.c:655
|
||||
#: src/xz/file_io.c:610 src/xz/file_io.c:672
|
||||
#, c-format
|
||||
msgid "%s: Is a symbolic link, skipping"
|
||||
msgstr "%s: Är en symbolisk länk, hoppar över"
|
||||
|
||||
#: src/xz/file_io.c:684
|
||||
#: src/xz/file_io.c:701
|
||||
#, c-format
|
||||
msgid "%s: Is a directory, skipping"
|
||||
msgstr "%s: Är en katalog, hoppar över"
|
||||
|
||||
#: src/xz/file_io.c:690
|
||||
#: src/xz/file_io.c:707
|
||||
#, c-format
|
||||
msgid "%s: Not a regular file, skipping"
|
||||
msgstr "%s: Är inte en vanlig fil, hoppar över"
|
||||
|
||||
#: src/xz/file_io.c:707
|
||||
#: src/xz/file_io.c:724
|
||||
#, c-format
|
||||
msgid "%s: File has setuid or setgid bit set, skipping"
|
||||
msgstr "%s: Filen har setuid- eller setgid-biten satt, hoppar över"
|
||||
|
||||
#: src/xz/file_io.c:714
|
||||
#: src/xz/file_io.c:731
|
||||
#, c-format
|
||||
msgid "%s: File has sticky bit set, skipping"
|
||||
msgstr "%s: Filen har stickybiten satt, hoppar över"
|
||||
|
||||
#: src/xz/file_io.c:721
|
||||
#: src/xz/file_io.c:738
|
||||
#, c-format
|
||||
msgid "%s: Input file has more than one hard link, skipping"
|
||||
msgstr "%s: Indatafilen har mer än en hårdlänk, hoppar över"
|
||||
|
||||
#: src/xz/file_io.c:763
|
||||
#: src/xz/file_io.c:780
|
||||
msgid "Empty filename, skipping"
|
||||
msgstr "Tomt filnamn, hoppar över"
|
||||
|
||||
#: src/xz/file_io.c:817
|
||||
#: src/xz/file_io.c:834
|
||||
#, c-format
|
||||
msgid "Error restoring the status flags to standard input: %s"
|
||||
msgstr "Fel vid återställning av statusflaggorna för standard in: %s"
|
||||
|
||||
#: src/xz/file_io.c:865
|
||||
#: src/xz/file_io.c:882
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard output: %s"
|
||||
msgstr "Fel vid hämtning av filstatusflaggorna från standard ut: %s"
|
||||
|
||||
#: src/xz/file_io.c:1043
|
||||
#: src/xz/file_io.c:1060
|
||||
#, c-format
|
||||
msgid "Error restoring the O_APPEND flag to standard output: %s"
|
||||
msgstr "Fel vid återställning av O_APPEND-flaggan till standard ut: %s"
|
||||
|
||||
#: src/xz/file_io.c:1055
|
||||
#: src/xz/file_io.c:1072
|
||||
#, c-format
|
||||
msgid "%s: Closing the file failed: %s"
|
||||
msgstr "%s: Stängning av filen misslyckades: %s"
|
||||
|
||||
#: src/xz/file_io.c:1091 src/xz/file_io.c:1354
|
||||
#: src/xz/file_io.c:1108 src/xz/file_io.c:1371
|
||||
#, c-format
|
||||
msgid "%s: Seeking failed when trying to create a sparse file: %s"
|
||||
msgstr "%s: Sökning misslyckades vid skapande av gles fil: %s"
|
||||
|
||||
#: src/xz/file_io.c:1192
|
||||
#: src/xz/file_io.c:1209
|
||||
#, c-format
|
||||
msgid "%s: Read error: %s"
|
||||
msgstr "%s: Läsfel: %s"
|
||||
|
||||
#: src/xz/file_io.c:1222
|
||||
#: src/xz/file_io.c:1239
|
||||
#, c-format
|
||||
msgid "%s: Error seeking the file: %s"
|
||||
msgstr "%s: Fel vid sökning i fil: %s"
|
||||
|
||||
#: src/xz/file_io.c:1246
|
||||
#: src/xz/file_io.c:1263
|
||||
#, c-format
|
||||
msgid "%s: Unexpected end of file"
|
||||
msgstr "%s: Oväntat filslut"
|
||||
|
||||
#: src/xz/file_io.c:1305
|
||||
#: src/xz/file_io.c:1322
|
||||
#, c-format
|
||||
msgid "%s: Write error: %s"
|
||||
msgstr "%s: Skrivfel: %s"
|
||||
|
||||
#: src/xz/hardware.c:225
|
||||
#: src/xz/hardware.c:238
|
||||
msgid "Disabled"
|
||||
msgstr "Inaktiverad"
|
||||
|
||||
#: src/xz/hardware.c:256
|
||||
#: src/xz/hardware.c:269
|
||||
msgid "Amount of physical memory (RAM):"
|
||||
msgstr "Totalt mängd fysiskt minne (RAM):"
|
||||
|
||||
#: src/xz/hardware.c:257
|
||||
#: src/xz/hardware.c:270
|
||||
msgid "Number of processor threads:"
|
||||
msgstr "Antal processortrådar:"
|
||||
|
||||
#: src/xz/hardware.c:258
|
||||
#: src/xz/hardware.c:271
|
||||
msgid "Compression:"
|
||||
msgstr "Komprimering:"
|
||||
|
||||
#: src/xz/hardware.c:259
|
||||
#: src/xz/hardware.c:272
|
||||
msgid "Decompression:"
|
||||
msgstr "Dekomprimering:"
|
||||
|
||||
#: src/xz/hardware.c:260
|
||||
#: src/xz/hardware.c:273
|
||||
msgid "Multi-threaded decompression:"
|
||||
msgstr "Flertrådad dekomprimering:"
|
||||
|
||||
#: src/xz/hardware.c:261
|
||||
#: src/xz/hardware.c:274
|
||||
msgid "Default for -T0:"
|
||||
msgstr "Standard för -T0:"
|
||||
|
||||
#: src/xz/hardware.c:279
|
||||
#: src/xz/hardware.c:292
|
||||
msgid "Hardware information:"
|
||||
msgstr "Hårdvaruinformation:"
|
||||
|
||||
#: src/xz/hardware.c:286
|
||||
#: src/xz/hardware.c:299
|
||||
msgid "Memory usage limits:"
|
||||
msgstr "Minnesanvändningsgränser:"
|
||||
|
||||
#: src/xz/list.c:65
|
||||
#: src/xz/list.c:68
|
||||
msgid "Streams:"
|
||||
msgstr "Strömmar:"
|
||||
|
||||
#: src/xz/list.c:66
|
||||
#: src/xz/list.c:69
|
||||
msgid "Blocks:"
|
||||
msgstr "Block:"
|
||||
|
||||
#: src/xz/list.c:67
|
||||
#: src/xz/list.c:70
|
||||
msgid "Compressed size:"
|
||||
msgstr "Komprimerad storlek:"
|
||||
|
||||
#: src/xz/list.c:68
|
||||
#: src/xz/list.c:71
|
||||
msgid "Uncompressed size:"
|
||||
msgstr "Okomprimerad storlek:"
|
||||
|
||||
#: src/xz/list.c:69
|
||||
#: src/xz/list.c:72
|
||||
msgid "Ratio:"
|
||||
msgstr "Förhållande:"
|
||||
|
||||
#: src/xz/list.c:70
|
||||
#: src/xz/list.c:73
|
||||
msgid "Check:"
|
||||
msgstr "Kontroll:"
|
||||
|
||||
#: src/xz/list.c:71
|
||||
#: src/xz/list.c:74
|
||||
msgid "Stream Padding:"
|
||||
msgstr "Strömfyllnad:"
|
||||
|
||||
#: src/xz/list.c:72
|
||||
#: src/xz/list.c:75
|
||||
msgid "Memory needed:"
|
||||
msgstr "Minne som behövs:"
|
||||
|
||||
#: src/xz/list.c:73
|
||||
#: src/xz/list.c:76
|
||||
msgid "Sizes in headers:"
|
||||
msgstr "Storlek i huvuden:"
|
||||
|
||||
#: src/xz/list.c:76
|
||||
#: src/xz/list.c:79
|
||||
msgid "Number of files:"
|
||||
msgstr "Antal filer:"
|
||||
|
||||
#: src/xz/list.c:119
|
||||
#: src/xz/list.c:122
|
||||
msgid "Stream"
|
||||
msgstr "Ström"
|
||||
|
||||
#: src/xz/list.c:120
|
||||
#: src/xz/list.c:123
|
||||
msgid "Block"
|
||||
msgstr "Block"
|
||||
|
||||
#: src/xz/list.c:121
|
||||
#: src/xz/list.c:124
|
||||
msgid "Blocks"
|
||||
msgstr "Block"
|
||||
|
||||
#: src/xz/list.c:122
|
||||
#: src/xz/list.c:125
|
||||
msgid "CompOffset"
|
||||
msgstr "Komprimerad position"
|
||||
|
||||
#: src/xz/list.c:123
|
||||
#: src/xz/list.c:126
|
||||
msgid "UncompOffset"
|
||||
msgstr "Okomprimerad position"
|
||||
|
||||
#: src/xz/list.c:124
|
||||
#: src/xz/list.c:127
|
||||
msgid "CompSize"
|
||||
msgstr "Komprimerad storlek"
|
||||
|
||||
#: src/xz/list.c:125
|
||||
#: src/xz/list.c:128
|
||||
msgid "UncompSize"
|
||||
msgstr "Okomprimerad storlek"
|
||||
|
||||
#: src/xz/list.c:126
|
||||
#: src/xz/list.c:129
|
||||
msgid "TotalSize"
|
||||
msgstr "Total storlek"
|
||||
|
||||
#: src/xz/list.c:127
|
||||
#: src/xz/list.c:130
|
||||
msgid "Ratio"
|
||||
msgstr "Förhållande"
|
||||
|
||||
#: src/xz/list.c:128
|
||||
#: src/xz/list.c:131
|
||||
msgid "Check"
|
||||
msgstr "Kontroll"
|
||||
|
||||
#: src/xz/list.c:129
|
||||
#: src/xz/list.c:132
|
||||
msgid "CheckVal"
|
||||
msgstr "Kontrollvärde"
|
||||
|
||||
#: src/xz/list.c:130
|
||||
#: src/xz/list.c:133
|
||||
msgid "Padding"
|
||||
msgstr "Fyllnad"
|
||||
|
||||
#: src/xz/list.c:131
|
||||
#: src/xz/list.c:134
|
||||
msgid "Header"
|
||||
msgstr "Huvud"
|
||||
|
||||
#: src/xz/list.c:132
|
||||
#: src/xz/list.c:135
|
||||
msgid "Flags"
|
||||
msgstr "Flaggor"
|
||||
|
||||
#: src/xz/list.c:133
|
||||
#: src/xz/list.c:136
|
||||
msgid "MemUsage"
|
||||
msgstr "Minnesanvändning"
|
||||
|
||||
#: src/xz/list.c:134
|
||||
#: src/xz/list.c:137
|
||||
msgid "Filters"
|
||||
msgstr "Filters"
|
||||
|
||||
|
@ -408,7 +423,7 @@ msgstr "Filters"
|
|||
#. This string is used in tables. In older xz version this
|
||||
#. string was limited to ten columns in a fixed-width font, but
|
||||
#. nowadays there is no strict length restriction anymore.
|
||||
#: src/xz/list.c:166
|
||||
#: src/xz/list.c:169
|
||||
msgid "None"
|
||||
msgstr "Ingen"
|
||||
|
||||
|
@ -416,60 +431,60 @@ msgstr "Ingen"
|
|||
#. but the Check ID is known (here 2). In older xz version these
|
||||
#. strings were limited to ten columns in a fixed-width font, but
|
||||
#. nowadays there is no strict length restriction anymore.
|
||||
#: src/xz/list.c:172
|
||||
#: src/xz/list.c:175
|
||||
msgid "Unknown-2"
|
||||
msgstr "Okänd-2"
|
||||
|
||||
#: src/xz/list.c:173
|
||||
#: src/xz/list.c:176
|
||||
msgid "Unknown-3"
|
||||
msgstr "Okänd-3"
|
||||
|
||||
#: src/xz/list.c:175
|
||||
#: src/xz/list.c:178
|
||||
msgid "Unknown-5"
|
||||
msgstr "Okänd-5"
|
||||
|
||||
#: src/xz/list.c:176
|
||||
#: src/xz/list.c:179
|
||||
msgid "Unknown-6"
|
||||
msgstr "Okänd-6"
|
||||
|
||||
#: src/xz/list.c:177
|
||||
#: src/xz/list.c:180
|
||||
msgid "Unknown-7"
|
||||
msgstr "Okänd-7"
|
||||
|
||||
#: src/xz/list.c:178
|
||||
#: src/xz/list.c:181
|
||||
msgid "Unknown-8"
|
||||
msgstr "Okänd-8"
|
||||
|
||||
#: src/xz/list.c:179
|
||||
#: src/xz/list.c:182
|
||||
msgid "Unknown-9"
|
||||
msgstr "Okänd-9"
|
||||
|
||||
#: src/xz/list.c:181
|
||||
#: src/xz/list.c:184
|
||||
msgid "Unknown-11"
|
||||
msgstr "Okänd-11"
|
||||
|
||||
#: src/xz/list.c:182
|
||||
#: src/xz/list.c:185
|
||||
msgid "Unknown-12"
|
||||
msgstr "Okänd-12"
|
||||
|
||||
#: src/xz/list.c:183
|
||||
#: src/xz/list.c:186
|
||||
msgid "Unknown-13"
|
||||
msgstr "Okänd-13"
|
||||
|
||||
#: src/xz/list.c:184
|
||||
#: src/xz/list.c:187
|
||||
msgid "Unknown-14"
|
||||
msgstr "Okänd-14"
|
||||
|
||||
#: src/xz/list.c:185
|
||||
#: src/xz/list.c:188
|
||||
msgid "Unknown-15"
|
||||
msgstr "Okänd-15"
|
||||
|
||||
#: src/xz/list.c:348
|
||||
#: src/xz/list.c:351
|
||||
#, c-format
|
||||
msgid "%s: File is empty"
|
||||
msgstr "%s: Fil är tom"
|
||||
|
||||
#: src/xz/list.c:353
|
||||
#: src/xz/list.c:356
|
||||
#, c-format
|
||||
msgid "%s: Too small to be a valid .xz file"
|
||||
msgstr "%s: För lite för att vara en giltig xz-fil"
|
||||
|
@ -478,41 +493,41 @@ msgstr "%s: För lite för att vara en giltig xz-fil"
|
|||
#. 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:722
|
||||
#: src/xz/list.c:731
|
||||
msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename"
|
||||
msgstr "Strmr Block Komprimerd Okomprimerd Förh. Kntrll Filnamn"
|
||||
|
||||
#: src/xz/list.c:1016 src/xz/list.c:1193
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/xz/list.c:1016 src/xz/list.c:1193
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "No"
|
||||
msgstr "Nej"
|
||||
|
||||
#: src/xz/list.c:1018 src/xz/list.c:1195
|
||||
#: src/xz/list.c:1028 src/xz/list.c:1206
|
||||
#, c-format
|
||||
msgid " Minimum XZ Utils version: %s\n"
|
||||
msgstr " Minsta XZ Utils-version: %s\n"
|
||||
|
||||
#. 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:1168
|
||||
#: src/xz/list.c:1179
|
||||
#, c-format
|
||||
msgid "%s file\n"
|
||||
msgid_plural "%s files\n"
|
||||
msgstr[0] "%s fil\n"
|
||||
msgstr[1] "%s filer\n"
|
||||
|
||||
#: src/xz/list.c:1181
|
||||
#: src/xz/list.c:1192
|
||||
msgid "Totals:"
|
||||
msgstr "Total:"
|
||||
|
||||
#: src/xz/list.c:1259
|
||||
#: src/xz/list.c:1270
|
||||
msgid "--list works only on .xz files (--format=xz or --format=auto)"
|
||||
msgstr "--list fungerar endast med .xz-filer (--format=xz eller --format=auto)"
|
||||
|
||||
#: src/xz/list.c:1265
|
||||
#: src/xz/list.c:1276
|
||||
msgid "--list does not support reading from standard input"
|
||||
msgstr "--list saknar stöd för att läsa från standard in"
|
||||
|
||||
|
@ -543,68 +558,68 @@ msgstr "Kan inte läsa data från standard in när filnamn läses från standard
|
|||
#. 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:725
|
||||
#: src/xz/message.c:670 src/xz/message.c:725
|
||||
#, c-format
|
||||
msgid "%s: "
|
||||
msgstr "%s: "
|
||||
|
||||
#: src/xz/message.c:788 src/xz/message.c:847
|
||||
#: src/xz/message.c:797 src/xz/message.c:856
|
||||
msgid "Internal error (bug)"
|
||||
msgstr "Internt fel"
|
||||
|
||||
#: src/xz/message.c:795
|
||||
#: src/xz/message.c:804
|
||||
msgid "Cannot establish signal handlers"
|
||||
msgstr "Kan inte etablera signalhanterare"
|
||||
|
||||
#: src/xz/message.c:804
|
||||
#: src/xz/message.c:813
|
||||
msgid "No integrity check; not verifying file integrity"
|
||||
msgstr "Ingen integritetskontroll; kan inte verifiera filintegritet"
|
||||
|
||||
#: src/xz/message.c:807
|
||||
#: src/xz/message.c:816
|
||||
msgid "Unsupported type of integrity check; not verifying file integrity"
|
||||
msgstr "Typ av integritetskontroll stöds inte; verifierar inte filintegritet"
|
||||
|
||||
#: src/xz/message.c:814
|
||||
#: src/xz/message.c:823
|
||||
msgid "Memory usage limit reached"
|
||||
msgstr "Begränsning av minnesanvändning uppnådd"
|
||||
|
||||
#: src/xz/message.c:817
|
||||
#: src/xz/message.c:826
|
||||
msgid "File format not recognized"
|
||||
msgstr "Filformat okänt"
|
||||
|
||||
#: src/xz/message.c:820
|
||||
#: src/xz/message.c:829
|
||||
msgid "Unsupported options"
|
||||
msgstr "Flaggor stöds inte"
|
||||
|
||||
#: src/xz/message.c:823
|
||||
#: src/xz/message.c:832
|
||||
msgid "Compressed data is corrupt"
|
||||
msgstr "Komprimerad data är korrupt"
|
||||
|
||||
#: src/xz/message.c:826
|
||||
#: src/xz/message.c:835
|
||||
msgid "Unexpected end of input"
|
||||
msgstr "Oväntat avslut av indata"
|
||||
|
||||
#: src/xz/message.c:868
|
||||
#: src/xz/message.c:877
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limiter is disabled."
|
||||
msgstr "%s MiB minne krävs. Begränsaren inaktiverad."
|
||||
|
||||
#: src/xz/message.c:896
|
||||
#: src/xz/message.c:905
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limit is %s."
|
||||
msgstr "%s MiB minne krävs. Begränsningen är %s."
|
||||
|
||||
#: src/xz/message.c:1070
|
||||
#: src/xz/message.c:924
|
||||
#, c-format
|
||||
msgid "%s: Filter chain: %s\n"
|
||||
msgstr "%s: Filterkedja: %s\n"
|
||||
|
||||
#: src/xz/message.c:1080
|
||||
#: src/xz/message.c:935
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Prova ”%s --help” för vidare information."
|
||||
|
||||
#: src/xz/message.c:1106
|
||||
#: src/xz/message.c:961
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION]... [FILE]...\n"
|
||||
|
@ -615,15 +630,15 @@ msgstr ""
|
|||
"Komprimera eller dekomprimera FILer i .xz-formatet.\n"
|
||||
"\n"
|
||||
|
||||
#: src/xz/message.c:1113
|
||||
#: src/xz/message.c:968
|
||||
msgid "Mandatory arguments to long options are mandatory for short options too.\n"
|
||||
msgstr "Nödvändiga argument till långa flaggor är också nödvändiga för korta flaggor.\n"
|
||||
|
||||
#: src/xz/message.c:1117
|
||||
#: src/xz/message.c:972
|
||||
msgid " Operation mode:\n"
|
||||
msgstr " Operationsläge:\n"
|
||||
|
||||
#: src/xz/message.c:1120
|
||||
#: src/xz/message.c:975
|
||||
msgid ""
|
||||
" -z, --compress force compression\n"
|
||||
" -d, --decompress force decompression\n"
|
||||
|
@ -635,7 +650,7 @@ msgstr ""
|
|||
" -t, --test testa integritet för komprimerad fil\n"
|
||||
" -l, --list lista information om .xz-filer"
|
||||
|
||||
#: src/xz/message.c:1126
|
||||
#: src/xz/message.c:981
|
||||
msgid ""
|
||||
"\n"
|
||||
" Operation modifiers:\n"
|
||||
|
@ -643,7 +658,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Operationsmodifierare:\n"
|
||||
|
||||
#: src/xz/message.c:1129
|
||||
#: src/xz/message.c:984
|
||||
msgid ""
|
||||
" -k, --keep keep (don't delete) input files\n"
|
||||
" -f, --force force overwrite of output file and (de)compress links\n"
|
||||
|
@ -654,7 +669,7 @@ msgstr ""
|
|||
" länkar\n"
|
||||
" -c, --stdout skriv till standard ut och ta inte bort indatafiler"
|
||||
|
||||
#: src/xz/message.c:1138
|
||||
#: src/xz/message.c:993
|
||||
msgid ""
|
||||
" --single-stream decompress only the first stream, and silently\n"
|
||||
" ignore possible remaining input data"
|
||||
|
@ -662,7 +677,7 @@ msgstr ""
|
|||
" --single-stream dekomprimera endast den första strömmen och hoppa\n"
|
||||
" tyst över eventuellt återstående indata"
|
||||
|
||||
#: src/xz/message.c:1141
|
||||
#: src/xz/message.c:996
|
||||
msgid ""
|
||||
" --no-sparse do not create sparse files when decompressing\n"
|
||||
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
|
||||
|
@ -678,7 +693,7 @@ msgstr ""
|
|||
" filnamn måste avslutas med nyradstecken\n"
|
||||
" --files0[=FIL] som --files men null-tecknet måste användas"
|
||||
|
||||
#: src/xz/message.c:1150
|
||||
#: src/xz/message.c:1005
|
||||
msgid ""
|
||||
"\n"
|
||||
" Basic file format and compression options:\n"
|
||||
|
@ -686,7 +701,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Grundläggande filformat och komprimeringsflaggor:\n"
|
||||
|
||||
#: src/xz/message.c:1152
|
||||
#: src/xz/message.c:1007
|
||||
msgid ""
|
||||
" -F, --format=FMT file format to encode or decode; possible values are\n"
|
||||
" `auto' (default), `xz', `lzma', `lzip', and `raw'\n"
|
||||
|
@ -698,11 +713,11 @@ msgstr ""
|
|||
" -C, --check=CHECK typ av integritetskontroll: ”none” (använd med\n"
|
||||
" försiktighet), ”crc32”, ”crc64” (standard), eller ”sha256”"
|
||||
|
||||
#: src/xz/message.c:1157
|
||||
#: src/xz/message.c:1012
|
||||
msgid " --ignore-check don't verify the integrity check when decompressing"
|
||||
msgstr " --ignore-check verifiera inte integritet vid dekomprimering"
|
||||
|
||||
#: src/xz/message.c:1161
|
||||
#: src/xz/message.c:1016
|
||||
msgid ""
|
||||
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
|
||||
" decompressor memory usage into account before using 7-9!"
|
||||
|
@ -711,7 +726,7 @@ msgstr ""
|
|||
" minnesanvändning för komprimerare *och* dekomprimerare\n"
|
||||
" i beaktande innan du använder 7-9!"
|
||||
|
||||
#: src/xz/message.c:1165
|
||||
#: src/xz/message.c:1020
|
||||
msgid ""
|
||||
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
|
||||
" does not affect decompressor memory requirements"
|
||||
|
@ -720,7 +735,7 @@ msgstr ""
|
|||
" använda mer CPU-tid; påverkar inte minnesanvändning för\n"
|
||||
" dekomprimerare"
|
||||
|
||||
#: src/xz/message.c:1169
|
||||
#: src/xz/message.c:1024
|
||||
msgid ""
|
||||
" -T, --threads=NUM use at most NUM threads; the default is 1; set to 0\n"
|
||||
" to use as many threads as there are processor cores"
|
||||
|
@ -729,7 +744,7 @@ msgstr ""
|
|||
" för att använda så många trådar som det finns\n"
|
||||
" processorkärnor"
|
||||
|
||||
#: src/xz/message.c:1174
|
||||
#: src/xz/message.c:1029
|
||||
msgid ""
|
||||
" --block-size=SIZE\n"
|
||||
" start a new .xz block after every SIZE bytes of input;\n"
|
||||
|
@ -740,7 +755,7 @@ msgstr ""
|
|||
" använd detta för att sätta blockstorleken för trådad\n"
|
||||
" komprimering"
|
||||
|
||||
#: src/xz/message.c:1178
|
||||
#: src/xz/message.c:1033
|
||||
msgid ""
|
||||
" --block-list=SIZES\n"
|
||||
" start a new .xz block after the given comma-separated\n"
|
||||
|
@ -750,7 +765,7 @@ msgstr ""
|
|||
" påbörja ett nytt .xz-block efter de angivna\n"
|
||||
" komma-separerade intervallen av okomprimerad data"
|
||||
|
||||
#: src/xz/message.c:1182
|
||||
#: src/xz/message.c:1037
|
||||
msgid ""
|
||||
" --flush-timeout=TIMEOUT\n"
|
||||
" when compressing, if more than TIMEOUT milliseconds has\n"
|
||||
|
@ -763,7 +778,7 @@ msgstr ""
|
|||
" mer indata skulle blockera, så kommer all väntande data\n"
|
||||
" att spolas ut"
|
||||
|
||||
#: src/xz/message.c:1188
|
||||
#: src/xz/message.c:1043
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
" --memlimit-compress=LIMIT\n"
|
||||
|
@ -782,7 +797,7 @@ msgstr ""
|
|||
" dekomprimering, trådad dekomprimering, eller alla av\n"
|
||||
" dessa; BEGR är i byte, % RAM, eller 0 för standardvärden"
|
||||
|
||||
#: src/xz/message.c:1197
|
||||
#: src/xz/message.c:1052
|
||||
msgid ""
|
||||
" --no-adjust if compression settings exceed the memory usage limit,\n"
|
||||
" give an error instead of adjusting the settings downwards"
|
||||
|
@ -791,7 +806,7 @@ msgstr ""
|
|||
" minnesanvändning, ge ett fel istället för att justera ner\n"
|
||||
" inställningarna"
|
||||
|
||||
#: src/xz/message.c:1203
|
||||
#: src/xz/message.c:1058
|
||||
msgid ""
|
||||
"\n"
|
||||
" Custom filter chain for compression (alternative for using presets):"
|
||||
|
@ -800,7 +815,7 @@ msgstr ""
|
|||
" Anpassad filterkedja för komprimering (alternativ till att använda\n"
|
||||
" förinställningar):"
|
||||
|
||||
#: src/xz/message.c:1212
|
||||
#: src/xz/message.c:1067
|
||||
msgid ""
|
||||
"\n"
|
||||
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
|
||||
|
@ -831,7 +846,7 @@ msgstr ""
|
|||
" bt4)\n"
|
||||
" depth=NUM maximalt sökdjup; 0=automatisk (standard)"
|
||||
|
||||
#: src/xz/message.c:1227
|
||||
#: src/xz/message.c:1082
|
||||
msgid ""
|
||||
"\n"
|
||||
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
|
||||
|
@ -856,7 +871,7 @@ msgstr ""
|
|||
" start=NUM startposition för konverteringar\n"
|
||||
" (standard=0)"
|
||||
|
||||
#: src/xz/message.c:1240
|
||||
#: src/xz/message.c:1095
|
||||
msgid ""
|
||||
"\n"
|
||||
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
|
||||
|
@ -868,7 +883,7 @@ msgstr ""
|
|||
" dist=NUM avstånd mellan byte som subtraheras\n"
|
||||
" från varandra (1-256; 1)"
|
||||
|
||||
#: src/xz/message.c:1248
|
||||
#: src/xz/message.c:1103
|
||||
msgid ""
|
||||
"\n"
|
||||
" Other options:\n"
|
||||
|
@ -876,7 +891,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Andra flaggor:\n"
|
||||
|
||||
#: src/xz/message.c:1251
|
||||
#: src/xz/message.c:1106
|
||||
msgid ""
|
||||
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
|
||||
" -v, --verbose be verbose; specify twice for even more verbose"
|
||||
|
@ -885,17 +900,17 @@ msgstr ""
|
|||
" undertrycka fel\n"
|
||||
" -v, --verbose var utförlig; ange två gånger för än mer utförlig"
|
||||
|
||||
#: src/xz/message.c:1256
|
||||
#: src/xz/message.c:1111
|
||||
msgid " -Q, --no-warn make warnings not affect the exit status"
|
||||
msgstr " -Q, --no-warn låt inte varningar påverka avslutningsstatus"
|
||||
|
||||
#: src/xz/message.c:1258
|
||||
#: src/xz/message.c:1113
|
||||
msgid " --robot use machine-parsable messages (useful for scripts)"
|
||||
msgstr ""
|
||||
" --robot använd maskintolkningsbara meddelanden\n"
|
||||
" (användbara för skript)"
|
||||
|
||||
#: src/xz/message.c:1261
|
||||
#: src/xz/message.c:1116
|
||||
msgid ""
|
||||
" --info-memory display the total amount of RAM and the currently active\n"
|
||||
" memory usage limits, and exit"
|
||||
|
@ -903,7 +918,7 @@ msgstr ""
|
|||
" --info-memory visa den totala mängden RAM och den för närvarande aktiva\n"
|
||||
" begränsningen av minnesanvändning och avsluta"
|
||||
|
||||
#: src/xz/message.c:1264
|
||||
#: src/xz/message.c:1119
|
||||
msgid ""
|
||||
" -h, --help display the short help (lists only the basic options)\n"
|
||||
" -H, --long-help display this long help and exit"
|
||||
|
@ -912,7 +927,7 @@ msgstr ""
|
|||
" flaggorna)\n"
|
||||
" -H, --long-help visar denna långa hjälp av avsluta"
|
||||
|
||||
#: src/xz/message.c:1268
|
||||
#: src/xz/message.c:1123
|
||||
msgid ""
|
||||
" -h, --help display this short help and exit\n"
|
||||
" -H, --long-help display the long help (lists also the advanced options)"
|
||||
|
@ -921,11 +936,11 @@ msgstr ""
|
|||
" -H, --long-help visa den långa hjälpen (listar också de avancerade\n"
|
||||
" flaggorna)"
|
||||
|
||||
#: src/xz/message.c:1273
|
||||
#: src/xz/message.c:1128
|
||||
msgid " -V, --version display the version number and exit"
|
||||
msgstr " -V, --version visa versionsnumret och avsluta"
|
||||
|
||||
#: src/xz/message.c:1275
|
||||
#: src/xz/message.c:1130
|
||||
msgid ""
|
||||
"\n"
|
||||
"With no FILE, or when FILE is -, read standard input.\n"
|
||||
|
@ -937,19 +952,19 @@ 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:1281
|
||||
#: src/xz/message.c:1136
|
||||
#, c-format
|
||||
msgid "Report bugs to <%s> (in English or Finnish).\n"
|
||||
msgstr ""
|
||||
"Rapportera buggar till <%s> (på engelska eller finska).\n"
|
||||
"Rapportera översättningsfel till tp-sv@listor.tp-sv.se\n"
|
||||
|
||||
#: src/xz/message.c:1283
|
||||
#: src/xz/message.c:1138
|
||||
#, c-format
|
||||
msgid "%s home page: <%s>\n"
|
||||
msgstr "%s webbsida: <%s>\n"
|
||||
|
||||
#: src/xz/message.c:1287
|
||||
#: src/xz/message.c:1142
|
||||
msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE."
|
||||
msgstr "DETTA ÄR EN UTVECKLINGSVERSION SOM INTE ÄR AVSEDD FÖR PRODUKTIONSANVÄNDNING."
|
||||
|
||||
|
@ -968,36 +983,26 @@ msgstr "%s: Ogiltigt flaggnamn"
|
|||
msgid "%s: Invalid option value"
|
||||
msgstr "%s: Ogiltigt flaggvärde"
|
||||
|
||||
#: src/xz/options.c:286
|
||||
#: src/xz/options.c:247
|
||||
#, c-format
|
||||
msgid "Unsupported LZMA1/LZMA2 preset: %s"
|
||||
msgstr "LZMA1/LZMA2-förinställning stöds inte: %s"
|
||||
|
||||
#: src/xz/options.c:394
|
||||
#: src/xz/options.c:355
|
||||
msgid "The sum of lc and lp must not exceed 4"
|
||||
msgstr "Summan av lc och lp får inte överstiga 4"
|
||||
|
||||
#: src/xz/options.c:398
|
||||
#, c-format
|
||||
msgid "The selected match finder requires at least nice=%<PRIu32>"
|
||||
msgstr "Den valda matchningshittaren kräver åtminstone nice=%<PRIu32>"
|
||||
|
||||
#: src/xz/suffix.c:134 src/xz/suffix.c:265
|
||||
#, c-format
|
||||
msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "%s: Med --format=raw, krävs --suffix=.SUF om data inte skrivs till standard ut"
|
||||
|
||||
#: src/xz/suffix.c:165
|
||||
#: src/xz/suffix.c:160
|
||||
#, c-format
|
||||
msgid "%s: Filename has an unknown suffix, skipping"
|
||||
msgstr "%s: Filnamn har okänd filändelse, hoppar över"
|
||||
|
||||
#: src/xz/suffix.c:186
|
||||
#: src/xz/suffix.c:181
|
||||
#, c-format
|
||||
msgid "%s: File already has `%s' suffix, skipping"
|
||||
msgstr "%s: Fil har redan ”%s”-ändelse, hoppar över"
|
||||
|
||||
#: src/xz/suffix.c:402
|
||||
#: src/xz/suffix.c:388
|
||||
#, c-format
|
||||
msgid "%s: Invalid filename suffix"
|
||||
msgstr "%s: Ogiltig filnamnsändelse"
|
||||
|
@ -1037,6 +1042,9 @@ msgstr "Skrivning till standard ut misslyckades"
|
|||
msgid "Unknown error"
|
||||
msgstr "Okänt fel"
|
||||
|
||||
#~ msgid "The selected match finder requires at least nice=%<PRIu32>"
|
||||
#~ msgstr "Den valda matchningshittaren kräver åtminstone nice=%<PRIu32>"
|
||||
|
||||
#~ msgid "Sandbox is disabled due to incompatible command line arguments"
|
||||
#~ msgstr "Sandlåda inaktiverad på grund av inkompatibla kommandoradsargument"
|
||||
|
||||
|
|
334
po/uk.po
334
po/uk.po
|
@ -1,13 +1,13 @@
|
|||
# Ukrainian translation for xz.
|
||||
# This file is put in the public domain.
|
||||
#
|
||||
# Yuri Chornoivan <yurchor@ukr.net>, 2019, 2022.
|
||||
# Yuri Chornoivan <yurchor@ukr.net>, 2019, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: xz 5.4.0-pre1\n"
|
||||
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
|
||||
"POT-Creation-Date: 2022-11-09 19:59+0200\n"
|
||||
"PO-Revision-Date: 2022-11-12 23:03+0200\n"
|
||||
"Project-Id-Version: xz 5.4.4-pre1\n"
|
||||
"Report-Msgid-Bugs-To: xz@tukaani.org\n"
|
||||
"POT-Creation-Date: 2023-07-18 23:34+0800\n"
|
||||
"PO-Revision-Date: 2023-07-19 20:53+0300\n"
|
||||
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
|
||||
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
|
||||
"Language: uk\n"
|
||||
|
@ -18,51 +18,68 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Lokalize 20.12.0\n"
|
||||
|
||||
#: src/xz/args.c:64
|
||||
#: src/xz/args.c:77
|
||||
#, c-format
|
||||
msgid "%s: Invalid argument to --block-list"
|
||||
msgstr "%s: некоректний аргумент --block-list"
|
||||
|
||||
#: src/xz/args.c:74
|
||||
#: src/xz/args.c:87
|
||||
#, c-format
|
||||
msgid "%s: Too many arguments to --block-list"
|
||||
msgstr "%s: забагато аргументів --block-list"
|
||||
|
||||
#: src/xz/args.c:103
|
||||
#: src/xz/args.c:116
|
||||
msgid "0 can only be used as the last element in --block-list"
|
||||
msgstr "0 можна використовувати лише як останній елемент у --block-list"
|
||||
|
||||
#: src/xz/args.c:424
|
||||
#: src/xz/args.c:451
|
||||
#, c-format
|
||||
msgid "%s: Unknown file format type"
|
||||
msgstr "%s: невідомий тип формату файлів"
|
||||
|
||||
#: src/xz/args.c:447 src/xz/args.c:455
|
||||
#: src/xz/args.c:474 src/xz/args.c:482
|
||||
#, c-format
|
||||
msgid "%s: Unsupported integrity check type"
|
||||
msgstr "%s: непідтримуваний тип перевірки цілісності"
|
||||
|
||||
#: src/xz/args.c:491
|
||||
#: src/xz/args.c:518
|
||||
msgid "Only one file can be specified with `--files' or `--files0'."
|
||||
msgstr "Разом із параметрами --files або --files0 можна вказувати лише один файл."
|
||||
|
||||
#: src/xz/args.c:559
|
||||
#. TRANSLATORS: This is a translatable
|
||||
#. string because French needs a space
|
||||
#. before the colon ("%s : %s").
|
||||
#: src/xz/args.c:533 src/xz/coder.c:691 src/xz/coder.c:707 src/xz/coder.c:967
|
||||
#: src/xz/coder.c:970 src/xz/file_io.c:605 src/xz/file_io.c:679
|
||||
#: src/xz/file_io.c:769 src/xz/file_io.c:940 src/xz/list.c:369
|
||||
#: src/xz/list.c:415 src/xz/list.c:477 src/xz/list.c:581 src/xz/list.c:590
|
||||
#, c-format
|
||||
msgid "%s: %s"
|
||||
msgstr "%s: %s"
|
||||
|
||||
#: src/xz/args.c:589
|
||||
#, c-format
|
||||
msgid "The environment variable %s contains too many arguments"
|
||||
msgstr "У змінній середовища %s міститься надто багато аргументів"
|
||||
|
||||
#: src/xz/args.c:661
|
||||
#: src/xz/args.c:691
|
||||
msgid "Compression support was disabled at build time"
|
||||
msgstr "Підтримку стискання було вимкнено під час збирання програми"
|
||||
|
||||
#: src/xz/args.c:668
|
||||
#: src/xz/args.c:698
|
||||
msgid "Decompression support was disabled at build time"
|
||||
msgstr "Підтримку розпаковування було вимкнено під час збирання програми"
|
||||
|
||||
#: src/xz/args.c:674
|
||||
#: src/xz/args.c:704
|
||||
msgid "Compression of lzip files (.lz) is not supported"
|
||||
msgstr "Підтримки стискання файлів lzip (.lz) не передбачено"
|
||||
|
||||
#: src/xz/args.c:735
|
||||
msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr ""
|
||||
"Якщо вказано --format=raw, слід вказати і --suffix=.SUF, якщо дані\n"
|
||||
"виводяться не до стандартного виведення"
|
||||
|
||||
#: src/xz/coder.c:115
|
||||
msgid "Maximum number of filters is four"
|
||||
msgstr "Максимальна кількість фільтрів — чотири"
|
||||
|
@ -134,11 +151,11 @@ msgstr "Скориговано розмір словника LZMA%c з %s МіБ
|
|||
msgid "Error creating a pipe: %s"
|
||||
msgstr "Помилка під час створення каналу: %s"
|
||||
|
||||
#: src/xz/file_io.c:235
|
||||
#: src/xz/file_io.c:252
|
||||
msgid "Failed to enable the sandbox"
|
||||
msgstr "Не вдалося увімкнути пісочницю"
|
||||
|
||||
#: src/xz/file_io.c:277
|
||||
#: src/xz/file_io.c:294
|
||||
#, c-format
|
||||
msgid "%s: poll() failed: %s"
|
||||
msgstr "%s: помилка poll(): %s"
|
||||
|
@ -153,252 +170,252 @@ msgstr "%s: помилка poll(): %s"
|
|||
#. 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:344
|
||||
#: src/xz/file_io.c:361
|
||||
#, c-format
|
||||
msgid "%s: File seems to have been moved, not removing"
|
||||
msgstr "%s: здається, файл пересунуто; не вилучаємо"
|
||||
|
||||
#: src/xz/file_io.c:351 src/xz/file_io.c:907
|
||||
#: src/xz/file_io.c:368 src/xz/file_io.c:924
|
||||
#, c-format
|
||||
msgid "%s: Cannot remove: %s"
|
||||
msgstr "%s: не вдалося вилучити: %s"
|
||||
|
||||
#: src/xz/file_io.c:377
|
||||
#: src/xz/file_io.c:394
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file owner: %s"
|
||||
msgstr "%s: не вдалося встановити власника файла: %s"
|
||||
|
||||
#: src/xz/file_io.c:390
|
||||
#: src/xz/file_io.c:407
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file group: %s"
|
||||
msgstr "%s: не вдалося встановити групу власника файла: %s"
|
||||
|
||||
#: src/xz/file_io.c:409
|
||||
#: src/xz/file_io.c:426
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file permissions: %s"
|
||||
msgstr "%s: не вдалося встановити права доступу до файла: %s"
|
||||
|
||||
#: src/xz/file_io.c:535
|
||||
#: src/xz/file_io.c:552
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard input: %s"
|
||||
msgstr "Помилка під час спроби отримання прапорців стану файла зі стандартного джерела вхідних даних: %s"
|
||||
|
||||
#: src/xz/file_io.c:593 src/xz/file_io.c:655
|
||||
#: src/xz/file_io.c:610 src/xz/file_io.c:672
|
||||
#, c-format
|
||||
msgid "%s: Is a symbolic link, skipping"
|
||||
msgstr "%s: є символічним посиланням; пропускаємо"
|
||||
|
||||
#: src/xz/file_io.c:684
|
||||
#: src/xz/file_io.c:701
|
||||
#, c-format
|
||||
msgid "%s: Is a directory, skipping"
|
||||
msgstr "%s: є каталогом; пропускаємо"
|
||||
|
||||
#: src/xz/file_io.c:690
|
||||
#: src/xz/file_io.c:707
|
||||
#, c-format
|
||||
msgid "%s: Not a regular file, skipping"
|
||||
msgstr "%s: не є звичайним файлом; пропускаємо"
|
||||
|
||||
#: src/xz/file_io.c:707
|
||||
#: src/xz/file_io.c:724
|
||||
#, c-format
|
||||
msgid "%s: File has setuid or setgid bit set, skipping"
|
||||
msgstr "%s: для файла встановлено біт setuid або setgid; пропускаємо"
|
||||
|
||||
#: src/xz/file_io.c:714
|
||||
#: src/xz/file_io.c:731
|
||||
#, c-format
|
||||
msgid "%s: File has sticky bit set, skipping"
|
||||
msgstr "%s: для файла встановлено липкий біт; пропускаємо"
|
||||
|
||||
#: src/xz/file_io.c:721
|
||||
#: src/xz/file_io.c:738
|
||||
#, c-format
|
||||
msgid "%s: Input file has more than one hard link, skipping"
|
||||
msgstr "%s: виявлено декілька жорстких посилань на файл із вхідними даними; пропускаємо"
|
||||
|
||||
#: src/xz/file_io.c:763
|
||||
#: src/xz/file_io.c:780
|
||||
msgid "Empty filename, skipping"
|
||||
msgstr "Порожня назва файла; пропускаємо"
|
||||
|
||||
#: src/xz/file_io.c:817
|
||||
#: src/xz/file_io.c:834
|
||||
#, c-format
|
||||
msgid "Error restoring the status flags to standard input: %s"
|
||||
msgstr "Помилка під час спроби відновлення прапорців стану для стандартного джерела вхідних даних: %s"
|
||||
|
||||
#: src/xz/file_io.c:865
|
||||
#: src/xz/file_io.c:882
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard output: %s"
|
||||
msgstr "Помилка під час спроби отримання прапорців стану файла зі стандартного виведення: %s"
|
||||
|
||||
#: src/xz/file_io.c:1043
|
||||
#: src/xz/file_io.c:1060
|
||||
#, c-format
|
||||
msgid "Error restoring the O_APPEND flag to standard output: %s"
|
||||
msgstr "Помилка під час спроби відновлення прапорця O_APPEND для стандартного виведення: %s"
|
||||
|
||||
#: src/xz/file_io.c:1055
|
||||
#: src/xz/file_io.c:1072
|
||||
#, c-format
|
||||
msgid "%s: Closing the file failed: %s"
|
||||
msgstr "%s: не вдалося закрити файл: %s"
|
||||
|
||||
#: src/xz/file_io.c:1091 src/xz/file_io.c:1354
|
||||
#: src/xz/file_io.c:1108 src/xz/file_io.c:1371
|
||||
#, c-format
|
||||
msgid "%s: Seeking failed when trying to create a sparse file: %s"
|
||||
msgstr "%s: помилка позиціювання під час спроби створити розріджений файл: %s"
|
||||
|
||||
#: src/xz/file_io.c:1192
|
||||
#: src/xz/file_io.c:1209
|
||||
#, c-format
|
||||
msgid "%s: Read error: %s"
|
||||
msgstr "%s: помилка читання: %s"
|
||||
|
||||
#: src/xz/file_io.c:1222
|
||||
#: src/xz/file_io.c:1239
|
||||
#, c-format
|
||||
msgid "%s: Error seeking the file: %s"
|
||||
msgstr "%s: помилка позиціювання у файлі: %s"
|
||||
|
||||
#: src/xz/file_io.c:1246
|
||||
#: src/xz/file_io.c:1263
|
||||
#, c-format
|
||||
msgid "%s: Unexpected end of file"
|
||||
msgstr "%s: неочікуваний кінець файла"
|
||||
|
||||
#: src/xz/file_io.c:1305
|
||||
#: src/xz/file_io.c:1322
|
||||
#, c-format
|
||||
msgid "%s: Write error: %s"
|
||||
msgstr "%s: помилка під час спроби запису: %s"
|
||||
|
||||
#: src/xz/hardware.c:225
|
||||
#: src/xz/hardware.c:238
|
||||
msgid "Disabled"
|
||||
msgstr "Вимкнено"
|
||||
|
||||
#: src/xz/hardware.c:256
|
||||
#: src/xz/hardware.c:269
|
||||
msgid "Amount of physical memory (RAM):"
|
||||
msgstr "Обсяг фізичної пам'яті (RAM): "
|
||||
|
||||
#: src/xz/hardware.c:257
|
||||
#: src/xz/hardware.c:270
|
||||
msgid "Number of processor threads:"
|
||||
msgstr "Кількість потоків обробки процесором:"
|
||||
|
||||
#: src/xz/hardware.c:258
|
||||
#: src/xz/hardware.c:271
|
||||
msgid "Compression:"
|
||||
msgstr "Стискання:"
|
||||
|
||||
#: src/xz/hardware.c:259
|
||||
#: src/xz/hardware.c:272
|
||||
msgid "Decompression:"
|
||||
msgstr "Розпакування:"
|
||||
|
||||
#: src/xz/hardware.c:260
|
||||
#: src/xz/hardware.c:273
|
||||
msgid "Multi-threaded decompression:"
|
||||
msgstr "Багатопотокове розпаковування:"
|
||||
|
||||
#: src/xz/hardware.c:261
|
||||
#: src/xz/hardware.c:274
|
||||
msgid "Default for -T0:"
|
||||
msgstr "Типове для -T0:"
|
||||
|
||||
#: src/xz/hardware.c:279
|
||||
#: src/xz/hardware.c:292
|
||||
msgid "Hardware information:"
|
||||
msgstr "Дані щодо обладнання:"
|
||||
|
||||
#: src/xz/hardware.c:286
|
||||
#: src/xz/hardware.c:299
|
||||
msgid "Memory usage limits:"
|
||||
msgstr "Обмеження на використання пам'яті:"
|
||||
|
||||
#: src/xz/list.c:65
|
||||
#: src/xz/list.c:68
|
||||
msgid "Streams:"
|
||||
msgstr "Потоки:"
|
||||
|
||||
#: src/xz/list.c:66
|
||||
#: src/xz/list.c:69
|
||||
msgid "Blocks:"
|
||||
msgstr "Блоки:"
|
||||
|
||||
#: src/xz/list.c:67
|
||||
#: src/xz/list.c:70
|
||||
msgid "Compressed size:"
|
||||
msgstr "Стиснутий розмір:"
|
||||
|
||||
#: src/xz/list.c:68
|
||||
#: src/xz/list.c:71
|
||||
msgid "Uncompressed size:"
|
||||
msgstr "Нестиснутий розмір:"
|
||||
|
||||
#: src/xz/list.c:69
|
||||
#: src/xz/list.c:72
|
||||
msgid "Ratio:"
|
||||
msgstr "Пропорція:"
|
||||
|
||||
#: src/xz/list.c:70
|
||||
#: src/xz/list.c:73
|
||||
msgid "Check:"
|
||||
msgstr "Перевірка:"
|
||||
|
||||
#: src/xz/list.c:71
|
||||
#: src/xz/list.c:74
|
||||
msgid "Stream Padding:"
|
||||
msgstr "Доповнення потоку:"
|
||||
|
||||
#: src/xz/list.c:72
|
||||
#: src/xz/list.c:75
|
||||
msgid "Memory needed:"
|
||||
msgstr "Потрібний об'єм пам'яті:"
|
||||
|
||||
#: src/xz/list.c:73
|
||||
#: src/xz/list.c:76
|
||||
msgid "Sizes in headers:"
|
||||
msgstr "Розмір у заголовках:"
|
||||
|
||||
#: src/xz/list.c:76
|
||||
#: src/xz/list.c:79
|
||||
msgid "Number of files:"
|
||||
msgstr "Кількість файлів:"
|
||||
|
||||
#: src/xz/list.c:119
|
||||
#: src/xz/list.c:122
|
||||
msgid "Stream"
|
||||
msgstr "Потік"
|
||||
|
||||
#: src/xz/list.c:120
|
||||
#: src/xz/list.c:123
|
||||
msgid "Block"
|
||||
msgstr "Блок"
|
||||
|
||||
#: src/xz/list.c:121
|
||||
#: src/xz/list.c:124
|
||||
msgid "Blocks"
|
||||
msgstr "Блоки"
|
||||
|
||||
#: src/xz/list.c:122
|
||||
#: src/xz/list.c:125
|
||||
msgid "CompOffset"
|
||||
msgstr "СтисЗсув"
|
||||
|
||||
#: src/xz/list.c:123
|
||||
#: src/xz/list.c:126
|
||||
msgid "UncompOffset"
|
||||
msgstr "НестисЗсув"
|
||||
|
||||
#: src/xz/list.c:124
|
||||
#: src/xz/list.c:127
|
||||
msgid "CompSize"
|
||||
msgstr "СтисРозмір"
|
||||
|
||||
#: src/xz/list.c:125
|
||||
#: src/xz/list.c:128
|
||||
msgid "UncompSize"
|
||||
msgstr "НестисРозмір"
|
||||
|
||||
#: src/xz/list.c:126
|
||||
#: src/xz/list.c:129
|
||||
msgid "TotalSize"
|
||||
msgstr "Загальний розмір"
|
||||
|
||||
#: src/xz/list.c:127
|
||||
#: src/xz/list.c:130
|
||||
msgid "Ratio"
|
||||
msgstr "Пропорція"
|
||||
|
||||
#: src/xz/list.c:128
|
||||
#: src/xz/list.c:131
|
||||
msgid "Check"
|
||||
msgstr "Перевірка"
|
||||
|
||||
#: src/xz/list.c:129
|
||||
#: src/xz/list.c:132
|
||||
msgid "CheckVal"
|
||||
msgstr "ЗначПерев"
|
||||
|
||||
#: src/xz/list.c:130
|
||||
#: src/xz/list.c:133
|
||||
msgid "Padding"
|
||||
msgstr "Заповн"
|
||||
|
||||
#: src/xz/list.c:131
|
||||
#: src/xz/list.c:134
|
||||
msgid "Header"
|
||||
msgstr "Заголов"
|
||||
|
||||
#: src/xz/list.c:132
|
||||
#: src/xz/list.c:135
|
||||
msgid "Flags"
|
||||
msgstr "Прапор"
|
||||
|
||||
#: src/xz/list.c:133
|
||||
#: src/xz/list.c:136
|
||||
msgid "MemUsage"
|
||||
msgstr "ВикПам"
|
||||
|
||||
#: src/xz/list.c:134
|
||||
#: src/xz/list.c:137
|
||||
msgid "Filters"
|
||||
msgstr "Фільтри"
|
||||
|
||||
|
@ -406,7 +423,7 @@ msgstr "Фільтри"
|
|||
#. This string is used in tables. In older xz version this
|
||||
#. string was limited to ten columns in a fixed-width font, but
|
||||
#. nowadays there is no strict length restriction anymore.
|
||||
#: src/xz/list.c:166
|
||||
#: src/xz/list.c:169
|
||||
msgid "None"
|
||||
msgstr "Немає"
|
||||
|
||||
|
@ -414,60 +431,60 @@ msgstr "Немає"
|
|||
#. but the Check ID is known (here 2). In older xz version these
|
||||
#. strings were limited to ten columns in a fixed-width font, but
|
||||
#. nowadays there is no strict length restriction anymore.
|
||||
#: src/xz/list.c:172
|
||||
#: src/xz/list.c:175
|
||||
msgid "Unknown-2"
|
||||
msgstr "Невідомо-2"
|
||||
|
||||
#: src/xz/list.c:173
|
||||
#: src/xz/list.c:176
|
||||
msgid "Unknown-3"
|
||||
msgstr "Невідомо-3"
|
||||
|
||||
#: src/xz/list.c:175
|
||||
#: src/xz/list.c:178
|
||||
msgid "Unknown-5"
|
||||
msgstr "Невідомо-5"
|
||||
|
||||
#: src/xz/list.c:176
|
||||
#: src/xz/list.c:179
|
||||
msgid "Unknown-6"
|
||||
msgstr "Невідомо-6"
|
||||
|
||||
#: src/xz/list.c:177
|
||||
#: src/xz/list.c:180
|
||||
msgid "Unknown-7"
|
||||
msgstr "Невідомо-7"
|
||||
|
||||
#: src/xz/list.c:178
|
||||
#: src/xz/list.c:181
|
||||
msgid "Unknown-8"
|
||||
msgstr "Невідомо-8"
|
||||
|
||||
#: src/xz/list.c:179
|
||||
#: src/xz/list.c:182
|
||||
msgid "Unknown-9"
|
||||
msgstr "Невідомо-9"
|
||||
|
||||
#: src/xz/list.c:181
|
||||
#: src/xz/list.c:184
|
||||
msgid "Unknown-11"
|
||||
msgstr "Невідом-11"
|
||||
|
||||
#: src/xz/list.c:182
|
||||
#: src/xz/list.c:185
|
||||
msgid "Unknown-12"
|
||||
msgstr "Невідом-12"
|
||||
|
||||
#: src/xz/list.c:183
|
||||
#: src/xz/list.c:186
|
||||
msgid "Unknown-13"
|
||||
msgstr "Невідом-13"
|
||||
|
||||
#: src/xz/list.c:184
|
||||
#: src/xz/list.c:187
|
||||
msgid "Unknown-14"
|
||||
msgstr "Невідом-14"
|
||||
|
||||
#: src/xz/list.c:185
|
||||
#: src/xz/list.c:188
|
||||
msgid "Unknown-15"
|
||||
msgstr "Невідом-15"
|
||||
|
||||
#: src/xz/list.c:348
|
||||
#: src/xz/list.c:351
|
||||
#, c-format
|
||||
msgid "%s: File is empty"
|
||||
msgstr "%s: файл порожній"
|
||||
|
||||
#: src/xz/list.c:353
|
||||
#: src/xz/list.c:356
|
||||
#, c-format
|
||||
msgid "%s: Too small to be a valid .xz file"
|
||||
msgstr "%s: є надто малим для коректного файла .xz"
|
||||
|
@ -476,26 +493,26 @@ msgstr "%s: є надто малим для коректного файла .xz"
|
|||
#. 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:722
|
||||
#: src/xz/list.c:731
|
||||
msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename"
|
||||
msgstr "Потоки Блоки Стиснуті Нестиснуті Коеф. Перев. Назва файла"
|
||||
|
||||
#: src/xz/list.c:1016 src/xz/list.c:1193
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "Yes"
|
||||
msgstr "Так"
|
||||
|
||||
#: src/xz/list.c:1016 src/xz/list.c:1193
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "No"
|
||||
msgstr "Ні"
|
||||
|
||||
#: src/xz/list.c:1018 src/xz/list.c:1195
|
||||
#: src/xz/list.c:1028 src/xz/list.c:1206
|
||||
#, c-format
|
||||
msgid " Minimum XZ Utils version: %s\n"
|
||||
msgstr " Мінімальна версія програм XZ: %s\n"
|
||||
|
||||
#. 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:1168
|
||||
#: src/xz/list.c:1179
|
||||
#, c-format
|
||||
msgid "%s file\n"
|
||||
msgid_plural "%s files\n"
|
||||
|
@ -503,15 +520,15 @@ msgstr[0] "%s файл\n"
|
|||
msgstr[1] "%s файли\n"
|
||||
msgstr[2] "%s файлів\n"
|
||||
|
||||
#: src/xz/list.c:1181
|
||||
#: src/xz/list.c:1192
|
||||
msgid "Totals:"
|
||||
msgstr "Загалом:"
|
||||
|
||||
#: src/xz/list.c:1259
|
||||
#: src/xz/list.c:1270
|
||||
msgid "--list works only on .xz files (--format=xz or --format=auto)"
|
||||
msgstr "--list працює лише для файлів .xz (--format=xz або --format=auto)"
|
||||
|
||||
#: src/xz/list.c:1265
|
||||
#: src/xz/list.c:1276
|
||||
msgid "--list does not support reading from standard input"
|
||||
msgstr "Використання --list скасовує підтримку читання зі стандартного джерела вхідних даних"
|
||||
|
||||
|
@ -542,68 +559,68 @@ msgstr "Читання даних зі стандартного джерела
|
|||
#. 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:725
|
||||
#: src/xz/message.c:670 src/xz/message.c:725
|
||||
#, c-format
|
||||
msgid "%s: "
|
||||
msgstr "%s: "
|
||||
|
||||
#: src/xz/message.c:788 src/xz/message.c:847
|
||||
#: src/xz/message.c:797 src/xz/message.c:856
|
||||
msgid "Internal error (bug)"
|
||||
msgstr "Внутрішня помилка (вада)"
|
||||
|
||||
#: src/xz/message.c:795
|
||||
#: src/xz/message.c:804
|
||||
msgid "Cannot establish signal handlers"
|
||||
msgstr "Не вдалося встановити обробники сигналів"
|
||||
|
||||
#: src/xz/message.c:804
|
||||
#: src/xz/message.c:813
|
||||
msgid "No integrity check; not verifying file integrity"
|
||||
msgstr "Немає перевірки цілісності; цілісність файлів перевірено не буде"
|
||||
|
||||
#: src/xz/message.c:807
|
||||
#: src/xz/message.c:816
|
||||
msgid "Unsupported type of integrity check; not verifying file integrity"
|
||||
msgstr "Непідтримуваний тип перевірки цілісності; перевірки цілісності виконано не буде"
|
||||
|
||||
#: src/xz/message.c:814
|
||||
#: src/xz/message.c:823
|
||||
msgid "Memory usage limit reached"
|
||||
msgstr "Перевищено обмеження на використання пам'яті"
|
||||
|
||||
#: src/xz/message.c:817
|
||||
#: src/xz/message.c:826
|
||||
msgid "File format not recognized"
|
||||
msgstr "Формат файла не розпізнано"
|
||||
|
||||
#: src/xz/message.c:820
|
||||
#: src/xz/message.c:829
|
||||
msgid "Unsupported options"
|
||||
msgstr "Непідтримувані параметри"
|
||||
|
||||
#: src/xz/message.c:823
|
||||
#: src/xz/message.c:832
|
||||
msgid "Compressed data is corrupt"
|
||||
msgstr "Стиснені дані пошкоджено"
|
||||
|
||||
#: src/xz/message.c:826
|
||||
#: src/xz/message.c:835
|
||||
msgid "Unexpected end of input"
|
||||
msgstr "Несподіваний кінець вхідних даних"
|
||||
|
||||
#: src/xz/message.c:868
|
||||
#: src/xz/message.c:877
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limiter is disabled."
|
||||
msgstr "Потрібно %s МіБ пам'яті. Обмеження вимкнено."
|
||||
|
||||
#: src/xz/message.c:896
|
||||
#: src/xz/message.c:905
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limit is %s."
|
||||
msgstr "Потрібно %s МіБ пам'яті. Маємо обмеження у %s."
|
||||
|
||||
#: src/xz/message.c:1070
|
||||
#: src/xz/message.c:924
|
||||
#, c-format
|
||||
msgid "%s: Filter chain: %s\n"
|
||||
msgstr "%s: ланцюжок фільтрування: %s\n"
|
||||
|
||||
#: src/xz/message.c:1080
|
||||
#: src/xz/message.c:935
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "Спробуйте «%s --help» для отримання докладнішого опису."
|
||||
|
||||
#: src/xz/message.c:1106
|
||||
#: src/xz/message.c:961
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION]... [FILE]...\n"
|
||||
|
@ -614,17 +631,17 @@ msgstr ""
|
|||
"Стиснути або розпакувати файли у форматі .xz.\n"
|
||||
"\n"
|
||||
|
||||
#: src/xz/message.c:1113
|
||||
#: src/xz/message.c:968
|
||||
msgid "Mandatory arguments to long options are mandatory for short options too.\n"
|
||||
msgstr ""
|
||||
"Обов’язкові аргументи для довгих форм запису параметрів є обов’язковими і для\n"
|
||||
"скорочених форм.\n"
|
||||
|
||||
#: src/xz/message.c:1117
|
||||
#: src/xz/message.c:972
|
||||
msgid " Operation mode:\n"
|
||||
msgstr " Режим роботи:\n"
|
||||
|
||||
#: src/xz/message.c:1120
|
||||
#: src/xz/message.c:975
|
||||
msgid ""
|
||||
" -z, --compress force compression\n"
|
||||
" -d, --decompress force decompression\n"
|
||||
|
@ -636,7 +653,7 @@ msgstr ""
|
|||
" -t, --test перевірити цілісність стиснених файлів\n"
|
||||
" -l, --list вивести дані щодо файлів .xz"
|
||||
|
||||
#: src/xz/message.c:1126
|
||||
#: src/xz/message.c:981
|
||||
msgid ""
|
||||
"\n"
|
||||
" Operation modifiers:\n"
|
||||
|
@ -644,7 +661,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Модифікатори дій:\n"
|
||||
|
||||
#: src/xz/message.c:1129
|
||||
#: src/xz/message.c:984
|
||||
msgid ""
|
||||
" -k, --keep keep (don't delete) input files\n"
|
||||
" -f, --force force overwrite of output file and (de)compress links\n"
|
||||
|
@ -656,7 +673,7 @@ msgstr ""
|
|||
" -c, --stdout записувати дані до стандартного виведення і не вилучати\n"
|
||||
" вхідні файли"
|
||||
|
||||
#: src/xz/message.c:1138
|
||||
#: src/xz/message.c:993
|
||||
msgid ""
|
||||
" --single-stream decompress only the first stream, and silently\n"
|
||||
" ignore possible remaining input data"
|
||||
|
@ -664,7 +681,7 @@ msgstr ""
|
|||
" --single-stream розпакувати лише перший потік і без запитань\n"
|
||||
" ігнорувати решту вхідних даних"
|
||||
|
||||
#: src/xz/message.c:1141
|
||||
#: src/xz/message.c:996
|
||||
msgid ""
|
||||
" --no-sparse do not create sparse files when decompressing\n"
|
||||
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
|
||||
|
@ -682,7 +699,7 @@ msgstr ""
|
|||
" --files0[=ФАЙЛ] подібний до --files, але список файлів завершується\n"
|
||||
" нуль-символом"
|
||||
|
||||
#: src/xz/message.c:1150
|
||||
#: src/xz/message.c:1005
|
||||
msgid ""
|
||||
"\n"
|
||||
" Basic file format and compression options:\n"
|
||||
|
@ -690,7 +707,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Базові параметри формату файлів і стискання:\n"
|
||||
|
||||
#: src/xz/message.c:1152
|
||||
#: src/xz/message.c:1007
|
||||
msgid ""
|
||||
" -F, --format=FMT file format to encode or decode; possible values are\n"
|
||||
" `auto' (default), `xz', `lzma', `lzip', and `raw'\n"
|
||||
|
@ -702,11 +719,11 @@ msgstr ""
|
|||
" -C, --check=ТИП тип перевірки цілісності: none («немає», будьте обережні),\n"
|
||||
" crc32, crc64 (типовий) або sha256"
|
||||
|
||||
#: src/xz/message.c:1157
|
||||
#: src/xz/message.c:1012
|
||||
msgid " --ignore-check don't verify the integrity check when decompressing"
|
||||
msgstr " --ignore-check не виконувати перевірку цілісності при розпаковуванні"
|
||||
|
||||
#: src/xz/message.c:1161
|
||||
#: src/xz/message.c:1016
|
||||
msgid ""
|
||||
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
|
||||
" decompressor memory usage into account before using 7-9!"
|
||||
|
@ -715,7 +732,7 @@ msgstr ""
|
|||
" параметри використання пам'яті для пакування і\n"
|
||||
" розпакування, перш ніж використовувати рівні 7-9!"
|
||||
|
||||
#: src/xz/message.c:1165
|
||||
#: src/xz/message.c:1020
|
||||
msgid ""
|
||||
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
|
||||
" does not affect decompressor memory requirements"
|
||||
|
@ -724,7 +741,7 @@ msgstr ""
|
|||
" процесора; не впливає на вимоги щодо пам'яті для\n"
|
||||
" розпаковування"
|
||||
|
||||
#: src/xz/message.c:1169
|
||||
#: src/xz/message.c:1024
|
||||
msgid ""
|
||||
" -T, --threads=NUM use at most NUM threads; the default is 1; set to 0\n"
|
||||
" to use as many threads as there are processor cores"
|
||||
|
@ -734,7 +751,7 @@ msgstr ""
|
|||
" використовувала стільки потоків, скільки є ядер\n"
|
||||
" у процесора"
|
||||
|
||||
#: src/xz/message.c:1174
|
||||
#: src/xz/message.c:1029
|
||||
msgid ""
|
||||
" --block-size=SIZE\n"
|
||||
" start a new .xz block after every SIZE bytes of input;\n"
|
||||
|
@ -746,7 +763,7 @@ msgstr ""
|
|||
" встановлення розміру блоку для пакування у декілька\n"
|
||||
" потоків"
|
||||
|
||||
#: src/xz/message.c:1178
|
||||
#: src/xz/message.c:1033
|
||||
msgid ""
|
||||
" --block-list=SIZES\n"
|
||||
" start a new .xz block after the given comma-separated\n"
|
||||
|
@ -756,7 +773,7 @@ msgstr ""
|
|||
" розпочинати нові блоки .xz після вказаних інтервалів\n"
|
||||
" нестиснених даних; записи відокремлюються комами"
|
||||
|
||||
#: src/xz/message.c:1182
|
||||
#: src/xz/message.c:1037
|
||||
msgid ""
|
||||
" --flush-timeout=TIMEOUT\n"
|
||||
" when compressing, if more than TIMEOUT milliseconds has\n"
|
||||
|
@ -769,7 +786,7 @@ msgstr ""
|
|||
" минуло більше за ЧАС_ОЧІКУВАННЯ мілісекунд, витерти\n"
|
||||
" усі дані у черзі"
|
||||
|
||||
#: src/xz/message.c:1188
|
||||
#: src/xz/message.c:1043
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
" --memlimit-compress=LIMIT\n"
|
||||
|
@ -788,7 +805,7 @@ msgstr ""
|
|||
" або усіх режимів; ОБМЕЖЕННЯ слід вказувати у байтах,\n"
|
||||
" % RAM або вказати 0 (типове значення)"
|
||||
|
||||
#: src/xz/message.c:1197
|
||||
#: src/xz/message.c:1052
|
||||
msgid ""
|
||||
" --no-adjust if compression settings exceed the memory usage limit,\n"
|
||||
" give an error instead of adjusting the settings downwards"
|
||||
|
@ -797,7 +814,7 @@ msgstr ""
|
|||
" обмежень на пам'ять, вивести помилку і не коригувати\n"
|
||||
" параметри"
|
||||
|
||||
#: src/xz/message.c:1203
|
||||
#: src/xz/message.c:1058
|
||||
msgid ""
|
||||
"\n"
|
||||
" Custom filter chain for compression (alternative for using presets):"
|
||||
|
@ -806,7 +823,7 @@ msgstr ""
|
|||
" Нетиповий ланцюжок фільтрування для стискання (альтернатива використання\n"
|
||||
" рівнів):"
|
||||
|
||||
#: src/xz/message.c:1212
|
||||
#: src/xz/message.c:1067
|
||||
msgid ""
|
||||
"\n"
|
||||
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
|
||||
|
@ -837,7 +854,7 @@ msgstr ""
|
|||
" bt4; bt4)\n"
|
||||
" depth=N макс. глибина пошуку; 0=авто (типова)"
|
||||
|
||||
#: src/xz/message.c:1227
|
||||
#: src/xz/message.c:1082
|
||||
msgid ""
|
||||
"\n"
|
||||
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
|
||||
|
@ -861,7 +878,7 @@ msgstr ""
|
|||
" Коректні значення ПАРАМЕТРИ для усіх фільтрів BCJ:\n"
|
||||
" start=N початковий зсув для перетворень (типовий=0)"
|
||||
|
||||
#: src/xz/message.c:1240
|
||||
#: src/xz/message.c:1095
|
||||
msgid ""
|
||||
"\n"
|
||||
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
|
||||
|
@ -873,7 +890,7 @@ msgstr ""
|
|||
" dist=N відстань між байтами, які віднімаються\n"
|
||||
" один від одного (1-256; 1)"
|
||||
|
||||
#: src/xz/message.c:1248
|
||||
#: src/xz/message.c:1103
|
||||
msgid ""
|
||||
"\n"
|
||||
" Other options:\n"
|
||||
|
@ -881,7 +898,7 @@ msgstr ""
|
|||
"\n"
|
||||
" Інші параметри:\n"
|
||||
|
||||
#: src/xz/message.c:1251
|
||||
#: src/xz/message.c:1106
|
||||
msgid ""
|
||||
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
|
||||
" -v, --verbose be verbose; specify twice for even more verbose"
|
||||
|
@ -891,17 +908,17 @@ msgstr ""
|
|||
" -v, --verbose режим докладних повідомлень; вкажіть двічі, щоб підвищити\n"
|
||||
" докладність"
|
||||
|
||||
#: src/xz/message.c:1256
|
||||
#: src/xz/message.c:1111
|
||||
msgid " -Q, --no-warn make warnings not affect the exit status"
|
||||
msgstr " -Q, --no-warn попередження не впливають на стан виходу"
|
||||
|
||||
#: src/xz/message.c:1258
|
||||
#: src/xz/message.c:1113
|
||||
msgid " --robot use machine-parsable messages (useful for scripts)"
|
||||
msgstr ""
|
||||
" --robot використовувати повідомлення для обробки комп'ютером\n"
|
||||
" (корисно для створення сценаріїв)"
|
||||
|
||||
#: src/xz/message.c:1261
|
||||
#: src/xz/message.c:1116
|
||||
msgid ""
|
||||
" --info-memory display the total amount of RAM and the currently active\n"
|
||||
" memory usage limits, and exit"
|
||||
|
@ -909,7 +926,7 @@ msgstr ""
|
|||
" --info-memory вивести загальні дані щодо оперативної пам'яті і поточних\n"
|
||||
" обмежень щодо її використання, потім завершити роботу"
|
||||
|
||||
#: src/xz/message.c:1264
|
||||
#: src/xz/message.c:1119
|
||||
msgid ""
|
||||
" -h, --help display the short help (lists only the basic options)\n"
|
||||
" -H, --long-help display this long help and exit"
|
||||
|
@ -919,7 +936,7 @@ msgstr ""
|
|||
" -H, --long-help вивести це розширене довідкове повідомлення і завершити\n"
|
||||
" роботу"
|
||||
|
||||
#: src/xz/message.c:1268
|
||||
#: src/xz/message.c:1123
|
||||
msgid ""
|
||||
" -h, --help display this short help and exit\n"
|
||||
" -H, --long-help display the long help (lists also the advanced options)"
|
||||
|
@ -928,11 +945,11 @@ msgstr ""
|
|||
" -H, --long-help показати розгорнуту довідку (із усіма додатковими\n"
|
||||
" параметрами)"
|
||||
|
||||
#: src/xz/message.c:1273
|
||||
#: src/xz/message.c:1128
|
||||
msgid " -V, --version display the version number and exit"
|
||||
msgstr " -V, --version вивести дані щодо версії програми і завершити роботу"
|
||||
|
||||
#: src/xz/message.c:1275
|
||||
#: src/xz/message.c:1130
|
||||
msgid ""
|
||||
"\n"
|
||||
"With no FILE, or when FILE is -, read standard input.\n"
|
||||
|
@ -945,19 +962,19 @@ 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:1281
|
||||
#: src/xz/message.c:1136
|
||||
#, c-format
|
||||
msgid "Report bugs to <%s> (in English or Finnish).\n"
|
||||
msgstr ""
|
||||
"Сповіщайте розробників про вади за адресою <%s>\n"
|
||||
"(англійською і фінською).\n"
|
||||
|
||||
#: src/xz/message.c:1283
|
||||
#: src/xz/message.c:1138
|
||||
#, c-format
|
||||
msgid "%s home page: <%s>\n"
|
||||
msgstr "Домашня сторінка %s: <%s>\n"
|
||||
|
||||
#: src/xz/message.c:1287
|
||||
#: src/xz/message.c:1142
|
||||
msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE."
|
||||
msgstr "ЦЕ ТЕСТОВА ВЕРСІЯ, ЯКУ НЕ ПРИЗНАЧЕНО ДЛЯ ПРОМИСЛОВОГО ВИКОРИСТАННЯ."
|
||||
|
||||
|
@ -976,38 +993,26 @@ msgstr "%s: некоректна назва параметра"
|
|||
msgid "%s: Invalid option value"
|
||||
msgstr "%s: некоректне значення параметра"
|
||||
|
||||
#: src/xz/options.c:286
|
||||
#: src/xz/options.c:247
|
||||
#, c-format
|
||||
msgid "Unsupported LZMA1/LZMA2 preset: %s"
|
||||
msgstr "Непідтримуваний рівень стискання LZMA1/LZMA2: %s"
|
||||
|
||||
#: src/xz/options.c:394
|
||||
#: src/xz/options.c:355
|
||||
msgid "The sum of lc and lp must not exceed 4"
|
||||
msgstr "Сума lc і lp не повинна перевищувати 4"
|
||||
|
||||
#: src/xz/options.c:398
|
||||
#, c-format
|
||||
msgid "The selected match finder requires at least nice=%<PRIu32>"
|
||||
msgstr "Вибраний засіб пошуку відповідності потребує принаймні nice=%<PRIu32>"
|
||||
|
||||
#: src/xz/suffix.c:134 src/xz/suffix.c:265
|
||||
#, c-format
|
||||
msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr ""
|
||||
"%s: якщо вказано --format=raw, слід вказати і --suffix=.SUF, якщо дані\n"
|
||||
"виводяться не до стандартного виведення"
|
||||
|
||||
#: src/xz/suffix.c:165
|
||||
#: src/xz/suffix.c:160
|
||||
#, c-format
|
||||
msgid "%s: Filename has an unknown suffix, skipping"
|
||||
msgstr "%s: назва файла має невідомий суфікс; пропускаємо"
|
||||
|
||||
#: src/xz/suffix.c:186
|
||||
#: src/xz/suffix.c:181
|
||||
#, c-format
|
||||
msgid "%s: File already has `%s' suffix, skipping"
|
||||
msgstr "%s: файл вже має суфікс назви %s; пропускаємо"
|
||||
|
||||
#: src/xz/suffix.c:402
|
||||
#: src/xz/suffix.c:388
|
||||
#, c-format
|
||||
msgid "%s: Invalid filename suffix"
|
||||
msgstr "%s: некоректний суфікс назви файла"
|
||||
|
@ -1047,6 +1052,9 @@ msgstr "Не вдалося записати дані до стандартно
|
|||
msgid "Unknown error"
|
||||
msgstr "Невідома помилка"
|
||||
|
||||
#~ msgid "The selected match finder requires at least nice=%<PRIu32>"
|
||||
#~ msgstr "Вибраний засіб пошуку відповідності потребує принаймні nice=%<PRIu32>"
|
||||
|
||||
#~ msgid "Memory usage limit for compression: "
|
||||
#~ msgstr "Обмеження пам'яті для пакування: "
|
||||
|
||||
|
|
334
po/zh_CN.po
334
po/zh_CN.po
|
@ -1,14 +1,14 @@
|
|||
# Chinese translations for xz package
|
||||
# xz 软件包的简体中文翻译。
|
||||
# This file is put in the public domain.
|
||||
# Boyuan Yang <073plan@gmail.com>, 2019, 2022.
|
||||
# Boyuan Yang <073plan@gmail.com>, 2019, 2022, 2023.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: xz 5.4.0-pre1\n"
|
||||
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
|
||||
"POT-Creation-Date: 2022-11-09 19:59+0200\n"
|
||||
"PO-Revision-Date: 2022-11-30 13:31-0500\n"
|
||||
"Project-Id-Version: xz 5.4.4-pre1\n"
|
||||
"Report-Msgid-Bugs-To: xz@tukaani.org\n"
|
||||
"POT-Creation-Date: 2023-07-18 23:34+0800\n"
|
||||
"PO-Revision-Date: 2023-07-19 14:24-0400\n"
|
||||
"Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
|
||||
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
|
||||
"Language: zh_CN\n"
|
||||
|
@ -17,53 +17,68 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
"X-Generator: Poedit 3.2\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#: src/xz/args.c:64
|
||||
#: src/xz/args.c:77
|
||||
#, c-format
|
||||
msgid "%s: Invalid argument to --block-list"
|
||||
msgstr "%s:--block-list 的无效参数"
|
||||
|
||||
#: src/xz/args.c:74
|
||||
#: src/xz/args.c:87
|
||||
#, c-format
|
||||
msgid "%s: Too many arguments to --block-list"
|
||||
msgstr "%s:--block-list 得到过多参数"
|
||||
|
||||
#: src/xz/args.c:103
|
||||
#: src/xz/args.c:116
|
||||
msgid "0 can only be used as the last element in --block-list"
|
||||
msgstr "0 仅可用于 --block-list 的最后一个元素"
|
||||
|
||||
#: src/xz/args.c:424
|
||||
#: src/xz/args.c:451
|
||||
#, c-format
|
||||
msgid "%s: Unknown file format type"
|
||||
msgstr "%s:位置文件格式类型"
|
||||
msgstr "%s:未知文件格式类型"
|
||||
|
||||
#: src/xz/args.c:447 src/xz/args.c:455
|
||||
#: src/xz/args.c:474 src/xz/args.c:482
|
||||
#, c-format
|
||||
msgid "%s: Unsupported integrity check type"
|
||||
msgstr "%s:不支持的完整性检查类型"
|
||||
|
||||
#: src/xz/args.c:491
|
||||
#: src/xz/args.c:518
|
||||
msgid "Only one file can be specified with `--files' or `--files0'."
|
||||
msgstr "仅可使用“--files”或“--files0”指定一个文件。"
|
||||
|
||||
#: src/xz/args.c:559
|
||||
#. TRANSLATORS: This is a translatable
|
||||
#. string because French needs a space
|
||||
#. before the colon ("%s : %s").
|
||||
#: src/xz/args.c:533 src/xz/coder.c:691 src/xz/coder.c:707 src/xz/coder.c:967
|
||||
#: src/xz/coder.c:970 src/xz/file_io.c:605 src/xz/file_io.c:679
|
||||
#: src/xz/file_io.c:769 src/xz/file_io.c:940 src/xz/list.c:369
|
||||
#: src/xz/list.c:415 src/xz/list.c:477 src/xz/list.c:581 src/xz/list.c:590
|
||||
#, c-format
|
||||
msgid "%s: %s"
|
||||
msgstr "%s:%s"
|
||||
|
||||
#: src/xz/args.c:589
|
||||
#, c-format
|
||||
msgid "The environment variable %s contains too many arguments"
|
||||
msgstr "环境变量 %s 包含过多参数"
|
||||
|
||||
#: src/xz/args.c:661
|
||||
#: src/xz/args.c:691
|
||||
msgid "Compression support was disabled at build time"
|
||||
msgstr "压缩支持已在构建时禁用"
|
||||
|
||||
#: src/xz/args.c:668
|
||||
#: src/xz/args.c:698
|
||||
msgid "Decompression support was disabled at build time"
|
||||
msgstr "解压支持已在构建时禁用"
|
||||
|
||||
#: src/xz/args.c:674
|
||||
#: src/xz/args.c:704
|
||||
msgid "Compression of lzip files (.lz) is not supported"
|
||||
msgstr "不支持对 lzip 文件 (.lz) 的压缩"
|
||||
|
||||
#: src/xz/args.c:735
|
||||
msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "启用 --format-raw 选项时,必须指定 --suffix=.SUF 获知写入至标准输出"
|
||||
|
||||
#: src/xz/coder.c:115
|
||||
msgid "Maximum number of filters is four"
|
||||
msgstr "过滤器最多数量为四"
|
||||
|
@ -135,11 +150,11 @@ msgstr "已调整 LZMA%c 字典大小(从 %s MiB 调整为 %s MiB),以不
|
|||
msgid "Error creating a pipe: %s"
|
||||
msgstr "创建管道时出错:%s"
|
||||
|
||||
#: src/xz/file_io.c:235
|
||||
#: src/xz/file_io.c:252
|
||||
msgid "Failed to enable the sandbox"
|
||||
msgstr "沙盒启用失败"
|
||||
|
||||
#: src/xz/file_io.c:277
|
||||
#: src/xz/file_io.c:294
|
||||
#, c-format
|
||||
msgid "%s: poll() failed: %s"
|
||||
msgstr "%s:poll() 失败:%s"
|
||||
|
@ -154,252 +169,252 @@ msgstr "%s:poll() 失败:%s"
|
|||
#. 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:344
|
||||
#: src/xz/file_io.c:361
|
||||
#, c-format
|
||||
msgid "%s: File seems to have been moved, not removing"
|
||||
msgstr "%s:文件似乎已移动,不再进行删除操作"
|
||||
|
||||
#: src/xz/file_io.c:351 src/xz/file_io.c:907
|
||||
#: src/xz/file_io.c:368 src/xz/file_io.c:924
|
||||
#, c-format
|
||||
msgid "%s: Cannot remove: %s"
|
||||
msgstr "%s:无法删除:%s"
|
||||
|
||||
#: src/xz/file_io.c:377
|
||||
#: src/xz/file_io.c:394
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file owner: %s"
|
||||
msgstr "%s:无法设置文件所有者:%s"
|
||||
|
||||
#: src/xz/file_io.c:390
|
||||
#: src/xz/file_io.c:407
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file group: %s"
|
||||
msgstr "%s:无法设置文件所有组:%s"
|
||||
|
||||
#: src/xz/file_io.c:409
|
||||
#: src/xz/file_io.c:426
|
||||
#, c-format
|
||||
msgid "%s: Cannot set the file permissions: %s"
|
||||
msgstr "%s:无法设置文件权限:%s"
|
||||
|
||||
#: src/xz/file_io.c:535
|
||||
#: src/xz/file_io.c:552
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard input: %s"
|
||||
msgstr "从标准输入获取文件状态标志出错:%s"
|
||||
|
||||
#: src/xz/file_io.c:593 src/xz/file_io.c:655
|
||||
#: src/xz/file_io.c:610 src/xz/file_io.c:672
|
||||
#, c-format
|
||||
msgid "%s: Is a symbolic link, skipping"
|
||||
msgstr "%s:是符号链接,跳过"
|
||||
|
||||
#: src/xz/file_io.c:684
|
||||
#: src/xz/file_io.c:701
|
||||
#, c-format
|
||||
msgid "%s: Is a directory, skipping"
|
||||
msgstr "%s:是目录,跳过"
|
||||
|
||||
#: src/xz/file_io.c:690
|
||||
#: src/xz/file_io.c:707
|
||||
#, c-format
|
||||
msgid "%s: Not a regular file, skipping"
|
||||
msgstr "%s:不是标准文件,跳过"
|
||||
|
||||
#: src/xz/file_io.c:707
|
||||
#: src/xz/file_io.c:724
|
||||
#, c-format
|
||||
msgid "%s: File has setuid or setgid bit set, skipping"
|
||||
msgstr "%s:文件有设置用户ID或设置组ID标识,跳过"
|
||||
|
||||
#: src/xz/file_io.c:714
|
||||
#: src/xz/file_io.c:731
|
||||
#, c-format
|
||||
msgid "%s: File has sticky bit set, skipping"
|
||||
msgstr "%s:文件有粘滞位标识,跳过"
|
||||
|
||||
#: src/xz/file_io.c:721
|
||||
#: src/xz/file_io.c:738
|
||||
#, c-format
|
||||
msgid "%s: Input file has more than one hard link, skipping"
|
||||
msgstr "%s:输入文件有多于一个硬链接,跳过"
|
||||
|
||||
#: src/xz/file_io.c:763
|
||||
#: src/xz/file_io.c:780
|
||||
msgid "Empty filename, skipping"
|
||||
msgstr "空文件名,跳过"
|
||||
|
||||
#: src/xz/file_io.c:817
|
||||
#: src/xz/file_io.c:834
|
||||
#, c-format
|
||||
msgid "Error restoring the status flags to standard input: %s"
|
||||
msgstr "回复标准输入的状态标志时出错:%s"
|
||||
|
||||
#: src/xz/file_io.c:865
|
||||
#: src/xz/file_io.c:882
|
||||
#, c-format
|
||||
msgid "Error getting the file status flags from standard output: %s"
|
||||
msgstr "获取标准输出的文件状态标志时出错:%s"
|
||||
|
||||
#: src/xz/file_io.c:1043
|
||||
#: src/xz/file_io.c:1060
|
||||
#, c-format
|
||||
msgid "Error restoring the O_APPEND flag to standard output: %s"
|
||||
msgstr "恢复标准输出的 O_APPEND 标志时出错:%s"
|
||||
|
||||
#: src/xz/file_io.c:1055
|
||||
#: src/xz/file_io.c:1072
|
||||
#, c-format
|
||||
msgid "%s: Closing the file failed: %s"
|
||||
msgstr "%s:关闭文件失败:%s"
|
||||
|
||||
#: src/xz/file_io.c:1091 src/xz/file_io.c:1354
|
||||
#: src/xz/file_io.c:1108 src/xz/file_io.c:1371
|
||||
#, c-format
|
||||
msgid "%s: Seeking failed when trying to create a sparse file: %s"
|
||||
msgstr "%s:尝试创建稀疏文件时 seek 失败:%s"
|
||||
|
||||
#: src/xz/file_io.c:1192
|
||||
#: src/xz/file_io.c:1209
|
||||
#, c-format
|
||||
msgid "%s: Read error: %s"
|
||||
msgstr "%s:读取错误:%s"
|
||||
|
||||
#: src/xz/file_io.c:1222
|
||||
#: src/xz/file_io.c:1239
|
||||
#, c-format
|
||||
msgid "%s: Error seeking the file: %s"
|
||||
msgstr "%s:seek 文件时出错:%s"
|
||||
|
||||
#: src/xz/file_io.c:1246
|
||||
#: src/xz/file_io.c:1263
|
||||
#, c-format
|
||||
msgid "%s: Unexpected end of file"
|
||||
msgstr "%s:未预期的文件结束"
|
||||
|
||||
#: src/xz/file_io.c:1305
|
||||
#: src/xz/file_io.c:1322
|
||||
#, c-format
|
||||
msgid "%s: Write error: %s"
|
||||
msgstr "%s:写入错误:%s"
|
||||
|
||||
#: src/xz/hardware.c:225
|
||||
#: src/xz/hardware.c:238
|
||||
msgid "Disabled"
|
||||
msgstr "已禁用"
|
||||
|
||||
#: src/xz/hardware.c:256
|
||||
#: src/xz/hardware.c:269
|
||||
msgid "Amount of physical memory (RAM):"
|
||||
msgstr "物理内存(RAM)用量:"
|
||||
|
||||
#: src/xz/hardware.c:257
|
||||
#: src/xz/hardware.c:270
|
||||
msgid "Number of processor threads:"
|
||||
msgstr "处理器线程数:"
|
||||
|
||||
#: src/xz/hardware.c:258
|
||||
#: src/xz/hardware.c:271
|
||||
msgid "Compression:"
|
||||
msgstr "压缩:"
|
||||
|
||||
#: src/xz/hardware.c:259
|
||||
#: src/xz/hardware.c:272
|
||||
msgid "Decompression:"
|
||||
msgstr "解压缩:"
|
||||
|
||||
#: src/xz/hardware.c:260
|
||||
#: src/xz/hardware.c:273
|
||||
msgid "Multi-threaded decompression:"
|
||||
msgstr "多线程解压缩:"
|
||||
|
||||
#: src/xz/hardware.c:261
|
||||
#: src/xz/hardware.c:274
|
||||
msgid "Default for -T0:"
|
||||
msgstr "-T0 的默认值:"
|
||||
|
||||
#: src/xz/hardware.c:279
|
||||
#: src/xz/hardware.c:292
|
||||
msgid "Hardware information:"
|
||||
msgstr "硬件信息:"
|
||||
|
||||
#: src/xz/hardware.c:286
|
||||
#: src/xz/hardware.c:299
|
||||
msgid "Memory usage limits:"
|
||||
msgstr "内存使用限制:"
|
||||
|
||||
#: src/xz/list.c:65
|
||||
#: src/xz/list.c:68
|
||||
msgid "Streams:"
|
||||
msgstr "流:"
|
||||
|
||||
#: src/xz/list.c:66
|
||||
#: src/xz/list.c:69
|
||||
msgid "Blocks:"
|
||||
msgstr "块:"
|
||||
|
||||
#: src/xz/list.c:67
|
||||
#: src/xz/list.c:70
|
||||
msgid "Compressed size:"
|
||||
msgstr "压缩后大小:"
|
||||
|
||||
#: src/xz/list.c:68
|
||||
#: src/xz/list.c:71
|
||||
msgid "Uncompressed size:"
|
||||
msgstr "解压缩大小:"
|
||||
|
||||
#: src/xz/list.c:69
|
||||
#: src/xz/list.c:72
|
||||
msgid "Ratio:"
|
||||
msgstr "比例:"
|
||||
|
||||
#: src/xz/list.c:70
|
||||
#: src/xz/list.c:73
|
||||
msgid "Check:"
|
||||
msgstr "校验:"
|
||||
|
||||
#: src/xz/list.c:71
|
||||
#: src/xz/list.c:74
|
||||
msgid "Stream Padding:"
|
||||
msgstr "流填充大小:"
|
||||
|
||||
#: src/xz/list.c:72
|
||||
#: src/xz/list.c:75
|
||||
msgid "Memory needed:"
|
||||
msgstr "所需内存:"
|
||||
|
||||
#: src/xz/list.c:73
|
||||
#: src/xz/list.c:76
|
||||
msgid "Sizes in headers:"
|
||||
msgstr "头部存放大小:"
|
||||
|
||||
#: src/xz/list.c:76
|
||||
#: src/xz/list.c:79
|
||||
msgid "Number of files:"
|
||||
msgstr "文件数量:"
|
||||
|
||||
#: src/xz/list.c:119
|
||||
#: src/xz/list.c:122
|
||||
msgid "Stream"
|
||||
msgstr "流"
|
||||
|
||||
#: src/xz/list.c:120
|
||||
#: src/xz/list.c:123
|
||||
msgid "Block"
|
||||
msgstr "块"
|
||||
|
||||
#: src/xz/list.c:121
|
||||
#: src/xz/list.c:124
|
||||
msgid "Blocks"
|
||||
msgstr "块"
|
||||
|
||||
#: src/xz/list.c:122
|
||||
#: src/xz/list.c:125
|
||||
msgid "CompOffset"
|
||||
msgstr "压缩偏移量"
|
||||
|
||||
#: src/xz/list.c:123
|
||||
#: src/xz/list.c:126
|
||||
msgid "UncompOffset"
|
||||
msgstr "解压偏移量"
|
||||
|
||||
#: src/xz/list.c:124
|
||||
#: src/xz/list.c:127
|
||||
msgid "CompSize"
|
||||
msgstr "压缩后大小"
|
||||
|
||||
#: src/xz/list.c:125
|
||||
#: src/xz/list.c:128
|
||||
msgid "UncompSize"
|
||||
msgstr "解压缩大小"
|
||||
|
||||
#: src/xz/list.c:126
|
||||
#: src/xz/list.c:129
|
||||
msgid "TotalSize"
|
||||
msgstr "总大小"
|
||||
|
||||
#: src/xz/list.c:127
|
||||
#: src/xz/list.c:130
|
||||
msgid "Ratio"
|
||||
msgstr "比例"
|
||||
|
||||
#: src/xz/list.c:128
|
||||
#: src/xz/list.c:131
|
||||
msgid "Check"
|
||||
msgstr "校验"
|
||||
|
||||
#: src/xz/list.c:129
|
||||
#: src/xz/list.c:132
|
||||
msgid "CheckVal"
|
||||
msgstr "校验值"
|
||||
|
||||
#: src/xz/list.c:130
|
||||
#: src/xz/list.c:133
|
||||
msgid "Padding"
|
||||
msgstr "填充"
|
||||
|
||||
#: src/xz/list.c:131
|
||||
#: src/xz/list.c:134
|
||||
msgid "Header"
|
||||
msgstr "头部"
|
||||
|
||||
#: src/xz/list.c:132
|
||||
#: src/xz/list.c:135
|
||||
msgid "Flags"
|
||||
msgstr "标志"
|
||||
|
||||
#: src/xz/list.c:133
|
||||
#: src/xz/list.c:136
|
||||
msgid "MemUsage"
|
||||
msgstr "内存用量"
|
||||
|
||||
#: src/xz/list.c:134
|
||||
#: src/xz/list.c:137
|
||||
msgid "Filters"
|
||||
msgstr "过滤器"
|
||||
|
||||
|
@ -407,7 +422,7 @@ msgstr "过滤器"
|
|||
#. This string is used in tables. In older xz version this
|
||||
#. string was limited to ten columns in a fixed-width font, but
|
||||
#. nowadays there is no strict length restriction anymore.
|
||||
#: src/xz/list.c:166
|
||||
#: src/xz/list.c:169
|
||||
msgid "None"
|
||||
msgstr "无"
|
||||
|
||||
|
@ -415,60 +430,60 @@ msgstr "无"
|
|||
#. but the Check ID is known (here 2). In older xz version these
|
||||
#. strings were limited to ten columns in a fixed-width font, but
|
||||
#. nowadays there is no strict length restriction anymore.
|
||||
#: src/xz/list.c:172
|
||||
#: src/xz/list.c:175
|
||||
msgid "Unknown-2"
|
||||
msgstr "未知-2"
|
||||
|
||||
#: src/xz/list.c:173
|
||||
#: src/xz/list.c:176
|
||||
msgid "Unknown-3"
|
||||
msgstr "未知-3"
|
||||
|
||||
#: src/xz/list.c:175
|
||||
#: src/xz/list.c:178
|
||||
msgid "Unknown-5"
|
||||
msgstr "未知-5"
|
||||
|
||||
#: src/xz/list.c:176
|
||||
#: src/xz/list.c:179
|
||||
msgid "Unknown-6"
|
||||
msgstr "未知-6"
|
||||
|
||||
#: src/xz/list.c:177
|
||||
#: src/xz/list.c:180
|
||||
msgid "Unknown-7"
|
||||
msgstr "未知-7"
|
||||
|
||||
#: src/xz/list.c:178
|
||||
#: src/xz/list.c:181
|
||||
msgid "Unknown-8"
|
||||
msgstr "未知-8"
|
||||
|
||||
#: src/xz/list.c:179
|
||||
#: src/xz/list.c:182
|
||||
msgid "Unknown-9"
|
||||
msgstr "未知-9"
|
||||
|
||||
#: src/xz/list.c:181
|
||||
#: src/xz/list.c:184
|
||||
msgid "Unknown-11"
|
||||
msgstr "未知-11"
|
||||
|
||||
#: src/xz/list.c:182
|
||||
#: src/xz/list.c:185
|
||||
msgid "Unknown-12"
|
||||
msgstr "未知-12"
|
||||
|
||||
#: src/xz/list.c:183
|
||||
#: src/xz/list.c:186
|
||||
msgid "Unknown-13"
|
||||
msgstr "未知-13"
|
||||
|
||||
#: src/xz/list.c:184
|
||||
#: src/xz/list.c:187
|
||||
msgid "Unknown-14"
|
||||
msgstr "未知-14"
|
||||
|
||||
#: src/xz/list.c:185
|
||||
#: src/xz/list.c:188
|
||||
msgid "Unknown-15"
|
||||
msgstr "未知-15"
|
||||
|
||||
#: src/xz/list.c:348
|
||||
#: src/xz/list.c:351
|
||||
#, c-format
|
||||
msgid "%s: File is empty"
|
||||
msgstr "%s:文件为空"
|
||||
|
||||
#: src/xz/list.c:353
|
||||
#: src/xz/list.c:356
|
||||
#, c-format
|
||||
msgid "%s: Too small to be a valid .xz file"
|
||||
msgstr "%s:过小而不是有效的 .xz 文件"
|
||||
|
@ -477,40 +492,40 @@ msgstr "%s:过小而不是有效的 .xz 文件"
|
|||
#. 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:722
|
||||
#: src/xz/list.c:731
|
||||
msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename"
|
||||
msgstr " 流 块 压缩大小 解压大小 比例 校验 文件名"
|
||||
|
||||
#: src/xz/list.c:1016 src/xz/list.c:1193
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "Yes"
|
||||
msgstr "是"
|
||||
|
||||
#: src/xz/list.c:1016 src/xz/list.c:1193
|
||||
#: src/xz/list.c:1026 src/xz/list.c:1204
|
||||
msgid "No"
|
||||
msgstr "否"
|
||||
|
||||
#: src/xz/list.c:1018 src/xz/list.c:1195
|
||||
#: src/xz/list.c:1028 src/xz/list.c:1206
|
||||
#, c-format
|
||||
msgid " Minimum XZ Utils version: %s\n"
|
||||
msgstr " 最低 XZ Utils 版本:%s\n"
|
||||
|
||||
#. 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:1168
|
||||
#: src/xz/list.c:1179
|
||||
#, c-format
|
||||
msgid "%s file\n"
|
||||
msgid_plural "%s files\n"
|
||||
msgstr[0] "%s 文件\n"
|
||||
|
||||
#: src/xz/list.c:1181
|
||||
#: src/xz/list.c:1192
|
||||
msgid "Totals:"
|
||||
msgstr "总计:"
|
||||
|
||||
#: src/xz/list.c:1259
|
||||
#: src/xz/list.c:1270
|
||||
msgid "--list works only on .xz files (--format=xz or --format=auto)"
|
||||
msgstr "--list 仅适用于 .xz 文件(--format=xz 或 --format=auto)"
|
||||
|
||||
#: src/xz/list.c:1265
|
||||
#: src/xz/list.c:1276
|
||||
msgid "--list does not support reading from standard input"
|
||||
msgstr "--list 不支持从标准输入读取"
|
||||
|
||||
|
@ -541,68 +556,68 @@ msgstr "无法同时从标准输入读取数据和文件名列表"
|
|||
#. 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:725
|
||||
#: src/xz/message.c:670 src/xz/message.c:725
|
||||
#, c-format
|
||||
msgid "%s: "
|
||||
msgstr "%s:"
|
||||
|
||||
#: src/xz/message.c:788 src/xz/message.c:847
|
||||
#: src/xz/message.c:797 src/xz/message.c:856
|
||||
msgid "Internal error (bug)"
|
||||
msgstr "内部错误(bug)"
|
||||
|
||||
#: src/xz/message.c:795
|
||||
#: src/xz/message.c:804
|
||||
msgid "Cannot establish signal handlers"
|
||||
msgstr "无法建立信号处理器"
|
||||
|
||||
#: src/xz/message.c:804
|
||||
#: src/xz/message.c:813
|
||||
msgid "No integrity check; not verifying file integrity"
|
||||
msgstr "无完整性检查;将不验证文件完整性"
|
||||
|
||||
#: src/xz/message.c:807
|
||||
#: src/xz/message.c:816
|
||||
msgid "Unsupported type of integrity check; not verifying file integrity"
|
||||
msgstr "不支持的完整性检查类型;将不验证文件完整性"
|
||||
|
||||
#: src/xz/message.c:814
|
||||
#: src/xz/message.c:823
|
||||
msgid "Memory usage limit reached"
|
||||
msgstr "达到内存使用限制"
|
||||
|
||||
#: src/xz/message.c:817
|
||||
#: src/xz/message.c:826
|
||||
msgid "File format not recognized"
|
||||
msgstr "无法识别文件格式"
|
||||
|
||||
#: src/xz/message.c:820
|
||||
#: src/xz/message.c:829
|
||||
msgid "Unsupported options"
|
||||
msgstr "不支持的选项"
|
||||
|
||||
#: src/xz/message.c:823
|
||||
#: src/xz/message.c:832
|
||||
msgid "Compressed data is corrupt"
|
||||
msgstr "压缩数据已损坏"
|
||||
|
||||
#: src/xz/message.c:826
|
||||
#: src/xz/message.c:835
|
||||
msgid "Unexpected end of input"
|
||||
msgstr "输入意外结束"
|
||||
|
||||
#: src/xz/message.c:868
|
||||
#: src/xz/message.c:877
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limiter is disabled."
|
||||
msgstr "需要 %s MiB 的内存空间。限制已禁用。"
|
||||
|
||||
#: src/xz/message.c:896
|
||||
#: src/xz/message.c:905
|
||||
#, c-format
|
||||
msgid "%s MiB of memory is required. The limit is %s."
|
||||
msgstr "需要 %s MiB 的内存空间。限制为 %s。"
|
||||
|
||||
#: src/xz/message.c:1070
|
||||
#: src/xz/message.c:924
|
||||
#, c-format
|
||||
msgid "%s: Filter chain: %s\n"
|
||||
msgstr "%s:过滤器链:%s\n"
|
||||
|
||||
#: src/xz/message.c:1080
|
||||
#: src/xz/message.c:935
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information."
|
||||
msgstr "请尝试执行“%s --help”来获取更多信息。"
|
||||
|
||||
#: src/xz/message.c:1106
|
||||
#: src/xz/message.c:961
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage: %s [OPTION]... [FILE]...\n"
|
||||
|
@ -613,15 +628,15 @@ msgstr ""
|
|||
"使用 .xz 格式压缩或解压缩文件。\n"
|
||||
"\n"
|
||||
|
||||
#: src/xz/message.c:1113
|
||||
#: src/xz/message.c:968
|
||||
msgid "Mandatory arguments to long options are mandatory for short options too.\n"
|
||||
msgstr "必选参数对长短选项同时适用。\n"
|
||||
|
||||
#: src/xz/message.c:1117
|
||||
#: src/xz/message.c:972
|
||||
msgid " Operation mode:\n"
|
||||
msgstr " 操作模式:\n"
|
||||
|
||||
#: src/xz/message.c:1120
|
||||
#: src/xz/message.c:975
|
||||
msgid ""
|
||||
" -z, --compress force compression\n"
|
||||
" -d, --decompress force decompression\n"
|
||||
|
@ -633,7 +648,7 @@ msgstr ""
|
|||
" -t, --test 测试压缩文件完整性\n"
|
||||
" -l, --list 列出 .xz 文件的信息"
|
||||
|
||||
#: src/xz/message.c:1126
|
||||
#: src/xz/message.c:981
|
||||
msgid ""
|
||||
"\n"
|
||||
" Operation modifiers:\n"
|
||||
|
@ -641,7 +656,7 @@ msgstr ""
|
|||
"\n"
|
||||
" 操作修饰符:\n"
|
||||
|
||||
#: src/xz/message.c:1129
|
||||
#: src/xz/message.c:984
|
||||
msgid ""
|
||||
" -k, --keep keep (don't delete) input files\n"
|
||||
" -f, --force force overwrite of output file and (de)compress links\n"
|
||||
|
@ -651,13 +666,13 @@ msgstr ""
|
|||
" -f, --force 强制覆写输出文件和(解)压缩链接\n"
|
||||
" -c, --stdout 向标准输出写入,同时不要删除输入文件"
|
||||
|
||||
#: src/xz/message.c:1138
|
||||
#: src/xz/message.c:993
|
||||
msgid ""
|
||||
" --single-stream decompress only the first stream, and silently\n"
|
||||
" ignore possible remaining input data"
|
||||
msgstr " --single-stream 仅解压缩第一个流,忽略其后可能继续出现的输入数据"
|
||||
|
||||
#: src/xz/message.c:1141
|
||||
#: src/xz/message.c:996
|
||||
msgid ""
|
||||
" --no-sparse do not create sparse files when decompressing\n"
|
||||
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
|
||||
|
@ -672,7 +687,7 @@ msgstr ""
|
|||
" 将从标准输入读取文件名列表;文件名必须使用换行符分隔\n"
|
||||
" --files0[=文件] 类似 --files,但使用空字符进行分隔"
|
||||
|
||||
#: src/xz/message.c:1150
|
||||
#: src/xz/message.c:1005
|
||||
msgid ""
|
||||
"\n"
|
||||
" Basic file format and compression options:\n"
|
||||
|
@ -680,7 +695,7 @@ msgstr ""
|
|||
"\n"
|
||||
" 基本文件格式和压缩选项:\n"
|
||||
|
||||
#: src/xz/message.c:1152
|
||||
#: src/xz/message.c:1007
|
||||
msgid ""
|
||||
" -F, --format=FMT file format to encode or decode; possible values are\n"
|
||||
" `auto' (default), `xz', `lzma', `lzip', and `raw'\n"
|
||||
|
@ -693,11 +708,11 @@ msgstr ""
|
|||
" -C, --check=类型 完整性检查类型:“none”(请谨慎使用)、\n"
|
||||
" “crc32”、“crc64”(默认)或“sha256”"
|
||||
|
||||
#: src/xz/message.c:1157
|
||||
#: src/xz/message.c:1012
|
||||
msgid " --ignore-check don't verify the integrity check when decompressing"
|
||||
msgstr " --ignore-check 解压缩时不要进行完整性检查验证"
|
||||
|
||||
#: src/xz/message.c:1161
|
||||
#: src/xz/message.c:1016
|
||||
msgid ""
|
||||
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
|
||||
" decompressor memory usage into account before using 7-9!"
|
||||
|
@ -705,7 +720,7 @@ msgstr ""
|
|||
" -0 ... -9 压缩预设等级;默认为 6;使用 7-9 的等级之前,请先考虑\n"
|
||||
" 压缩和解压缩所需的内存用量!(会占用大量内存空间)"
|
||||
|
||||
#: src/xz/message.c:1165
|
||||
#: src/xz/message.c:1020
|
||||
msgid ""
|
||||
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
|
||||
" does not affect decompressor memory requirements"
|
||||
|
@ -713,7 +728,7 @@ msgstr ""
|
|||
" -e, --extreme 尝试使用更多 CPU 时间来改进压缩比率;\n"
|
||||
" 不会影响解压缩的内存需求量"
|
||||
|
||||
#: src/xz/message.c:1169
|
||||
#: src/xz/message.c:1024
|
||||
msgid ""
|
||||
" -T, --threads=NUM use at most NUM threads; the default is 1; set to 0\n"
|
||||
" to use as many threads as there are processor cores"
|
||||
|
@ -721,7 +736,7 @@ msgstr ""
|
|||
" -T, --threads=数量 使用最多指定数量的线程;默认值为 1;设置为 0\n"
|
||||
" 可以使用与处理器内核数量相同的线程数"
|
||||
|
||||
#: src/xz/message.c:1174
|
||||
#: src/xz/message.c:1029
|
||||
msgid ""
|
||||
" --block-size=SIZE\n"
|
||||
" start a new .xz block after every SIZE bytes of input;\n"
|
||||
|
@ -731,7 +746,7 @@ msgstr ""
|
|||
" 输入每读取指定块大小的数据后即开始一个新的 .xz 块;\n"
|
||||
" 使用该选项可以设置多线程压缩中的块大小"
|
||||
|
||||
#: src/xz/message.c:1178
|
||||
#: src/xz/message.c:1033
|
||||
msgid ""
|
||||
" --block-list=SIZES\n"
|
||||
" start a new .xz block after the given comma-separated\n"
|
||||
|
@ -741,7 +756,7 @@ msgstr ""
|
|||
" 在所给出的未压缩数据间隔大小的数据之后开始一个新的\n"
|
||||
" .xz 块(使用逗号分隔)"
|
||||
|
||||
#: src/xz/message.c:1182
|
||||
#: src/xz/message.c:1037
|
||||
msgid ""
|
||||
" --flush-timeout=TIMEOUT\n"
|
||||
" when compressing, if more than TIMEOUT milliseconds has\n"
|
||||
|
@ -752,7 +767,7 @@ msgstr ""
|
|||
" 进行压缩时,如果从上次刷洗输出之后经过了指定的超时时间\n"
|
||||
" 且读取更多数据会被阻塞,则刷洗输出所有缓冲数据"
|
||||
|
||||
#: src/xz/message.c:1188
|
||||
#: src/xz/message.c:1043
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
" --memlimit-compress=LIMIT\n"
|
||||
|
@ -771,13 +786,13 @@ msgstr ""
|
|||
" 所指定限制量单位为字节,或以百分号 % 结尾表示内存比例,\n"
|
||||
" 或者指定 0 取软件默认值"
|
||||
|
||||
#: src/xz/message.c:1197
|
||||
#: src/xz/message.c:1052
|
||||
msgid ""
|
||||
" --no-adjust if compression settings exceed the memory usage limit,\n"
|
||||
" give an error instead of adjusting the settings downwards"
|
||||
msgstr " --no-adjust 如果压缩设置超出内存用量限制,不调整设置而直接报错"
|
||||
|
||||
#: src/xz/message.c:1203
|
||||
#: src/xz/message.c:1058
|
||||
msgid ""
|
||||
"\n"
|
||||
" Custom filter chain for compression (alternative for using presets):"
|
||||
|
@ -785,7 +800,7 @@ msgstr ""
|
|||
"\n"
|
||||
" 用于压缩的自定义过滤器链(不使用预设等级时的备选用法):"
|
||||
|
||||
#: src/xz/message.c:1212
|
||||
#: src/xz/message.c:1067
|
||||
msgid ""
|
||||
"\n"
|
||||
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
|
||||
|
@ -814,7 +829,7 @@ msgstr ""
|
|||
" (hc3, hc4, bt2, bt3, bt4; bt4)\n"
|
||||
" depth=数字 最大搜索深度; 0=自动(默认)"
|
||||
|
||||
#: src/xz/message.c:1227
|
||||
#: src/xz/message.c:1082
|
||||
msgid ""
|
||||
"\n"
|
||||
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
|
||||
|
@ -838,7 +853,7 @@ msgstr ""
|
|||
" 所有过滤器可用选项:\n"
|
||||
" start=数字 转换的起始偏移量(默认=0)"
|
||||
|
||||
#: src/xz/message.c:1240
|
||||
#: src/xz/message.c:1095
|
||||
msgid ""
|
||||
"\n"
|
||||
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
|
||||
|
@ -849,7 +864,7 @@ msgstr ""
|
|||
" --delta[=选项] 增量过滤器;有效选项(有效值;默认值):\n"
|
||||
" dist=NUM 相减的字节之间的距离 (1-256; 1)"
|
||||
|
||||
#: src/xz/message.c:1248
|
||||
#: src/xz/message.c:1103
|
||||
msgid ""
|
||||
"\n"
|
||||
" Other options:\n"
|
||||
|
@ -857,7 +872,7 @@ msgstr ""
|
|||
"\n"
|
||||
" 其它选项:\n"
|
||||
|
||||
#: src/xz/message.c:1251
|
||||
#: src/xz/message.c:1106
|
||||
msgid ""
|
||||
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
|
||||
" -v, --verbose be verbose; specify twice for even more verbose"
|
||||
|
@ -865,21 +880,21 @@ msgstr ""
|
|||
" -q, --quiet 不显示警告信息;指定两次可不显示错误信息\n"
|
||||
" -v, --verbose 输出详细信息;指定两次可以输出更详细的信息"
|
||||
|
||||
#: src/xz/message.c:1256
|
||||
#: src/xz/message.c:1111
|
||||
msgid " -Q, --no-warn make warnings not affect the exit status"
|
||||
msgstr " -Q, --no-warn 使得警告信息不影响程序退出返回值"
|
||||
|
||||
#: src/xz/message.c:1258
|
||||
#: src/xz/message.c:1113
|
||||
msgid " --robot use machine-parsable messages (useful for scripts)"
|
||||
msgstr " --robot 使用机器可解析的信息(对于脚本有用)"
|
||||
|
||||
#: src/xz/message.c:1261
|
||||
#: src/xz/message.c:1116
|
||||
msgid ""
|
||||
" --info-memory display the total amount of RAM and the currently active\n"
|
||||
" memory usage limits, and exit"
|
||||
msgstr " --info-memory 显示 RAM 总量和当前配置的内存用量限制,然后退出"
|
||||
|
||||
#: src/xz/message.c:1264
|
||||
#: src/xz/message.c:1119
|
||||
msgid ""
|
||||
" -h, --help display the short help (lists only the basic options)\n"
|
||||
" -H, --long-help display this long help and exit"
|
||||
|
@ -887,7 +902,7 @@ msgstr ""
|
|||
" -h, --help 显示短帮助信息(仅列出基本选项)\n"
|
||||
" -H, --long-help 显示本长帮助信息"
|
||||
|
||||
#: src/xz/message.c:1268
|
||||
#: src/xz/message.c:1123
|
||||
msgid ""
|
||||
" -h, --help display this short help and exit\n"
|
||||
" -H, --long-help display the long help (lists also the advanced options)"
|
||||
|
@ -895,11 +910,11 @@ msgstr ""
|
|||
" -h, --help 显示本短帮助信息并退出\n"
|
||||
" -H, --long-help 显示长帮助信息(同时列出高级选项)"
|
||||
|
||||
#: src/xz/message.c:1273
|
||||
#: src/xz/message.c:1128
|
||||
msgid " -V, --version display the version number and exit"
|
||||
msgstr " -V, --version 显示软件版本号并退出"
|
||||
|
||||
#: src/xz/message.c:1275
|
||||
#: src/xz/message.c:1130
|
||||
msgid ""
|
||||
"\n"
|
||||
"With no FILE, or when FILE is -, read standard input.\n"
|
||||
|
@ -911,7 +926,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:1281
|
||||
#: src/xz/message.c:1136
|
||||
#, c-format
|
||||
msgid "Report bugs to <%s> (in English or Finnish).\n"
|
||||
msgstr ""
|
||||
|
@ -919,12 +934,12 @@ msgstr ""
|
|||
"请使用中文向 TP 简体中文翻译团队 <i18n-zh@googlegroups.com>\n"
|
||||
"报告软件的简体中文翻译错误。\n"
|
||||
|
||||
#: src/xz/message.c:1283
|
||||
#: src/xz/message.c:1138
|
||||
#, c-format
|
||||
msgid "%s home page: <%s>\n"
|
||||
msgstr "%s 主页:<%s>\n"
|
||||
|
||||
#: src/xz/message.c:1287
|
||||
#: src/xz/message.c:1142
|
||||
msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE."
|
||||
msgstr "这是开发版本,不适用于生产环境使用。"
|
||||
|
||||
|
@ -943,36 +958,26 @@ msgstr "%s:无效的选项名称"
|
|||
msgid "%s: Invalid option value"
|
||||
msgstr "%s:无效的选项值"
|
||||
|
||||
#: src/xz/options.c:286
|
||||
#: src/xz/options.c:247
|
||||
#, c-format
|
||||
msgid "Unsupported LZMA1/LZMA2 preset: %s"
|
||||
msgstr "不支持的 LZMA1/LZMA2 预设等级:%s"
|
||||
|
||||
#: src/xz/options.c:394
|
||||
#: src/xz/options.c:355
|
||||
msgid "The sum of lc and lp must not exceed 4"
|
||||
msgstr "lc 和 lp 的和必须不大于 4"
|
||||
|
||||
#: src/xz/options.c:398
|
||||
#, c-format
|
||||
msgid "The selected match finder requires at least nice=%<PRIu32>"
|
||||
msgstr "所选中的匹配搜索器(match finder)至少需要 nice=%<PRIu32>"
|
||||
|
||||
#: src/xz/suffix.c:134 src/xz/suffix.c:265
|
||||
#, c-format
|
||||
msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
|
||||
msgstr "%s:在启用 --format-raw 选项时,必须指定 --suffix=.SUF 获知写入至标准输出"
|
||||
|
||||
#: src/xz/suffix.c:165
|
||||
#: src/xz/suffix.c:160
|
||||
#, c-format
|
||||
msgid "%s: Filename has an unknown suffix, skipping"
|
||||
msgstr "%s:文件名有未知后缀,跳过"
|
||||
|
||||
#: src/xz/suffix.c:186
|
||||
#: src/xz/suffix.c:181
|
||||
#, c-format
|
||||
msgid "%s: File already has `%s' suffix, skipping"
|
||||
msgstr "%s:文件已有“%s”后缀名,跳过"
|
||||
|
||||
#: src/xz/suffix.c:402
|
||||
#: src/xz/suffix.c:388
|
||||
#, c-format
|
||||
msgid "%s: Invalid filename suffix"
|
||||
msgstr "%s:无效的文件名后缀"
|
||||
|
@ -1012,6 +1017,9 @@ msgstr "写入标准输出失败"
|
|||
msgid "Unknown error"
|
||||
msgstr "未知错误"
|
||||
|
||||
#~ msgid "The selected match finder requires at least nice=%<PRIu32>"
|
||||
#~ msgstr "所选中的匹配搜索器(match finder)至少需要 nice=%<PRIu32>"
|
||||
|
||||
#~ msgid "Sandbox is disabled due to incompatible command line arguments"
|
||||
#~ msgstr "沙盒已因不兼容的命令行参数而禁用"
|
||||
|
||||
|
|
659
po/zh_TW.po
659
po/zh_TW.po
File diff suppressed because it is too large
Load Diff
1297
po4a/de.po
1297
po4a/de.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@
|
|||
# to get a new .po file. After translating the .po file, run
|
||||
# "update-po" again to generate the translated man pages.
|
||||
|
||||
[po4a_langs] de fr ro
|
||||
[po4a_langs] de fr ko pt_BR ro uk
|
||||
[po4a_paths] xz-man.pot $lang:$lang.po
|
||||
|
||||
[type: man] ../src/xz/xz.1 $lang:man/$lang/xz.1
|
||||
|
|
File diff suppressed because it is too large
Load Diff
1267
po4a/ro.po
1267
po4a/ro.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -26,7 +26,7 @@ fi
|
|||
if test ! -f po4a.conf; then
|
||||
cd `dirname "$0"` || exit 1
|
||||
if test ! -f po4a.conf; then
|
||||
echo "update-po: Error: Cannot find po4a.conf." >&2
|
||||
echo "po4a/update-po: Error: Cannot find po4a.conf." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -79,7 +79,7 @@ do { \
|
|||
} while (0)
|
||||
|
||||
|
||||
#if !(defined(_WIN32) && !defined(__CYGWIN__))
|
||||
#if !(defined(_WIN32) && !defined(__CYGWIN__)) && !defined(__wasm__)
|
||||
// Use sigprocmask() to set the signal mask in single-threaded programs.
|
||||
#include <signal.h>
|
||||
|
||||
|
@ -100,12 +100,18 @@ mythread_sigmask(int how, const sigset_t *restrict set,
|
|||
// Using pthreads //
|
||||
////////////////////
|
||||
|
||||
#include <sys/time.h>
|
||||
#include <pthread.h>
|
||||
#include <signal.h>
|
||||
#include <time.h>
|
||||
#include <errno.h>
|
||||
|
||||
// If clock_gettime() isn't available, use gettimeofday() from <sys/time.h>
|
||||
// as a fallback. gettimeofday() is in SUSv2 and thus is supported on all
|
||||
// relevant POSIX systems.
|
||||
#ifndef HAVE_CLOCK_GETTIME
|
||||
# include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#define MYTHREAD_RET_TYPE void *
|
||||
#define MYTHREAD_RET_VALUE NULL
|
||||
|
||||
|
@ -219,8 +225,8 @@ static inline int
|
|||
mythread_cond_init(mythread_cond *mycond)
|
||||
{
|
||||
#ifdef HAVE_CLOCK_GETTIME
|
||||
// NOTE: HAVE_DECL_CLOCK_MONOTONIC is always defined to 0 or 1.
|
||||
# if defined(HAVE_PTHREAD_CONDATTR_SETCLOCK) && HAVE_DECL_CLOCK_MONOTONIC
|
||||
# if defined(HAVE_PTHREAD_CONDATTR_SETCLOCK) && \
|
||||
defined(HAVE_CLOCK_MONOTONIC)
|
||||
struct timespec ts;
|
||||
pthread_condattr_t condattr;
|
||||
|
||||
|
@ -294,8 +300,8 @@ static inline void
|
|||
mythread_condtime_set(mythread_condtime *condtime, const mythread_cond *cond,
|
||||
uint32_t timeout_ms)
|
||||
{
|
||||
condtime->tv_sec = timeout_ms / 1000;
|
||||
condtime->tv_nsec = (timeout_ms % 1000) * 1000000;
|
||||
condtime->tv_sec = (time_t)(timeout_ms / 1000);
|
||||
condtime->tv_nsec = (long)((timeout_ms % 1000) * 1000000);
|
||||
|
||||
#ifdef HAVE_CLOCK_GETTIME
|
||||
struct timespec now;
|
||||
|
@ -372,7 +378,7 @@ typedef struct {
|
|||
abort(); \
|
||||
if (pending_) { \
|
||||
func(); \
|
||||
if (!InitOnceComplete(&once, 0, NULL)) \
|
||||
if (!InitOnceComplete(&once_, 0, NULL)) \
|
||||
abort(); \
|
||||
} \
|
||||
} while (0)
|
||||
|
|
|
@ -24,7 +24,15 @@
|
|||
# include <config.h>
|
||||
#endif
|
||||
|
||||
// Get standard-compliant stdio functions under MinGW and MinGW-w64.
|
||||
// This #define ensures that C99 and POSIX compliant stdio functions are
|
||||
// available with MinGW-w64 (both 32-bit and 64-bit). Modern MinGW-w64 adds
|
||||
// this automatically, for example, when the compiler is in C99 (or later)
|
||||
// mode when building against msvcrt.dll. It still doesn't hurt to be explicit
|
||||
// that we always want this and #define this unconditionally.
|
||||
//
|
||||
// With Universal CRT (UCRT) this is less important because UCRT contains
|
||||
// C99-compatible stdio functions. It's still nice to #define this as UCRT
|
||||
// doesn't support the POSIX thousand separator flag in printf (like "%'u").
|
||||
#ifdef __MINGW32__
|
||||
# define __USE_MINGW_ANSI_STDIO 1
|
||||
#endif
|
||||
|
@ -127,7 +135,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
|
||||
// Pre-C99 systems lack stdbool.h. All the code in LZMA Utils must be written
|
||||
// Pre-C99 systems lack stdbool.h. All the code in XZ Utils must be written
|
||||
// so that it works with fake bool type, for example:
|
||||
//
|
||||
// bool foo = (flags & 0x100) != 0;
|
||||
|
@ -149,18 +157,8 @@ typedef unsigned char _Bool;
|
|||
# define __bool_true_false_are_defined 1
|
||||
#endif
|
||||
|
||||
// string.h should be enough but let's include strings.h and memory.h too if
|
||||
// they exists, since that shouldn't do any harm, but may improve portability.
|
||||
#include <string.h>
|
||||
|
||||
#ifdef HAVE_STRINGS_H
|
||||
# include <strings.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MEMORY_H
|
||||
# include <memory.h>
|
||||
#endif
|
||||
|
||||
// As of MSVC 2013, inline and restrict are supported with
|
||||
// non-standard keywords.
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
|
|
|
@ -52,6 +52,12 @@
|
|||
// and such functions.
|
||||
#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500)
|
||||
# include <immintrin.h>
|
||||
// Only include <intrin.h> when it is needed. GCC and Clang can both
|
||||
// use __builtin's, so we only need Windows instrincs when using MSVC.
|
||||
// GCC and Clang can set _MSC_VER on Windows, so we need to exclude these
|
||||
// cases explicitly.
|
||||
#elif defined(_MSC_VER) && !TUKLIB_GNUC_REQ(3, 4) && !defined(__clang__)
|
||||
# include <intrin.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -189,6 +195,9 @@
|
|||
// Unaligned reads and writes //
|
||||
////////////////////////////////
|
||||
|
||||
// No-strict-align archs like x86-64
|
||||
// ---------------------------------
|
||||
//
|
||||
// The traditional way of casting e.g. *(const uint16_t *)uint8_pointer
|
||||
// is bad even if the uint8_pointer is properly aligned because this kind
|
||||
// of casts break strict aliasing rules and result in undefined behavior.
|
||||
|
@ -203,12 +212,115 @@
|
|||
// build time. A third method, casting to a packed struct, would also be
|
||||
// an option but isn't provided to keep things simpler (it's already a mess).
|
||||
// Hopefully this is flexible enough in practice.
|
||||
//
|
||||
// Some compilers on x86-64 like Clang >= 10 and GCC >= 5.1 detect that
|
||||
//
|
||||
// buf[0] | (buf[1] << 8)
|
||||
//
|
||||
// reads a 16-bit value and can emit a single 16-bit load and produce
|
||||
// identical code than with the memcpy() method. In other cases Clang and GCC
|
||||
// produce either the same or better code with memcpy(). For example, Clang 9
|
||||
// on x86-64 can detect 32-bit load but not 16-bit load.
|
||||
//
|
||||
// MSVC uses unaligned access with the memcpy() method but emits byte-by-byte
|
||||
// code for "buf[0] | (buf[1] << 8)".
|
||||
//
|
||||
// Conclusion: The memcpy() method is the best choice when unaligned access
|
||||
// is supported.
|
||||
//
|
||||
// Strict-align archs like SPARC
|
||||
// -----------------------------
|
||||
//
|
||||
// GCC versions from around 4.x to to at least 13.2.0 produce worse code
|
||||
// from the memcpy() method than from simple byte-by-byte shift-or code
|
||||
// when reading a 32-bit integer:
|
||||
//
|
||||
// (1) It may be constructed on stack using using four 8-bit loads,
|
||||
// four 8-bit stores to stack, and finally one 32-bit load from stack.
|
||||
//
|
||||
// (2) Especially with -Os, an actual memcpy() call may be emitted.
|
||||
//
|
||||
// This is true on at least on ARM, ARM64, SPARC, SPARC64, MIPS64EL, and
|
||||
// RISC-V. Of these, ARM, ARM64, and RISC-V support unaligned access in
|
||||
// some processors but not all so this is relevant only in the case when
|
||||
// GCC assumes that unaligned is not supported or -mstrict-align or
|
||||
// -mno-unaligned-access is used.
|
||||
//
|
||||
// For Clang it makes little difference. ARM64 with -O2 -mstrict-align
|
||||
// was one the very few with a minor difference: the memcpy() version
|
||||
// was one instruction longer.
|
||||
//
|
||||
// Conclusion: At least in case of GCC and Clang, byte-by-byte code is
|
||||
// the best choice for strict-align archs to do unaligned access.
|
||||
//
|
||||
// See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111502
|
||||
//
|
||||
// Thanks to <https://godbolt.org/> it was easy to test different compilers.
|
||||
// The following is for little endian targets:
|
||||
/*
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
uint32_t bytes16(const uint8_t *b)
|
||||
{
|
||||
return (uint32_t)b[0]
|
||||
| ((uint32_t)b[1] << 8);
|
||||
}
|
||||
|
||||
uint32_t copy16(const uint8_t *b)
|
||||
{
|
||||
uint16_t v;
|
||||
memcpy(&v, b, sizeof(v));
|
||||
return v;
|
||||
}
|
||||
|
||||
uint32_t bytes32(const uint8_t *b)
|
||||
{
|
||||
return (uint32_t)b[0]
|
||||
| ((uint32_t)b[1] << 8)
|
||||
| ((uint32_t)b[2] << 16)
|
||||
| ((uint32_t)b[3] << 24);
|
||||
}
|
||||
|
||||
uint32_t copy32(const uint8_t *b)
|
||||
{
|
||||
uint32_t v;
|
||||
memcpy(&v, b, sizeof(v));
|
||||
return v;
|
||||
}
|
||||
|
||||
void wbytes16(uint8_t *b, uint16_t v)
|
||||
{
|
||||
b[0] = (uint8_t)v;
|
||||
b[1] = (uint8_t)(v >> 8);
|
||||
}
|
||||
|
||||
void wcopy16(uint8_t *b, uint16_t v)
|
||||
{
|
||||
memcpy(b, &v, sizeof(v));
|
||||
}
|
||||
|
||||
void wbytes32(uint8_t *b, uint32_t v)
|
||||
{
|
||||
b[0] = (uint8_t)v;
|
||||
b[1] = (uint8_t)(v >> 8);
|
||||
b[2] = (uint8_t)(v >> 16);
|
||||
b[3] = (uint8_t)(v >> 24);
|
||||
}
|
||||
|
||||
void wcopy32(uint8_t *b, uint32_t v)
|
||||
{
|
||||
memcpy(b, &v, sizeof(v));
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
#ifdef TUKLIB_FAST_UNALIGNED_ACCESS
|
||||
|
||||
static inline uint16_t
|
||||
read16ne(const uint8_t *buf)
|
||||
{
|
||||
#if defined(TUKLIB_FAST_UNALIGNED_ACCESS) \
|
||||
&& defined(TUKLIB_USE_UNSAFE_TYPE_PUNNING)
|
||||
#ifdef TUKLIB_USE_UNSAFE_TYPE_PUNNING
|
||||
return *(const uint16_t *)buf;
|
||||
#else
|
||||
uint16_t num;
|
||||
|
@ -221,8 +333,7 @@ read16ne(const uint8_t *buf)
|
|||
static inline uint32_t
|
||||
read32ne(const uint8_t *buf)
|
||||
{
|
||||
#if defined(TUKLIB_FAST_UNALIGNED_ACCESS) \
|
||||
&& defined(TUKLIB_USE_UNSAFE_TYPE_PUNNING)
|
||||
#ifdef TUKLIB_USE_UNSAFE_TYPE_PUNNING
|
||||
return *(const uint32_t *)buf;
|
||||
#else
|
||||
uint32_t num;
|
||||
|
@ -235,8 +346,7 @@ read32ne(const uint8_t *buf)
|
|||
static inline uint64_t
|
||||
read64ne(const uint8_t *buf)
|
||||
{
|
||||
#if defined(TUKLIB_FAST_UNALIGNED_ACCESS) \
|
||||
&& defined(TUKLIB_USE_UNSAFE_TYPE_PUNNING)
|
||||
#ifdef TUKLIB_USE_UNSAFE_TYPE_PUNNING
|
||||
return *(const uint64_t *)buf;
|
||||
#else
|
||||
uint64_t num;
|
||||
|
@ -249,8 +359,7 @@ read64ne(const uint8_t *buf)
|
|||
static inline void
|
||||
write16ne(uint8_t *buf, uint16_t num)
|
||||
{
|
||||
#if defined(TUKLIB_FAST_UNALIGNED_ACCESS) \
|
||||
&& defined(TUKLIB_USE_UNSAFE_TYPE_PUNNING)
|
||||
#ifdef TUKLIB_USE_UNSAFE_TYPE_PUNNING
|
||||
*(uint16_t *)buf = num;
|
||||
#else
|
||||
memcpy(buf, &num, sizeof(num));
|
||||
|
@ -262,8 +371,7 @@ write16ne(uint8_t *buf, uint16_t num)
|
|||
static inline void
|
||||
write32ne(uint8_t *buf, uint32_t num)
|
||||
{
|
||||
#if defined(TUKLIB_FAST_UNALIGNED_ACCESS) \
|
||||
&& defined(TUKLIB_USE_UNSAFE_TYPE_PUNNING)
|
||||
#ifdef TUKLIB_USE_UNSAFE_TYPE_PUNNING
|
||||
*(uint32_t *)buf = num;
|
||||
#else
|
||||
memcpy(buf, &num, sizeof(num));
|
||||
|
@ -275,8 +383,7 @@ write32ne(uint8_t *buf, uint32_t num)
|
|||
static inline void
|
||||
write64ne(uint8_t *buf, uint64_t num)
|
||||
{
|
||||
#if defined(TUKLIB_FAST_UNALIGNED_ACCESS) \
|
||||
&& defined(TUKLIB_USE_UNSAFE_TYPE_PUNNING)
|
||||
#ifdef TUKLIB_USE_UNSAFE_TYPE_PUNNING
|
||||
*(uint64_t *)buf = num;
|
||||
#else
|
||||
memcpy(buf, &num, sizeof(num));
|
||||
|
@ -288,68 +395,122 @@ write64ne(uint8_t *buf, uint64_t num)
|
|||
static inline uint16_t
|
||||
read16be(const uint8_t *buf)
|
||||
{
|
||||
#if defined(WORDS_BIGENDIAN) || defined(TUKLIB_FAST_UNALIGNED_ACCESS)
|
||||
uint16_t num = read16ne(buf);
|
||||
return conv16be(num);
|
||||
#else
|
||||
uint16_t num = ((uint16_t)buf[0] << 8) | (uint16_t)buf[1];
|
||||
return num;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
static inline uint16_t
|
||||
read16le(const uint8_t *buf)
|
||||
{
|
||||
#if !defined(WORDS_BIGENDIAN) || defined(TUKLIB_FAST_UNALIGNED_ACCESS)
|
||||
uint16_t num = read16ne(buf);
|
||||
return conv16le(num);
|
||||
#else
|
||||
uint16_t num = ((uint16_t)buf[0]) | ((uint16_t)buf[1] << 8);
|
||||
return num;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
static inline uint32_t
|
||||
read32be(const uint8_t *buf)
|
||||
{
|
||||
#if defined(WORDS_BIGENDIAN) || defined(TUKLIB_FAST_UNALIGNED_ACCESS)
|
||||
uint32_t num = read32ne(buf);
|
||||
return conv32be(num);
|
||||
#else
|
||||
uint32_t num = (uint32_t)buf[0] << 24;
|
||||
num |= (uint32_t)buf[1] << 16;
|
||||
num |= (uint32_t)buf[2] << 8;
|
||||
num |= (uint32_t)buf[3];
|
||||
return num;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
static inline uint32_t
|
||||
read32le(const uint8_t *buf)
|
||||
{
|
||||
#if !defined(WORDS_BIGENDIAN) || defined(TUKLIB_FAST_UNALIGNED_ACCESS)
|
||||
uint32_t num = read32ne(buf);
|
||||
return conv32le(num);
|
||||
#else
|
||||
uint32_t num = (uint32_t)buf[0];
|
||||
num |= (uint32_t)buf[1] << 8;
|
||||
num |= (uint32_t)buf[2] << 16;
|
||||
num |= (uint32_t)buf[3] << 24;
|
||||
return num;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
static inline uint64_t
|
||||
read64be(const uint8_t *buf)
|
||||
{
|
||||
#if defined(WORDS_BIGENDIAN) || defined(TUKLIB_FAST_UNALIGNED_ACCESS)
|
||||
uint64_t num = read64ne(buf);
|
||||
return conv64be(num);
|
||||
}
|
||||
|
||||
|
||||
static inline uint64_t
|
||||
read64le(const uint8_t *buf)
|
||||
{
|
||||
uint64_t num = read64ne(buf);
|
||||
return conv64le(num);
|
||||
}
|
||||
|
||||
|
||||
// NOTE: Possible byte swapping must be done in a macro to allow the compiler
|
||||
// to optimize byte swapping of constants when using glibc's or *BSD's
|
||||
// byte swapping macros. The actual write is done in an inline function
|
||||
// to make type checking of the buf pointer possible.
|
||||
#define write16be(buf, num) write16ne(buf, conv16be(num))
|
||||
#define write32be(buf, num) write32ne(buf, conv32be(num))
|
||||
#define write64be(buf, num) write64ne(buf, conv64be(num))
|
||||
#define write16le(buf, num) write16ne(buf, conv16le(num))
|
||||
#define write32le(buf, num) write32ne(buf, conv32le(num))
|
||||
#define write64le(buf, num) write64ne(buf, conv64le(num))
|
||||
|
||||
#else
|
||||
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
# define read16ne read16be
|
||||
# define read32ne read32be
|
||||
# define read64ne read64be
|
||||
# define write16ne write16be
|
||||
# define write32ne write32be
|
||||
# define write64ne write64be
|
||||
#else
|
||||
# define read16ne read16le
|
||||
# define read32ne read32le
|
||||
# define read64ne read64le
|
||||
# define write16ne write16le
|
||||
# define write32ne write32le
|
||||
# define write64ne write64le
|
||||
#endif
|
||||
|
||||
|
||||
static inline uint16_t
|
||||
read16be(const uint8_t *buf)
|
||||
{
|
||||
uint16_t num = ((uint16_t)buf[0] << 8) | (uint16_t)buf[1];
|
||||
return num;
|
||||
}
|
||||
|
||||
|
||||
static inline uint16_t
|
||||
read16le(const uint8_t *buf)
|
||||
{
|
||||
uint16_t num = ((uint16_t)buf[0]) | ((uint16_t)buf[1] << 8);
|
||||
return num;
|
||||
}
|
||||
|
||||
|
||||
static inline uint32_t
|
||||
read32be(const uint8_t *buf)
|
||||
{
|
||||
uint32_t num = (uint32_t)buf[0] << 24;
|
||||
num |= (uint32_t)buf[1] << 16;
|
||||
num |= (uint32_t)buf[2] << 8;
|
||||
num |= (uint32_t)buf[3];
|
||||
return num;
|
||||
}
|
||||
|
||||
|
||||
static inline uint32_t
|
||||
read32le(const uint8_t *buf)
|
||||
{
|
||||
uint32_t num = (uint32_t)buf[0];
|
||||
num |= (uint32_t)buf[1] << 8;
|
||||
num |= (uint32_t)buf[2] << 16;
|
||||
num |= (uint32_t)buf[3] << 24;
|
||||
return num;
|
||||
}
|
||||
|
||||
|
||||
static inline uint64_t
|
||||
read64be(const uint8_t *buf)
|
||||
{
|
||||
uint64_t num = (uint64_t)buf[0] << 56;
|
||||
num |= (uint64_t)buf[1] << 48;
|
||||
num |= (uint64_t)buf[2] << 40;
|
||||
|
@ -359,17 +520,12 @@ read64be(const uint8_t *buf)
|
|||
num |= (uint64_t)buf[6] << 8;
|
||||
num |= (uint64_t)buf[7];
|
||||
return num;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
static inline uint64_t
|
||||
read64le(const uint8_t *buf)
|
||||
{
|
||||
#if !defined(WORDS_BIGENDIAN) || defined(TUKLIB_FAST_UNALIGNED_ACCESS)
|
||||
uint64_t num = read64ne(buf);
|
||||
return conv64le(num);
|
||||
#else
|
||||
uint64_t num = (uint64_t)buf[0];
|
||||
num |= (uint64_t)buf[1] << 8;
|
||||
num |= (uint64_t)buf[2] << 16;
|
||||
|
@ -379,28 +535,9 @@ read64le(const uint8_t *buf)
|
|||
num |= (uint64_t)buf[6] << 48;
|
||||
num |= (uint64_t)buf[7] << 56;
|
||||
return num;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
// NOTE: Possible byte swapping must be done in a macro to allow the compiler
|
||||
// to optimize byte swapping of constants when using glibc's or *BSD's
|
||||
// byte swapping macros. The actual write is done in an inline function
|
||||
// to make type checking of the buf pointer possible.
|
||||
#if defined(WORDS_BIGENDIAN) || defined(TUKLIB_FAST_UNALIGNED_ACCESS)
|
||||
# define write16be(buf, num) write16ne(buf, conv16be(num))
|
||||
# define write32be(buf, num) write32ne(buf, conv32be(num))
|
||||
# define write64be(buf, num) write64ne(buf, conv64be(num))
|
||||
#endif
|
||||
|
||||
#if !defined(WORDS_BIGENDIAN) || defined(TUKLIB_FAST_UNALIGNED_ACCESS)
|
||||
# define write16le(buf, num) write16ne(buf, conv16le(num))
|
||||
# define write32le(buf, num) write32ne(buf, conv32le(num))
|
||||
# define write64le(buf, num) write64ne(buf, conv64le(num))
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef write16be
|
||||
static inline void
|
||||
write16be(uint8_t *buf, uint16_t num)
|
||||
{
|
||||
|
@ -408,10 +545,8 @@ write16be(uint8_t *buf, uint16_t num)
|
|||
buf[1] = (uint8_t)num;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef write16le
|
||||
static inline void
|
||||
write16le(uint8_t *buf, uint16_t num)
|
||||
{
|
||||
|
@ -419,10 +554,8 @@ write16le(uint8_t *buf, uint16_t num)
|
|||
buf[1] = (uint8_t)(num >> 8);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef write32be
|
||||
static inline void
|
||||
write32be(uint8_t *buf, uint32_t num)
|
||||
{
|
||||
|
@ -432,10 +565,8 @@ write32be(uint8_t *buf, uint32_t num)
|
|||
buf[3] = (uint8_t)num;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef write32le
|
||||
static inline void
|
||||
write32le(uint8_t *buf, uint32_t num)
|
||||
{
|
||||
|
@ -445,6 +576,37 @@ write32le(uint8_t *buf, uint32_t num)
|
|||
buf[3] = (uint8_t)(num >> 24);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
static inline void
|
||||
write64be(uint8_t *buf, uint64_t num)
|
||||
{
|
||||
buf[0] = (uint8_t)(num >> 56);
|
||||
buf[1] = (uint8_t)(num >> 48);
|
||||
buf[2] = (uint8_t)(num >> 40);
|
||||
buf[3] = (uint8_t)(num >> 32);
|
||||
buf[4] = (uint8_t)(num >> 24);
|
||||
buf[5] = (uint8_t)(num >> 16);
|
||||
buf[6] = (uint8_t)(num >> 8);
|
||||
buf[7] = (uint8_t)num;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
static inline void
|
||||
write64le(uint8_t *buf, uint64_t num)
|
||||
{
|
||||
buf[0] = (uint8_t)num;
|
||||
buf[1] = (uint8_t)(num >> 8);
|
||||
buf[2] = (uint8_t)(num >> 16);
|
||||
buf[3] = (uint8_t)(num >> 24);
|
||||
buf[4] = (uint8_t)(num >> 32);
|
||||
buf[5] = (uint8_t)(num >> 40);
|
||||
buf[6] = (uint8_t)(num >> 48);
|
||||
buf[7] = (uint8_t)(num >> 56);
|
||||
return;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -630,7 +792,7 @@ bsr32(uint32_t n)
|
|||
#if defined(__INTEL_COMPILER)
|
||||
return _bit_scan_reverse(n);
|
||||
|
||||
#elif TUKLIB_GNUC_REQ(3, 4) && UINT_MAX == UINT32_MAX
|
||||
#elif (TUKLIB_GNUC_REQ(3, 4) || defined(__clang__)) && UINT_MAX == UINT32_MAX
|
||||
// GCC >= 3.4 has __builtin_clz(), which gives good results on
|
||||
// multiple architectures. On x86, __builtin_clz() ^ 31U becomes
|
||||
// either plain BSR (so the XOR gets optimized away) or LZCNT and
|
||||
|
@ -684,7 +846,7 @@ clz32(uint32_t n)
|
|||
#if defined(__INTEL_COMPILER)
|
||||
return _bit_scan_reverse(n) ^ 31U;
|
||||
|
||||
#elif TUKLIB_GNUC_REQ(3, 4) && UINT_MAX == UINT32_MAX
|
||||
#elif (TUKLIB_GNUC_REQ(3, 4) || defined(__clang__)) && UINT_MAX == UINT32_MAX
|
||||
return (uint32_t)__builtin_clz(n);
|
||||
|
||||
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
|
||||
|
@ -736,7 +898,7 @@ ctz32(uint32_t n)
|
|||
#if defined(__INTEL_COMPILER)
|
||||
return _bit_scan_forward(n);
|
||||
|
||||
#elif TUKLIB_GNUC_REQ(3, 4) && UINT_MAX >= UINT32_MAX
|
||||
#elif (TUKLIB_GNUC_REQ(3, 4) || defined(__clang__)) && UINT_MAX >= UINT32_MAX
|
||||
return (uint32_t)__builtin_ctz(n);
|
||||
|
||||
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
|
||||
|
|
|
@ -27,5 +27,5 @@ tuklib_mbstr_fw(const char *str, int columns_min)
|
|||
if (width < (size_t)columns_min)
|
||||
len += (size_t)columns_min - width;
|
||||
|
||||
return len;
|
||||
return (int)len;
|
||||
}
|
||||
|
|
|
@ -73,6 +73,17 @@
|
|||
#endif
|
||||
|
||||
|
||||
// With GCC >= 8.1 with -Wextra and Clang >= 13 with -Wcast-function-type
|
||||
// will warn about the Windows-specific code.
|
||||
#if defined(__has_warning)
|
||||
# if __has_warning("-Wcast-function-type")
|
||||
# define CAN_DISABLE_WCAST_FUNCTION_TYPE 1
|
||||
# endif
|
||||
#elif TUKLIB_GNUC_REQ(8,1)
|
||||
# define CAN_DISABLE_WCAST_FUNCTION_TYPE 1
|
||||
#endif
|
||||
|
||||
|
||||
extern uint64_t
|
||||
tuklib_physmem(void)
|
||||
{
|
||||
|
@ -87,8 +98,15 @@ tuklib_physmem(void)
|
|||
HMODULE kernel32 = GetModuleHandle(TEXT("kernel32.dll"));
|
||||
if (kernel32 != NULL) {
|
||||
typedef BOOL (WINAPI *gmse_type)(LPMEMORYSTATUSEX);
|
||||
#ifdef CAN_DISABLE_WCAST_FUNCTION_TYPE
|
||||
# pragma GCC diagnostic push
|
||||
# pragma GCC diagnostic ignored "-Wcast-function-type"
|
||||
#endif
|
||||
gmse_type gmse = (gmse_type)GetProcAddress(
|
||||
kernel32, "GlobalMemoryStatusEx");
|
||||
#ifdef CAN_DISABLE_WCAST_FUNCTION_TYPE
|
||||
# pragma GCC diagnostic pop
|
||||
#endif
|
||||
if (gmse != NULL) {
|
||||
MEMORYSTATUSEX meminfo;
|
||||
meminfo.dwLength = sizeof(meminfo);
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#include <string.h>
|
||||
|
||||
|
||||
#if !HAVE_DECL_PROGRAM_INVOCATION_NAME
|
||||
#ifndef HAVE_PROGRAM_INVOCATION_NAME
|
||||
char *progname = NULL;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
TUKLIB_DECLS_BEGIN
|
||||
|
||||
#if HAVE_DECL_PROGRAM_INVOCATION_NAME
|
||||
#ifdef HAVE_PROGRAM_INVOCATION_NAME
|
||||
# define progname program_invocation_name
|
||||
#else
|
||||
# define progname TUKLIB_SYMBOL(tuklib_progname)
|
||||
|
|
|
@ -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 9:0:4
|
||||
liblzma_la_LDFLAGS = -no-undefined -version-info 9:6:4
|
||||
|
||||
EXTRA_DIST += liblzma_generic.map liblzma_linux.map validate_map.sh
|
||||
if COND_SYMVERS_GENERIC
|
||||
|
@ -72,11 +72,15 @@ endif
|
|||
# static liblzma, we overwrite the static object file with an object file
|
||||
# compiled from empty input. Note that GNU-specific features are OK here,
|
||||
# because on Windows we are compiled with the GNU toolchain.
|
||||
#
|
||||
# The typedef in empty.c will prevent an empty translation unit, which is
|
||||
# not allowed by the C standard. It results in a warning with
|
||||
# -Wempty-translation-unit with Clang or -pedantic for GCC.
|
||||
.rc.lo:
|
||||
$(LIBTOOL) --mode=compile $(RC) $(DEFS) $(DEFAULT_INCLUDES) \
|
||||
$(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(RCFLAGS) \
|
||||
-i $< -o $@
|
||||
echo > empty.c
|
||||
echo "typedef void empty;" > empty.c
|
||||
$(COMPILE) -c empty.c -o $(*D)/$(*F).o
|
||||
|
||||
# Remove ordinals from the generated .def file. People must link by name,
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
/**
|
||||
* \file api/lzma.h
|
||||
* \brief The public API of liblzma data compression library
|
||||
* \mainpage
|
||||
*
|
||||
* liblzma is a public domain general-purpose data compression library with
|
||||
* a zlib-like API. The native file format is .xz, but also the old .lzma
|
||||
* format and raw (no headers) streams are supported. Multiple compression
|
||||
* algorithms (filters) are supported. Currently LZMA2 is the primary filter.
|
||||
*
|
||||
* liblzma is part of XZ Utils <http://tukaani.org/xz/>. XZ Utils includes
|
||||
* a gzip-like command line tool named xz and some other tools. XZ Utils
|
||||
* is developed and maintained by Lasse Collin.
|
||||
* liblzma is part of XZ Utils <https://xz.tukaani.org/xz-utils/>. XZ Utils
|
||||
* includes a gzip-like command line tool named xz and some other tools.
|
||||
* XZ Utils is developed and maintained by Lasse Collin and Jia Tan.
|
||||
*
|
||||
* Major parts of liblzma are based on Igor Pavlov's public domain LZMA SDK
|
||||
* <http://7-zip.org/sdk.html>.
|
||||
* <https://7-zip.org/sdk.html>.
|
||||
*
|
||||
* The SHA-256 implementation is based on the public domain code found from
|
||||
* 7-Zip <http://7-zip.org/>, which has a modified version of the public
|
||||
* domain SHA-256 code found from Crypto++ <http://www.cryptopp.com/>.
|
||||
* 7-Zip <https://7-zip.org/>, which has a modified version of the public
|
||||
* domain SHA-256 code found from Crypto++ <https://www.cryptopp.com/>.
|
||||
* The SHA-256 code in Crypto++ was written by Kevin Springle and Wei Dai.
|
||||
*/
|
||||
|
||||
|
@ -181,11 +182,11 @@
|
|||
* against static liblzma on them, don't worry about LZMA_API_STATIC. That
|
||||
* is, most developers will never need to use LZMA_API_STATIC.
|
||||
*
|
||||
* The GCC variants are a special case on Windows (Cygwin and MinGW).
|
||||
* The GCC variants are a special case on Windows (Cygwin and MinGW-w64).
|
||||
* We rely on GCC doing the right thing with its auto-import feature,
|
||||
* and thus don't use __declspec(dllimport). This way developers don't
|
||||
* need to worry about LZMA_API_STATIC. Also the calling convention is
|
||||
* omitted on Cygwin but not on MinGW.
|
||||
* omitted on Cygwin but not on MinGW-w64.
|
||||
*/
|
||||
#ifndef LZMA_API_IMPORT
|
||||
# if !defined(LZMA_API_STATIC) && defined(_WIN32) && !defined(__GNUC__)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/base.h
|
||||
* \brief Data types and functions used in many places in liblzma API
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -8,8 +9,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -138,7 +137,7 @@ typedef enum {
|
|||
*/
|
||||
|
||||
LZMA_MEMLIMIT_ERROR = 6,
|
||||
/**
|
||||
/**<
|
||||
* \brief Memory usage limit was reached
|
||||
*
|
||||
* Decoder would need more memory than allowed by the
|
||||
|
@ -277,7 +276,7 @@ typedef enum {
|
|||
* \brief The `action' argument for lzma_code()
|
||||
*
|
||||
* After the first use of LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, LZMA_FULL_BARRIER,
|
||||
* or LZMA_FINISH, the same `action' must is used until lzma_code() returns
|
||||
* or LZMA_FINISH, the same `action' must be used until lzma_code() returns
|
||||
* LZMA_STREAM_END. Also, the amount of input (that is, strm->avail_in) must
|
||||
* not be modified by the application until lzma_code() returns
|
||||
* LZMA_STREAM_END. Changing the `action' or modifying the amount of input
|
||||
|
@ -546,9 +545,17 @@ typedef struct {
|
|||
* you should not touch these, because the names of these variables
|
||||
* may change.
|
||||
*/
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr4;
|
||||
|
||||
/**
|
||||
|
@ -563,10 +570,19 @@ typedef struct {
|
|||
*/
|
||||
uint64_t seek_pos;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint64_t reserved_int2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
size_t reserved_int3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
size_t reserved_int4;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum2;
|
||||
|
||||
} lzma_stream;
|
||||
|
@ -607,6 +623,14 @@ typedef struct {
|
|||
*
|
||||
* See the description of the coder-specific initialization function to find
|
||||
* out what `action' values are supported by the coder.
|
||||
*
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param action Action for this function to take. Must be a valid
|
||||
* lzma_action enum value.
|
||||
*
|
||||
* \return Any valid lzma_ret. See the lzma_ret enum description for more
|
||||
* information.
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_code(lzma_stream *strm, lzma_action action)
|
||||
lzma_nothrow lzma_attr_warn_unused_result;
|
||||
|
@ -615,15 +639,15 @@ extern LZMA_API(lzma_ret) lzma_code(lzma_stream *strm, lzma_action action)
|
|||
/**
|
||||
* \brief Free memory allocated for the coder data structures
|
||||
*
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
*
|
||||
* After lzma_end(strm), strm->internal is guaranteed to be NULL. No other
|
||||
* members of the lzma_stream structure are touched.
|
||||
*
|
||||
* \note zlib indicates an error if application end()s unfinished
|
||||
* stream structure. liblzma doesn't do this, and assumes that
|
||||
* application knows what it is doing.
|
||||
*
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
*/
|
||||
extern LZMA_API(void) lzma_end(lzma_stream *strm) lzma_nothrow;
|
||||
|
||||
|
@ -642,6 +666,11 @@ extern LZMA_API(void) lzma_end(lzma_stream *strm) lzma_nothrow;
|
|||
* mode by taking into account the progress made by each thread. In
|
||||
* single-threaded mode *progress_in and *progress_out are set to
|
||||
* strm->total_in and strm->total_out, respectively.
|
||||
*
|
||||
* \param strm Pointer to lzma_stream that is at least
|
||||
* initialized with LZMA_STREAM_INIT.
|
||||
* \param[out] progress_in Pointer to the number of input bytes processed.
|
||||
* \param[out] progress_out Pointer to the number of output bytes processed.
|
||||
*/
|
||||
extern LZMA_API(void) lzma_get_progress(lzma_stream *strm,
|
||||
uint64_t *progress_in, uint64_t *progress_out) lzma_nothrow;
|
||||
|
@ -660,6 +689,9 @@ extern LZMA_API(void) lzma_get_progress(lzma_stream *strm,
|
|||
* this may give misleading information if decoding .xz Streams that have
|
||||
* multiple Blocks, because each Block can have different memory requirements.
|
||||
*
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
*
|
||||
* \return How much memory is currently allocated for the filter
|
||||
* decoders. If no filter chain is currently allocated,
|
||||
* some non-zero value is still returned, which is less than
|
||||
|
@ -679,6 +711,9 @@ extern LZMA_API(uint64_t) lzma_memusage(const lzma_stream *strm)
|
|||
* This function is supported only when *strm has been initialized with
|
||||
* a function that takes a memlimit argument.
|
||||
*
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
*
|
||||
* \return On success, the current memory usage limit is returned
|
||||
* (always non-zero). On error, zero is returned.
|
||||
*/
|
||||
|
@ -702,7 +737,8 @@ extern LZMA_API(uint64_t) lzma_memlimit_get(const lzma_stream *strm)
|
|||
* after LZMA_MEMLIMIT_ERROR even if the limit was increased using
|
||||
* lzma_memlimit_set(). Other decoders worked correctly.
|
||||
*
|
||||
* \return - LZMA_OK: New memory usage limit successfully set.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: New memory usage limit successfully set.
|
||||
* - LZMA_MEMLIMIT_ERROR: The new limit is too small.
|
||||
* The limit was not changed.
|
||||
* - LZMA_PROG_ERROR: Invalid arguments, e.g. *strm doesn't
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/bcj.h
|
||||
* \brief Branch/Call/Jump conversion filters
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -8,8 +9,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -19,43 +18,44 @@
|
|||
|
||||
/* Filter IDs for lzma_filter.id */
|
||||
|
||||
/**
|
||||
* \brief Filter for x86 binaries
|
||||
*/
|
||||
#define LZMA_FILTER_X86 LZMA_VLI_C(0x04)
|
||||
/**<
|
||||
* Filter for x86 binaries
|
||||
*/
|
||||
|
||||
#define LZMA_FILTER_POWERPC LZMA_VLI_C(0x05)
|
||||
/**<
|
||||
* Filter for Big endian PowerPC binaries
|
||||
*/
|
||||
|
||||
#define LZMA_FILTER_IA64 LZMA_VLI_C(0x06)
|
||||
/**<
|
||||
* Filter for IA-64 (Itanium) binaries.
|
||||
*/
|
||||
|
||||
#define LZMA_FILTER_ARM LZMA_VLI_C(0x07)
|
||||
/**<
|
||||
* Filter for ARM binaries.
|
||||
*/
|
||||
|
||||
#define LZMA_FILTER_ARMTHUMB LZMA_VLI_C(0x08)
|
||||
/**<
|
||||
* Filter for ARM-Thumb binaries.
|
||||
*/
|
||||
|
||||
#define LZMA_FILTER_SPARC LZMA_VLI_C(0x09)
|
||||
/**<
|
||||
* Filter for SPARC binaries.
|
||||
*/
|
||||
|
||||
#define LZMA_FILTER_ARM64 LZMA_VLI_C(0x0A)
|
||||
/**<
|
||||
* Filter for ARM64 binaries.
|
||||
*/
|
||||
|
||||
/**
|
||||
* \brief Options for BCJ filters (except ARM64)
|
||||
* \brief Filter for Big endian PowerPC binaries
|
||||
*/
|
||||
#define LZMA_FILTER_POWERPC LZMA_VLI_C(0x05)
|
||||
|
||||
/**
|
||||
* \brief Filter for IA-64 (Itanium) binaries
|
||||
*/
|
||||
#define LZMA_FILTER_IA64 LZMA_VLI_C(0x06)
|
||||
|
||||
/**
|
||||
* \brief Filter for ARM binaries
|
||||
*/
|
||||
#define LZMA_FILTER_ARM LZMA_VLI_C(0x07)
|
||||
|
||||
/**
|
||||
* \brief Filter for ARM-Thumb binaries
|
||||
*/
|
||||
#define LZMA_FILTER_ARMTHUMB LZMA_VLI_C(0x08)
|
||||
|
||||
/**
|
||||
* \brief Filter for SPARC binaries
|
||||
*/
|
||||
#define LZMA_FILTER_SPARC LZMA_VLI_C(0x09)
|
||||
|
||||
/**
|
||||
* \brief Filter for ARM64 binaries
|
||||
*/
|
||||
#define LZMA_FILTER_ARM64 LZMA_VLI_C(0x0A)
|
||||
|
||||
|
||||
/**
|
||||
* \brief Options for BCJ filters
|
||||
*
|
||||
* The BCJ filters never change the size of the data. Specifying options
|
||||
* for them is optional: if pointer to options is NULL, default value is
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/block.h
|
||||
* \brief .xz Block handling
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -8,8 +9,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -32,19 +31,28 @@ typedef struct {
|
|||
* \brief Block format version
|
||||
*
|
||||
* To prevent API and ABI breakages when new features are needed,
|
||||
* a version number is used to indicate which fields in this
|
||||
* a version number is used to indicate which members in this
|
||||
* structure are in use:
|
||||
* - liblzma >= 5.0.0: version = 0 is supported.
|
||||
* - liblzma >= 5.1.4beta: Support for version = 1 was added,
|
||||
* which adds the ignore_check field.
|
||||
* which adds the ignore_check member.
|
||||
*
|
||||
* If version is greater than one, most Block related functions
|
||||
* will return LZMA_OPTIONS_ERROR (lzma_block_header_decode() works
|
||||
* with any version value).
|
||||
*
|
||||
* Read by:
|
||||
* - All functions that take pointer to lzma_block as argument,
|
||||
* including lzma_block_header_decode().
|
||||
* - lzma_block_header_size()
|
||||
* - lzma_block_header_encode()
|
||||
* - lzma_block_header_decode()
|
||||
* - lzma_block_compressed_size()
|
||||
* - lzma_block_unpadded_size()
|
||||
* - lzma_block_total_size()
|
||||
* - lzma_block_encoder()
|
||||
* - lzma_block_decoder()
|
||||
* - lzma_block_buffer_encode()
|
||||
* - lzma_block_uncomp_encode()
|
||||
* - lzma_block_buffer_decode()
|
||||
*
|
||||
* Written by:
|
||||
* - lzma_block_header_decode()
|
||||
|
@ -52,7 +60,7 @@ typedef struct {
|
|||
uint32_t version;
|
||||
|
||||
/**
|
||||
* \brief Size of the Block Header field
|
||||
* \brief Size of the Block Header field in bytes
|
||||
*
|
||||
* This is always a multiple of four.
|
||||
*
|
||||
|
@ -68,6 +76,7 @@ typedef struct {
|
|||
* Written by:
|
||||
* - lzma_block_header_size()
|
||||
* - lzma_block_buffer_encode()
|
||||
* - lzma_block_uncomp_encode()
|
||||
*/
|
||||
uint32_t header_size;
|
||||
# define LZMA_BLOCK_HEADER_SIZE_MIN 8
|
||||
|
@ -143,6 +152,7 @@ typedef struct {
|
|||
* - lzma_block_encoder()
|
||||
* - lzma_block_decoder()
|
||||
* - lzma_block_buffer_encode()
|
||||
* - lzma_block_uncomp_encode()
|
||||
* - lzma_block_buffer_decode()
|
||||
*/
|
||||
lzma_vli compressed_size;
|
||||
|
@ -167,6 +177,7 @@ typedef struct {
|
|||
* - lzma_block_encoder()
|
||||
* - lzma_block_decoder()
|
||||
* - lzma_block_buffer_encode()
|
||||
* - lzma_block_uncomp_encode()
|
||||
* - lzma_block_buffer_decode()
|
||||
*/
|
||||
lzma_vli uncompressed_size;
|
||||
|
@ -212,6 +223,7 @@ typedef struct {
|
|||
* - lzma_block_encoder()
|
||||
* - lzma_block_decoder()
|
||||
* - lzma_block_buffer_encode()
|
||||
* - lzma_block_uncomp_encode()
|
||||
* - lzma_block_buffer_decode()
|
||||
*/
|
||||
uint8_t raw_check[LZMA_CHECK_SIZE_MAX];
|
||||
|
@ -223,26 +235,56 @@ typedef struct {
|
|||
* with the currently supported options, so it is safe to leave these
|
||||
* uninitialized.
|
||||
*/
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_int3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_int4;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_int5;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_int6;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_int7;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_int8;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum4;
|
||||
|
||||
/**
|
||||
* \brief A flag to Block decoder to not verify the Check field
|
||||
*
|
||||
* This field is supported by liblzma >= 5.1.4beta if .version >= 1.
|
||||
* This member is supported by liblzma >= 5.1.4beta if .version >= 1.
|
||||
*
|
||||
* If this is set to true, the integrity check won't be calculated
|
||||
* and verified. Unless you know what you are doing, you should
|
||||
|
@ -260,12 +302,25 @@ typedef struct {
|
|||
*/
|
||||
lzma_bool ignore_check;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool4;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool5;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool6;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool7;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool8;
|
||||
|
||||
} lzma_block;
|
||||
|
@ -280,7 +335,8 @@ typedef struct {
|
|||
* Note that if the first byte is 0x00, it indicates beginning of Index; use
|
||||
* this macro only when the byte is not 0x00.
|
||||
*
|
||||
* There is no encoding macro, because Block Header encoder is enough for that.
|
||||
* There is no encoding macro because lzma_block_header_size() and
|
||||
* lzma_block_header_encode() should be used.
|
||||
*/
|
||||
#define lzma_block_header_size_decode(b) (((uint32_t)(b) + 1) * 4)
|
||||
|
||||
|
@ -294,17 +350,20 @@ typedef struct {
|
|||
* four and doesn't exceed LZMA_BLOCK_HEADER_SIZE_MAX. Increasing header_size
|
||||
* just means that lzma_block_header_encode() will add Header Padding.
|
||||
*
|
||||
* \return - LZMA_OK: Size calculated successfully and stored to
|
||||
* block->header_size.
|
||||
* - LZMA_OPTIONS_ERROR: Unsupported version, filters or
|
||||
* filter options.
|
||||
* - LZMA_PROG_ERROR: Invalid values like compressed_size == 0.
|
||||
*
|
||||
* \note This doesn't check that all the options are valid i.e. this
|
||||
* may return LZMA_OK even if lzma_block_header_encode() or
|
||||
* lzma_block_encoder() would fail. If you want to validate the
|
||||
* filter chain, consider using lzma_memlimit_encoder() which as
|
||||
* a side-effect validates the filter chain.
|
||||
*
|
||||
* \param block Block options
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Size calculated successfully and stored to
|
||||
* block->header_size.
|
||||
* - LZMA_OPTIONS_ERROR: Unsupported version, filters or
|
||||
* filter options.
|
||||
* - LZMA_PROG_ERROR: Invalid values like compressed_size == 0.
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_block_header_size(lzma_block *block)
|
||||
lzma_nothrow lzma_attr_warn_unused_result;
|
||||
|
@ -318,11 +377,12 @@ extern LZMA_API(lzma_ret) lzma_block_header_size(lzma_block *block)
|
|||
* lzma_block_header_size() is used, the Block Header will be padded to the
|
||||
* specified size.
|
||||
*
|
||||
* \param out Beginning of the output buffer. This must be
|
||||
* at least block->header_size bytes.
|
||||
* \param block Block options to be encoded.
|
||||
* \param[out] out Beginning of the output buffer. This must be
|
||||
* at least block->header_size bytes.
|
||||
*
|
||||
* \return - LZMA_OK: Encoding was successful. block->header_size
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Encoding was successful. block->header_size
|
||||
* bytes were written to output buffer.
|
||||
* - LZMA_OPTIONS_ERROR: Invalid or unsupported options.
|
||||
* - LZMA_PROG_ERROR: Invalid arguments, for example
|
||||
|
@ -354,14 +414,15 @@ extern LZMA_API(lzma_ret) lzma_block_header_encode(
|
|||
* block->filters must have been allocated, but they don't need to be
|
||||
* initialized (possible existing filter options are not freed).
|
||||
*
|
||||
* \param block Destination for Block options.
|
||||
* \param[out] block Destination for Block options
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() (and also free()
|
||||
* if an error occurs).
|
||||
* \param in Beginning of the input buffer. This must be
|
||||
* at least block->header_size bytes.
|
||||
*
|
||||
* \return - LZMA_OK: Decoding was successful. block->header_size
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Decoding was successful. block->header_size
|
||||
* bytes were read from the input buffer.
|
||||
* - LZMA_OPTIONS_ERROR: The Block Header specifies some
|
||||
* unsupported options such as unsupported filters. This can
|
||||
|
@ -398,7 +459,12 @@ extern LZMA_API(lzma_ret) lzma_block_header_decode(lzma_block *block,
|
|||
* field so that it can properly validate Compressed Size if it
|
||||
* was present in Block Header.
|
||||
*
|
||||
* \return - LZMA_OK: block->compressed_size was set successfully.
|
||||
* \param block Block options: block->header_size must
|
||||
* already be set with lzma_block_header_size().
|
||||
* \param unpadded_size Unpadded Size from the Index field in bytes
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: block->compressed_size was set successfully.
|
||||
* - LZMA_DATA_ERROR: unpadded_size is too small compared to
|
||||
* block->header_size and lzma_check_size(block->check).
|
||||
* - LZMA_PROG_ERROR: Some values are invalid. For example,
|
||||
|
@ -419,6 +485,9 @@ extern LZMA_API(lzma_ret) lzma_block_compressed_size(
|
|||
* Compressed Size, and size of the Check field. This is where this function
|
||||
* is needed.
|
||||
*
|
||||
* \param block Block options: block->header_size must already be
|
||||
* set with lzma_block_header_size().
|
||||
*
|
||||
* \return Unpadded Size on success, or zero on error.
|
||||
*/
|
||||
extern LZMA_API(lzma_vli) lzma_block_unpadded_size(const lzma_block *block)
|
||||
|
@ -431,6 +500,9 @@ extern LZMA_API(lzma_vli) lzma_block_unpadded_size(const lzma_block *block)
|
|||
* This is equivalent to lzma_block_unpadded_size() except that the returned
|
||||
* value includes the size of the Block Padding field.
|
||||
*
|
||||
* \param block Block options: block->header_size must already be
|
||||
* set with lzma_block_header_size().
|
||||
*
|
||||
* \return On success, total encoded size of the Block. On error,
|
||||
* zero is returned.
|
||||
*/
|
||||
|
@ -444,7 +516,17 @@ extern LZMA_API(lzma_vli) lzma_block_total_size(const lzma_block *block)
|
|||
* Valid actions for lzma_code() are LZMA_RUN, LZMA_SYNC_FLUSH (only if the
|
||||
* filter chain supports it), and LZMA_FINISH.
|
||||
*
|
||||
* \return - LZMA_OK: All good, continue with lzma_code().
|
||||
* The Block encoder encodes the Block Data, Block Padding, and Check value.
|
||||
* It does NOT encode the Block Header which can be encoded with
|
||||
* lzma_block_header_encode().
|
||||
*
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param block Block options: block->version, block->check,
|
||||
* and block->filters must have been initialized.
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: All good, continue with lzma_code().
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_UNSUPPORTED_CHECK: block->check specifies a Check ID
|
||||
|
@ -463,7 +545,16 @@ extern LZMA_API(lzma_ret) lzma_block_encoder(
|
|||
* Valid actions for lzma_code() are LZMA_RUN and LZMA_FINISH. Using
|
||||
* LZMA_FINISH is not required. It is supported only for convenience.
|
||||
*
|
||||
* \return - LZMA_OK: All good, continue with lzma_code().
|
||||
* The Block decoder decodes the Block Data, Block Padding, and Check value.
|
||||
* It does NOT decode the Block Header which can be decoded with
|
||||
* lzma_block_header_decode().
|
||||
*
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param block Block options
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: All good, continue with lzma_code().
|
||||
* - LZMA_PROG_ERROR
|
||||
* - LZMA_MEM_ERROR
|
||||
*/
|
||||
|
@ -477,6 +568,11 @@ extern LZMA_API(lzma_ret) lzma_block_decoder(
|
|||
*
|
||||
* This is equivalent to lzma_stream_buffer_bound() but for .xz Blocks.
|
||||
* See the documentation of lzma_stream_buffer_bound().
|
||||
*
|
||||
* \param uncompressed_size Size of the data to be encoded with the
|
||||
* single-call Block encoder.
|
||||
*
|
||||
* \return Maximum output size in bytes for single-call Block encoding.
|
||||
*/
|
||||
extern LZMA_API(size_t) lzma_block_buffer_bound(size_t uncompressed_size)
|
||||
lzma_nothrow;
|
||||
|
@ -505,13 +601,14 @@ extern LZMA_API(size_t) lzma_block_buffer_bound(size_t uncompressed_size)
|
|||
* Set to NULL to use malloc() and free().
|
||||
* \param in Beginning of the input buffer
|
||||
* \param in_size Size of the input buffer
|
||||
* \param out Beginning of the output buffer
|
||||
* \param out_pos The next byte will be written to out[*out_pos].
|
||||
* \param[out] out Beginning of the output buffer
|
||||
* \param[out] out_pos The next byte will be written to out[*out_pos].
|
||||
* *out_pos is updated only if encoding succeeds.
|
||||
* \param out_size Size of the out buffer; the first byte into
|
||||
* which no data is written to is out[out_size].
|
||||
*
|
||||
* \return - LZMA_OK: Encoding was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Encoding was successful.
|
||||
* - LZMA_BUF_ERROR: Not enough output buffer space.
|
||||
* - LZMA_UNSUPPORTED_CHECK
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
|
@ -537,6 +634,25 @@ extern LZMA_API(lzma_ret) lzma_block_buffer_encode(
|
|||
* Since the data won't be compressed, this function ignores block->filters.
|
||||
* This function doesn't take lzma_allocator because this function doesn't
|
||||
* allocate any memory from the heap.
|
||||
*
|
||||
* \param block Block options: block->version, block->check,
|
||||
* and block->filters must have been initialized.
|
||||
* \param in Beginning of the input buffer
|
||||
* \param in_size Size of the input buffer
|
||||
* \param[out] out Beginning of the output buffer
|
||||
* \param[out] out_pos The next byte will be written to out[*out_pos].
|
||||
* *out_pos is updated only if encoding succeeds.
|
||||
* \param out_size Size of the out buffer; the first byte into
|
||||
* which no data is written to is out[out_size].
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - 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
|
||||
* - LZMA_PROG_ERROR
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_block_uncomp_encode(lzma_block *block,
|
||||
const uint8_t *in, size_t in_size,
|
||||
|
@ -550,7 +666,7 @@ extern LZMA_API(lzma_ret) lzma_block_uncomp_encode(lzma_block *block,
|
|||
* This is single-call equivalent of lzma_block_decoder(), and requires that
|
||||
* the caller has already decoded Block Header and checked its memory usage.
|
||||
*
|
||||
* \param block Block options just like with lzma_block_decoder().
|
||||
* \param block Block options
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
* \param in Beginning of the input buffer
|
||||
|
@ -558,13 +674,14 @@ extern LZMA_API(lzma_ret) lzma_block_uncomp_encode(lzma_block *block,
|
|||
* *in_pos is updated only if decoding succeeds.
|
||||
* \param in_size Size of the input buffer; the first byte that
|
||||
* won't be read is in[in_size].
|
||||
* \param out Beginning of the output buffer
|
||||
* \param out_pos The next byte will be written to out[*out_pos].
|
||||
* \param[out] out Beginning of the output buffer
|
||||
* \param[out] out_pos The next byte will be written to out[*out_pos].
|
||||
* *out_pos is updated only if encoding succeeds.
|
||||
* \param out_size Size of the out buffer; the first byte into
|
||||
* which no data is written to is out[out_size].
|
||||
*
|
||||
* \return - LZMA_OK: Decoding was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Decoding was successful.
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_DATA_ERROR
|
||||
* - LZMA_MEM_ERROR
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/check.h
|
||||
* \brief Integrity checks
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -8,8 +9,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -71,12 +70,17 @@ typedef enum {
|
|||
/**
|
||||
* \brief Test if the given Check ID is supported
|
||||
*
|
||||
* Return true if the given Check ID is supported by this liblzma build.
|
||||
* Otherwise false is returned. It is safe to call this with a value that
|
||||
* is not in the range [0, 15]; in that case the return value is always false.
|
||||
* LZMA_CHECK_NONE and LZMA_CHECK_CRC32 are always supported (even if
|
||||
* liblzma is built with limited features).
|
||||
*
|
||||
* You can assume that LZMA_CHECK_NONE and LZMA_CHECK_CRC32 are always
|
||||
* supported (even if liblzma is built with limited features).
|
||||
* \note It is safe to call this with a value that is not in the
|
||||
* range [0, 15]; in that case the return value is always false.
|
||||
*
|
||||
* \param check Check ID
|
||||
*
|
||||
* \return lzma_bool:
|
||||
* - true if Check ID is supported by this liblzma build.
|
||||
* - false otherwise.
|
||||
*/
|
||||
extern LZMA_API(lzma_bool) lzma_check_is_supported(lzma_check check)
|
||||
lzma_nothrow lzma_attr_const;
|
||||
|
@ -90,7 +94,10 @@ extern LZMA_API(lzma_bool) lzma_check_is_supported(lzma_check check)
|
|||
* the Check field with the specified Check ID. The values are:
|
||||
* { 0, 4, 4, 4, 8, 8, 8, 16, 16, 16, 32, 32, 32, 64, 64, 64 }
|
||||
*
|
||||
* If the argument is not in the range [0, 15], UINT32_MAX is returned.
|
||||
* \param check Check ID
|
||||
*
|
||||
* \return Size of the Check field in bytes. If the argument is not in
|
||||
* the range [0, 15], UINT32_MAX is returned.
|
||||
*/
|
||||
extern LZMA_API(uint32_t) lzma_check_size(lzma_check check)
|
||||
lzma_nothrow lzma_attr_const;
|
||||
|
@ -126,25 +133,32 @@ extern LZMA_API(uint32_t) lzma_crc32(
|
|||
*
|
||||
* Calculate CRC64 using the polynomial from the ECMA-182 standard.
|
||||
*
|
||||
* This function is used similarly to lzma_crc32(). See its documentation.
|
||||
* This function is used similarly to lzma_crc32().
|
||||
*
|
||||
* \param buf Pointer to the input buffer
|
||||
* \param size Size of the input buffer
|
||||
* \param crc Previously returned CRC value. This is used to
|
||||
* calculate the CRC of a big buffer in smaller chunks.
|
||||
* Set to zero when starting a new calculation.
|
||||
*
|
||||
* \return Updated CRC value, which can be passed to this function
|
||||
* again to continue CRC calculation.
|
||||
*/
|
||||
extern LZMA_API(uint64_t) lzma_crc64(
|
||||
const uint8_t *buf, size_t size, uint64_t crc)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
||||
|
||||
/*
|
||||
* SHA-256 functions are currently not exported to public API.
|
||||
* Contact Lasse Collin if you think it should be.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* \brief Get the type of the integrity check
|
||||
*
|
||||
* This function can be called only immediately after lzma_code() has
|
||||
* returned LZMA_NO_CHECK, LZMA_UNSUPPORTED_CHECK, or LZMA_GET_CHECK.
|
||||
* Calling this function in any other situation has undefined behavior.
|
||||
*
|
||||
* \param strm Pointer to lzma_stream meeting the above conditions.
|
||||
*
|
||||
* \return Check ID in the lzma_stream, or undefined if called improperly.
|
||||
*/
|
||||
extern LZMA_API(lzma_check) lzma_get_check(const lzma_stream *strm)
|
||||
lzma_nothrow;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/container.h
|
||||
* \brief File formats
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -8,8 +9,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -51,7 +50,7 @@
|
|||
*
|
||||
* This flag modifies the preset to make the encoding significantly slower
|
||||
* while improving the compression ratio only marginally. This is useful
|
||||
* when you don't mind wasting time to get as small result as possible.
|
||||
* when you don't mind spending time to get as small result as possible.
|
||||
*
|
||||
* This flag doesn't affect the memory usage requirements of the decoder (at
|
||||
* least not significantly). The memory usage of the encoder may be increased
|
||||
|
@ -72,9 +71,12 @@ typedef struct {
|
|||
* Encoder: No flags are currently supported.
|
||||
*
|
||||
* Decoder: Bitwise-or of zero or more of the decoder flags:
|
||||
* LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK,
|
||||
* LZMA_TELL_ANY_CHECK, LZMA_IGNORE_CHECK,
|
||||
* LZMA_CONCATENATED, LZMA_FAIL_FAST
|
||||
* - LZMA_TELL_NO_CHECK
|
||||
* - LZMA_TELL_UNSUPPORTED_CHECK
|
||||
* - LZMA_TELL_ANY_CHECK
|
||||
* - LZMA_IGNORE_CHECK
|
||||
* - LZMA_CONCATENATED
|
||||
* - LZMA_FAIL_FAST
|
||||
*/
|
||||
uint32_t flags;
|
||||
|
||||
|
@ -111,7 +113,7 @@ typedef struct {
|
|||
/**
|
||||
* \brief Timeout to allow lzma_code() to return early
|
||||
*
|
||||
* Multithreading can make liblzma to consume input and produce
|
||||
* Multithreading can make liblzma consume input and produce
|
||||
* output in a very bursty way: it may first read a lot of input
|
||||
* to fill internal buffers, then no input or output occurs for
|
||||
* a while.
|
||||
|
@ -128,14 +130,13 @@ typedef struct {
|
|||
* LZMA_OK. Reasonable values are 100 ms or more. The xz command
|
||||
* line tool uses 300 ms.
|
||||
*
|
||||
* If long blocking times are fine for you, set timeout to a special
|
||||
* value of 0, which will disable the timeout mechanism and will make
|
||||
* If long blocking times are acceptable, set timeout to a special
|
||||
* value of 0. This will disable the timeout mechanism and will make
|
||||
* lzma_code() block until all the input is consumed or the output
|
||||
* buffer has been filled.
|
||||
*
|
||||
* \note Even with a timeout, lzma_code() might sometimes take
|
||||
* somewhat long time to return. No timing guarantees
|
||||
* are made.
|
||||
* a long time to return. No timing guarantees are made.
|
||||
*/
|
||||
uint32_t timeout;
|
||||
|
||||
|
@ -171,12 +172,25 @@ typedef struct {
|
|||
* with the currently supported options, so it is safe to leave these
|
||||
* uninitialized.
|
||||
*/
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int4;
|
||||
|
||||
/**
|
||||
|
@ -222,11 +236,22 @@ typedef struct {
|
|||
*/
|
||||
uint64_t memlimit_stop;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint64_t reserved_int7;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint64_t reserved_int8;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr4;
|
||||
|
||||
} lzma_mt;
|
||||
|
@ -240,8 +265,7 @@ typedef struct {
|
|||
* \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.
|
||||
* preset when encoding or UINT64_MAX on error.
|
||||
*/
|
||||
extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
@ -255,9 +279,8 @@ extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset)
|
|||
* \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.
|
||||
* that was compressed using the given preset or UINT64_MAX
|
||||
* on error.
|
||||
*/
|
||||
extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
@ -267,7 +290,16 @@ extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset)
|
|||
* \brief Initialize .xz Stream encoder using a preset number
|
||||
*
|
||||
* This function is intended for those who just want to use the basic features
|
||||
* if liblzma (that is, most developers out there).
|
||||
* of liblzma (that is, most developers out there).
|
||||
*
|
||||
* If initialization fails (return value is not LZMA_OK), all the memory
|
||||
* allocated for *strm by liblzma is always freed. Thus, there is no need
|
||||
* to call lzma_end() after failed initialization.
|
||||
*
|
||||
* If initialization succeeds, use lzma_code() to do the actual encoding.
|
||||
* Valid values for `action' (the second argument of lzma_code()) are
|
||||
* LZMA_RUN, LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, and LZMA_FINISH. In future,
|
||||
* there may be compression levels or flags that don't support LZMA_SYNC_FLUSH.
|
||||
*
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
|
@ -283,7 +315,8 @@ extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset)
|
|||
* unsure. LZMA_CHECK_CRC32 is good too as long as the
|
||||
* uncompressed file is not many gigabytes.
|
||||
*
|
||||
* \return - LZMA_OK: Initialization succeeded. Use lzma_code() to
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Initialization succeeded. Use lzma_code() to
|
||||
* encode your data.
|
||||
* - LZMA_MEM_ERROR: Memory allocation failed.
|
||||
* - LZMA_OPTIONS_ERROR: The given compression preset is not
|
||||
|
@ -292,15 +325,6 @@ extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset)
|
|||
* supported by this liblzma build.
|
||||
* - LZMA_PROG_ERROR: One or more of the parameters have values
|
||||
* that will never be valid. For example, strm == NULL.
|
||||
*
|
||||
* If initialization fails (return value is not LZMA_OK), all the memory
|
||||
* allocated for *strm by liblzma is always freed. Thus, there is no need
|
||||
* to call lzma_end() after failed initialization.
|
||||
*
|
||||
* If initialization succeeds, use lzma_code() to do the actual encoding.
|
||||
* Valid values for `action' (the second argument of lzma_code()) are
|
||||
* LZMA_RUN, LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, and LZMA_FINISH. In future,
|
||||
* there may be compression levels or flags that don't support LZMA_SYNC_FLUSH.
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_easy_encoder(
|
||||
lzma_stream *strm, uint32_t preset, lzma_check check)
|
||||
|
@ -321,13 +345,14 @@ extern LZMA_API(lzma_ret) lzma_easy_encoder(
|
|||
* Set to NULL to use malloc() and free().
|
||||
* \param in Beginning of the input buffer
|
||||
* \param in_size Size of the input buffer
|
||||
* \param out Beginning of the output buffer
|
||||
* \param out_pos The next byte will be written to out[*out_pos].
|
||||
* \param[out] out Beginning of the output buffer
|
||||
* \param[out] out_pos The next byte will be written to out[*out_pos].
|
||||
* *out_pos is updated only if encoding succeeds.
|
||||
* \param out_size Size of the out buffer; the first byte into
|
||||
* which no data is written to is out[out_size].
|
||||
*
|
||||
* \return - LZMA_OK: Encoding was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Encoding was successful.
|
||||
* - LZMA_BUF_ERROR: Not enough output buffer space.
|
||||
* - LZMA_UNSUPPORTED_CHECK
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
|
@ -345,14 +370,16 @@ extern LZMA_API(lzma_ret) lzma_easy_buffer_encode(
|
|||
/**
|
||||
* \brief Initialize .xz Stream encoder using a custom filter chain
|
||||
*
|
||||
* \param strm Pointer to properly prepared lzma_stream
|
||||
* \param filters Array of filters. This must be terminated with
|
||||
* filters[n].id = LZMA_VLI_UNKNOWN. See filter.h for
|
||||
* more information.
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param filters Array of filters terminated with
|
||||
* .id == LZMA_VLI_UNKNOWN. See filters.h for more
|
||||
* information.
|
||||
* \param check Type of the integrity check to calculate from
|
||||
* uncompressed data.
|
||||
*
|
||||
* \return - LZMA_OK: Initialization was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Initialization was successful.
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_UNSUPPORTED_CHECK
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
|
@ -392,10 +419,12 @@ extern LZMA_API(uint64_t) lzma_stream_encoder_mt_memusage(
|
|||
* LZMA_FULL_BARRIER, and LZMA_FINISH. Support for LZMA_SYNC_FLUSH might be
|
||||
* added in the future.
|
||||
*
|
||||
* \param strm Pointer to properly prepared lzma_stream
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param options Pointer to multithreaded compression options
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_UNSUPPORTED_CHECK
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
|
@ -421,7 +450,12 @@ extern LZMA_API(lzma_ret) lzma_stream_encoder_mt(
|
|||
* No kind of flushing is supported, because the file format doesn't make
|
||||
* it possible.
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param options Pointer to encoder options
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
|
@ -434,7 +468,7 @@ extern LZMA_API(lzma_ret) lzma_alone_encoder(
|
|||
/**
|
||||
* \brief Calculate output buffer size for single-call Stream encoder
|
||||
*
|
||||
* When trying to compress uncompressible data, the encoded size will be
|
||||
* When trying to compress incompressible data, the encoded size will be
|
||||
* slightly bigger than the input data. This function calculates how much
|
||||
* output buffer space is required to be sure that lzma_stream_buffer_encode()
|
||||
* doesn't return LZMA_BUF_ERROR.
|
||||
|
@ -450,8 +484,13 @@ extern LZMA_API(lzma_ret) lzma_alone_encoder(
|
|||
* \note The limit calculated by this function applies only to
|
||||
* single-call encoding. Multi-call encoding may (and probably
|
||||
* will) have larger maximum expansion when encoding
|
||||
* uncompressible data. Currently there is no function to
|
||||
* incompressible data. Currently there is no function to
|
||||
* calculate the maximum expansion of multi-call encoding.
|
||||
*
|
||||
* \param uncompressed_size Size in bytes of the uncompressed
|
||||
* input data
|
||||
*
|
||||
* \return Maximum number of bytes needed to store the compressed data.
|
||||
*/
|
||||
extern LZMA_API(size_t) lzma_stream_buffer_bound(size_t uncompressed_size)
|
||||
lzma_nothrow;
|
||||
|
@ -460,22 +499,23 @@ extern LZMA_API(size_t) lzma_stream_buffer_bound(size_t uncompressed_size)
|
|||
/**
|
||||
* \brief Single-call .xz Stream encoder
|
||||
*
|
||||
* \param filters Array of filters. This must be terminated with
|
||||
* filters[n].id = LZMA_VLI_UNKNOWN. See filter.h
|
||||
* for more information.
|
||||
* \param filters Array of filters terminated with
|
||||
* .id == LZMA_VLI_UNKNOWN. See filters.h for more
|
||||
* information.
|
||||
* \param check Type of the integrity check to calculate from
|
||||
* uncompressed data.
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
* \param in Beginning of the input buffer
|
||||
* \param in_size Size of the input buffer
|
||||
* \param out Beginning of the output buffer
|
||||
* \param out_pos The next byte will be written to out[*out_pos].
|
||||
* \param[out] out Beginning of the output buffer
|
||||
* \param[out] out_pos The next byte will be written to out[*out_pos].
|
||||
* *out_pos is updated only if encoding succeeds.
|
||||
* \param out_size Size of the out buffer; the first byte into
|
||||
* which no data is written to is out[out_size].
|
||||
*
|
||||
* \return - LZMA_OK: Encoding was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Encoding was successful.
|
||||
* - LZMA_BUF_ERROR: Not enough output buffer space.
|
||||
* - LZMA_UNSUPPORTED_CHECK
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
|
@ -531,7 +571,12 @@ extern LZMA_API(lzma_ret) lzma_stream_buffer_encode(
|
|||
* uses too where many small streams are needed. XZ Embedded includes a
|
||||
* decoder for this format.
|
||||
*
|
||||
* \return - LZMA_STREAM_END: All good. Check the amounts of input used
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param options Pointer to encoder options
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_STREAM_END: All good. Check the amounts of input used
|
||||
* and output produced. Store the amount of input used
|
||||
* (uncompressed size) as it needs to be known to decompress
|
||||
* the data.
|
||||
|
@ -542,7 +587,8 @@ extern LZMA_API(lzma_ret) lzma_stream_buffer_encode(
|
|||
* output space (6 bytes) to create a valid MicroLZMA stream.
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_microlzma_encoder(
|
||||
lzma_stream *strm, const lzma_options_lzma *options);
|
||||
lzma_stream *strm, const lzma_options_lzma *options)
|
||||
lzma_nothrow;
|
||||
|
||||
|
||||
/************
|
||||
|
@ -648,7 +694,8 @@ extern LZMA_API(lzma_ret) lzma_microlzma_encoder(
|
|||
/**
|
||||
* \brief Initialize .xz Stream decoder
|
||||
*
|
||||
* \param strm Pointer to properly prepared lzma_stream
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param memlimit Memory usage limit as bytes. Use UINT64_MAX
|
||||
* to effectively disable the limiter. liblzma
|
||||
* 5.2.3 and earlier don't allow 0 here and return
|
||||
|
@ -659,7 +706,8 @@ extern LZMA_API(lzma_ret) lzma_microlzma_encoder(
|
|||
* LZMA_TELL_ANY_CHECK, LZMA_IGNORE_CHECK,
|
||||
* LZMA_CONCATENATED, LZMA_FAIL_FAST
|
||||
*
|
||||
* \return - LZMA_OK: Initialization was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Initialization was successful.
|
||||
* - LZMA_MEM_ERROR: Cannot allocate memory.
|
||||
* - LZMA_OPTIONS_ERROR: Unsupported flags
|
||||
* - LZMA_PROG_ERROR
|
||||
|
@ -672,9 +720,6 @@ extern LZMA_API(lzma_ret) lzma_stream_decoder(
|
|||
/**
|
||||
* \brief Initialize multithreaded .xz Stream decoder
|
||||
*
|
||||
* \param strm Pointer to properly prepared lzma_stream
|
||||
* \param options Pointer to multithreaded compression options
|
||||
*
|
||||
* The decoder can decode multiple Blocks in parallel. This requires that each
|
||||
* Block Header contains the Compressed Size and Uncompressed size fields
|
||||
* which are added by the multi-threaded encoder, see lzma_stream_encoder_mt().
|
||||
|
@ -688,7 +733,12 @@ extern LZMA_API(lzma_ret) lzma_stream_decoder(
|
|||
* This function behaves like lzma_stream_decoder() when options->threads == 1
|
||||
* and options->memlimit_threading <= 1.
|
||||
*
|
||||
* \return - LZMA_OK: Initialization was successful.
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param options Pointer to multithreaded compression options
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Initialization was successful.
|
||||
* - LZMA_MEM_ERROR: Cannot allocate memory.
|
||||
* - LZMA_MEMLIMIT_ERROR: Memory usage limit was reached.
|
||||
* - LZMA_OPTIONS_ERROR: Unsupported flags.
|
||||
|
@ -715,7 +765,8 @@ extern LZMA_API(lzma_ret) lzma_stream_decoder_mt(
|
|||
* as it doesn't support any decoder flags. It will return LZMA_STREAM_END
|
||||
* after one .lzma stream.)
|
||||
*
|
||||
* \param strm Pointer to properly prepared lzma_stream
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param memlimit Memory usage limit as bytes. Use UINT64_MAX
|
||||
* to effectively disable the limiter. liblzma
|
||||
* 5.2.3 and earlier don't allow 0 here and return
|
||||
|
@ -726,7 +777,8 @@ extern LZMA_API(lzma_ret) lzma_stream_decoder_mt(
|
|||
* LZMA_TELL_ANY_CHECK, LZMA_IGNORE_CHECK,
|
||||
* LZMA_CONCATENATED, LZMA_FAIL_FAST
|
||||
*
|
||||
* \return - LZMA_OK: Initialization was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Initialization was successful.
|
||||
* - LZMA_MEM_ERROR: Cannot allocate memory.
|
||||
* - LZMA_OPTIONS_ERROR: Unsupported flags
|
||||
* - LZMA_PROG_ERROR
|
||||
|
@ -739,18 +791,20 @@ extern LZMA_API(lzma_ret) lzma_auto_decoder(
|
|||
/**
|
||||
* \brief Initialize .lzma decoder (legacy file format)
|
||||
*
|
||||
* \param strm Pointer to properly prepared lzma_stream
|
||||
* Valid `action' arguments to lzma_code() are LZMA_RUN and LZMA_FINISH.
|
||||
* There is no need to use LZMA_FINISH, but it's allowed because it may
|
||||
* simplify certain types of applications.
|
||||
*
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param memlimit Memory usage limit as bytes. Use UINT64_MAX
|
||||
* to effectively disable the limiter. liblzma
|
||||
* 5.2.3 and earlier don't allow 0 here and return
|
||||
* LZMA_PROG_ERROR; later versions treat 0 as if 1
|
||||
* had been specified.
|
||||
*
|
||||
* Valid `action' arguments to lzma_code() are LZMA_RUN and LZMA_FINISH.
|
||||
* There is no need to use LZMA_FINISH, but it's allowed because it may
|
||||
* simplify certain types of applications.
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
*/
|
||||
|
@ -762,18 +816,6 @@ extern LZMA_API(lzma_ret) lzma_alone_decoder(
|
|||
/**
|
||||
* \brief Initialize .lz (lzip) decoder (a foreign file format)
|
||||
*
|
||||
* \param strm Pointer to properly prepared lzma_stream
|
||||
* \param memlimit Memory usage limit as bytes. Use UINT64_MAX
|
||||
* to effectively disable the limiter.
|
||||
* \param flags Bitwise-or of flags, or zero for no flags.
|
||||
* All decoder flags listed above are supported
|
||||
* although only LZMA_CONCATENATED and (in very rare
|
||||
* cases) LZMA_IGNORE_CHECK are actually useful.
|
||||
* LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK,
|
||||
* and LZMA_FAIL_FAST do nothing. LZMA_TELL_ANY_CHECK
|
||||
* is supported for consistency only as CRC32 is
|
||||
* always used in the .lz format.
|
||||
*
|
||||
* This decoder supports the .lz format version 0 and the unextended .lz
|
||||
* format version 1:
|
||||
*
|
||||
|
@ -807,7 +849,21 @@ extern LZMA_API(lzma_ret) lzma_alone_decoder(
|
|||
* one should ensure that none of the first four bytes of trailing data are
|
||||
* equal to the magic bytes because lzip >= 1.20 requires it by default.
|
||||
*
|
||||
* \return - LZMA_OK: Initialization was successful.
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param memlimit Memory usage limit as bytes. Use UINT64_MAX
|
||||
* to effectively disable the limiter.
|
||||
* \param flags Bitwise-or of flags, or zero for no flags.
|
||||
* All decoder flags listed above are supported
|
||||
* although only LZMA_CONCATENATED and (in very rare
|
||||
* cases) LZMA_IGNORE_CHECK are actually useful.
|
||||
* LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK,
|
||||
* and LZMA_FAIL_FAST do nothing. LZMA_TELL_ANY_CHECK
|
||||
* is supported for consistency only as CRC32 is
|
||||
* always used in the .lz format.
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Initialization was successful.
|
||||
* - LZMA_MEM_ERROR: Cannot allocate memory.
|
||||
* - LZMA_OPTIONS_ERROR: Unsupported flags
|
||||
* - LZMA_PROG_ERROR
|
||||
|
@ -836,13 +892,14 @@ extern LZMA_API(lzma_ret) lzma_lzip_decoder(
|
|||
* *in_pos is updated only if decoding succeeds.
|
||||
* \param in_size Size of the input buffer; the first byte that
|
||||
* won't be read is in[in_size].
|
||||
* \param out Beginning of the output buffer
|
||||
* \param out_pos The next byte will be written to out[*out_pos].
|
||||
* \param[out] out Beginning of the output buffer
|
||||
* \param[out] out_pos The next byte will be written to out[*out_pos].
|
||||
* *out_pos is updated only if decoding succeeds.
|
||||
* \param out_size Size of the out buffer; the first byte into
|
||||
* which no data is written to is out[out_size].
|
||||
*
|
||||
* \return - LZMA_OK: Decoding was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Decoding was successful.
|
||||
* - LZMA_FORMAT_ERROR
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_DATA_ERROR
|
||||
|
@ -867,12 +924,13 @@ extern LZMA_API(lzma_ret) lzma_stream_buffer_decode(
|
|||
/**
|
||||
* \brief MicroLZMA decoder
|
||||
*
|
||||
* See lzma_microlzma_decoder() for more information.
|
||||
* See lzma_microlzma_encoder() for more information.
|
||||
*
|
||||
* The lzma_code() usage with this decoder is completely normal. The
|
||||
* special behavior of lzma_code() applies to lzma_microlzma_encoder() only.
|
||||
*
|
||||
* \param strm Pointer to properly prepared lzma_stream
|
||||
* \param strm Pointer to lzma_stream that is at least initialized
|
||||
* with LZMA_STREAM_INIT.
|
||||
* \param comp_size Compressed size of the MicroLZMA stream.
|
||||
* The caller must somehow know this exactly.
|
||||
* \param uncomp_size Uncompressed size of the MicroLZMA stream.
|
||||
|
@ -897,8 +955,14 @@ extern LZMA_API(lzma_ret) lzma_stream_buffer_decode(
|
|||
* the implementation in XZ Embedded it doesn't
|
||||
* affect the memory usage if one specifies bigger
|
||||
* dictionary than actually required.)
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_microlzma_decoder(
|
||||
lzma_stream *strm, uint64_t comp_size,
|
||||
uint64_t uncomp_size, lzma_bool uncomp_size_is_exact,
|
||||
uint32_t dict_size);
|
||||
uint32_t dict_size) lzma_nothrow;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/delta.h
|
||||
* \brief Delta filter
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -8,8 +9,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -57,7 +56,15 @@ typedef struct {
|
|||
* - 24-bit RGB image data: distance = 3 bytes
|
||||
*/
|
||||
uint32_t dist;
|
||||
|
||||
/**
|
||||
* \brief Minimum value for lzma_options_delta.dist.
|
||||
*/
|
||||
# define LZMA_DELTA_DIST_MIN 1
|
||||
|
||||
/**
|
||||
* \brief Maximum value for lzma_options_delta.dist.
|
||||
*/
|
||||
# define LZMA_DELTA_DIST_MAX 256
|
||||
|
||||
/*
|
||||
|
@ -67,11 +74,23 @@ typedef struct {
|
|||
* when type is LZMA_DELTA_TYPE_BYTE, so it is safe to leave these
|
||||
* uninitialized.
|
||||
*/
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int4;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr2;
|
||||
|
||||
} lzma_options_delta;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/filter.h
|
||||
* \brief Common filter related types and functions
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -8,8 +9,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -29,7 +28,7 @@
|
|||
/**
|
||||
* \brief Filter options
|
||||
*
|
||||
* This structure is used to pass Filter ID and a pointer filter's
|
||||
* This structure is used to pass a Filter ID and a pointer to the filter's
|
||||
* options to liblzma. A few functions work with a single lzma_filter
|
||||
* structure, while most functions expect a filter chain.
|
||||
*
|
||||
|
@ -37,8 +36,8 @@
|
|||
* The array is terminated with .id = LZMA_VLI_UNKNOWN. Thus, the filter
|
||||
* array must have LZMA_FILTERS_MAX + 1 elements (that is, five) to
|
||||
* be able to hold any arbitrary filter chain. This is important when
|
||||
* using lzma_block_header_decode() from block.h, because too small
|
||||
* array would make liblzma write past the end of the filters array.
|
||||
* using lzma_block_header_decode() from block.h, because a filter array
|
||||
* that is too small would make liblzma write past the end of the array.
|
||||
*/
|
||||
typedef struct {
|
||||
/**
|
||||
|
@ -68,12 +67,12 @@ typedef struct {
|
|||
/**
|
||||
* \brief Test if the given Filter ID is supported for encoding
|
||||
*
|
||||
* Return true if the give Filter ID is supported for encoding by this
|
||||
* liblzma build. Otherwise false is returned.
|
||||
* \param id Filter ID
|
||||
*
|
||||
* There is no way to list which filters are available in this particular
|
||||
* liblzma version and build. It would be useless, because the application
|
||||
* couldn't know what kind of options the filter would need.
|
||||
* \return lzma_bool:
|
||||
* - true if the Filter ID is supported for encoding by this
|
||||
* liblzma build.
|
||||
* - false otherwise.
|
||||
*/
|
||||
extern LZMA_API(lzma_bool) lzma_filter_encoder_is_supported(lzma_vli id)
|
||||
lzma_nothrow lzma_attr_const;
|
||||
|
@ -82,8 +81,12 @@ extern LZMA_API(lzma_bool) lzma_filter_encoder_is_supported(lzma_vli id)
|
|||
/**
|
||||
* \brief Test if the given Filter ID is supported for decoding
|
||||
*
|
||||
* Return true if the give Filter ID is supported for decoding by this
|
||||
* liblzma build. Otherwise false is returned.
|
||||
* \param id Filter ID
|
||||
*
|
||||
* \return lzma_bool:
|
||||
* - true if the Filter ID is supported for decoding by this
|
||||
* liblzma build.
|
||||
* - false otherwise.
|
||||
*/
|
||||
extern LZMA_API(lzma_bool) lzma_filter_decoder_is_supported(lzma_vli id)
|
||||
lzma_nothrow lzma_attr_const;
|
||||
|
@ -112,7 +115,14 @@ extern LZMA_API(lzma_bool) lzma_filter_decoder_is_supported(lzma_vli id)
|
|||
* array and leave its contents in an undefined state if an error occurs.
|
||||
* liblzma 5.2.7 and newer only modify the dest array when returning LZMA_OK.
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \param src Array of filters terminated with
|
||||
* .id == LZMA_VLI_UNKNOWN.
|
||||
* \param[out] dest Destination filter array
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_OPTIONS_ERROR: Unsupported Filter ID and its options
|
||||
* is not NULL.
|
||||
|
@ -137,8 +147,13 @@ extern LZMA_API(lzma_ret) lzma_filters_copy(
|
|||
* - options will be set to NULL.
|
||||
* - id will be set to LZMA_VLI_UNKNOWN.
|
||||
*
|
||||
* If filters is NULL, this does nothing but remember that this never frees
|
||||
* the filters array itself.
|
||||
* If filters is NULL, this does nothing. Again, this never frees the
|
||||
* filters array itself.
|
||||
*
|
||||
* \param filters Array of filters terminated with
|
||||
* .id == LZMA_VLI_UNKNOWN.
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
*/
|
||||
extern LZMA_API(void) lzma_filters_free(
|
||||
lzma_filter *filters, const lzma_allocator *allocator)
|
||||
|
@ -156,9 +171,7 @@ extern LZMA_API(void) lzma_filters_free(
|
|||
* .id == LZMA_VLI_UNKNOWN.
|
||||
*
|
||||
* \return Number of bytes of memory required for the given
|
||||
* filter chain when encoding. If an error occurs,
|
||||
* for example due to unsupported filter chain,
|
||||
* UINT64_MAX is returned.
|
||||
* filter chain when encoding or UINT64_MAX on error.
|
||||
*/
|
||||
extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
@ -175,9 +188,7 @@ 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. If an error occurs,
|
||||
* for example due to unsupported filter chain,
|
||||
* UINT64_MAX is returned.
|
||||
* filter chain when decoding or UINT64_MAX on error.
|
||||
*/
|
||||
extern LZMA_API(uint64_t) lzma_raw_decoder_memusage(const lzma_filter *filters)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
@ -188,14 +199,16 @@ extern LZMA_API(uint64_t) lzma_raw_decoder_memusage(const lzma_filter *filters)
|
|||
*
|
||||
* This function may be useful when implementing custom file formats.
|
||||
*
|
||||
* \param strm Pointer to properly prepared lzma_stream
|
||||
* \param filters Array of lzma_filter structures. The end of the
|
||||
* array must be marked with .id = LZMA_VLI_UNKNOWN.
|
||||
*
|
||||
* The `action' with lzma_code() can be LZMA_RUN, LZMA_SYNC_FLUSH (if the
|
||||
* filter chain supports it), or LZMA_FINISH.
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \param strm Pointer to lzma_stream that is at least
|
||||
* initialized with LZMA_STREAM_INIT.
|
||||
* \param filters Array of filters terminated with
|
||||
* .id == LZMA_VLI_UNKNOWN.
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
|
@ -213,7 +226,13 @@ extern LZMA_API(lzma_ret) lzma_raw_encoder(
|
|||
* The `action' with lzma_code() can be LZMA_RUN or LZMA_FINISH. Using
|
||||
* LZMA_FINISH is not required, it is supported just for convenience.
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \param strm Pointer to lzma_stream that is at least
|
||||
* initialized with LZMA_STREAM_INIT.
|
||||
* \param filters Array of filters terminated with
|
||||
* .id == LZMA_VLI_UNKNOWN.
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
|
@ -235,7 +254,7 @@ extern LZMA_API(lzma_ret) lzma_raw_decoder(
|
|||
* chain to be used for the next Block(s).
|
||||
*
|
||||
* - After LZMA_SYNC_FLUSH: Raw encoder (lzma_raw_encoder()),
|
||||
* Block encocder (lzma_block_encoder()), and single-threaded .xz Stream
|
||||
* Block encoder (lzma_block_encoder()), and single-threaded .xz Stream
|
||||
* encoder (lzma_stream_encoder()) allow changing certain filter-specific
|
||||
* options in the middle of encoding. The actual filters in the chain
|
||||
* (Filter IDs) must not be changed! Currently only the lc, lp, and pb
|
||||
|
@ -249,7 +268,13 @@ extern LZMA_API(lzma_ret) lzma_raw_decoder(
|
|||
* as if LZMA_FULL_FLUSH (Stream encoders) or LZMA_SYNC_FLUSH (Raw or Block
|
||||
* encoder) had been used right before calling this function.
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \param strm Pointer to lzma_stream that is at least
|
||||
* initialized with LZMA_STREAM_INIT.
|
||||
* \param filters Array of filters terminated with
|
||||
* .id == LZMA_VLI_UNKNOWN.
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_MEMLIMIT_ERROR
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
|
@ -262,29 +287,30 @@ extern LZMA_API(lzma_ret) lzma_filters_update(
|
|||
/**
|
||||
* \brief Single-call raw encoder
|
||||
*
|
||||
* \param filters Array of lzma_filter structures. The end of the
|
||||
* array must be marked with .id = LZMA_VLI_UNKNOWN.
|
||||
* \note There is no function to calculate how big output buffer
|
||||
* would surely be big enough. (lzma_stream_buffer_bound()
|
||||
* works only for lzma_stream_buffer_encode(); raw encoder
|
||||
* won't necessarily meet that bound.)
|
||||
*
|
||||
* \param filters Array of filters terminated with
|
||||
* .id == LZMA_VLI_UNKNOWN.
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
* \param in Beginning of the input buffer
|
||||
* \param in_size Size of the input buffer
|
||||
* \param out Beginning of the output buffer
|
||||
* \param out_pos The next byte will be written to out[*out_pos].
|
||||
* \param[out] out Beginning of the output buffer
|
||||
* \param[out] out_pos The next byte will be written to out[*out_pos].
|
||||
* *out_pos is updated only if encoding succeeds.
|
||||
* \param out_size Size of the out buffer; the first byte into
|
||||
* which no data is written to is out[out_size].
|
||||
*
|
||||
* \return - LZMA_OK: Encoding was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Encoding was successful.
|
||||
* - LZMA_BUF_ERROR: Not enough output buffer space.
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_DATA_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
*
|
||||
* \note There is no function to calculate how big output buffer
|
||||
* would surely be big enough. (lzma_stream_buffer_bound()
|
||||
* works only for lzma_stream_buffer_encode(); raw encoder
|
||||
* won't necessarily meet that bound.)
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_raw_buffer_encode(
|
||||
const lzma_filter *filters, const lzma_allocator *allocator,
|
||||
|
@ -295,8 +321,8 @@ extern LZMA_API(lzma_ret) lzma_raw_buffer_encode(
|
|||
/**
|
||||
* \brief Single-call raw decoder
|
||||
*
|
||||
* \param filters Array of lzma_filter structures. The end of the
|
||||
* array must be marked with .id = LZMA_VLI_UNKNOWN.
|
||||
* \param filters Array of filters terminated with
|
||||
* .id == LZMA_VLI_UNKNOWN.
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
* \param in Beginning of the input buffer
|
||||
|
@ -304,11 +330,19 @@ extern LZMA_API(lzma_ret) lzma_raw_buffer_encode(
|
|||
* *in_pos is updated only if decoding succeeds.
|
||||
* \param in_size Size of the input buffer; the first byte that
|
||||
* won't be read is in[in_size].
|
||||
* \param out Beginning of the output buffer
|
||||
* \param out_pos The next byte will be written to out[*out_pos].
|
||||
* \param[out] out Beginning of the output buffer
|
||||
* \param[out] out_pos The next byte will be written to out[*out_pos].
|
||||
* *out_pos is updated only if encoding succeeds.
|
||||
* \param out_size Size of the out buffer; the first byte into
|
||||
* which no data is written to is out[out_size].
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Decoding was successful.
|
||||
* - LZMA_BUF_ERROR: Not enough output buffer space.
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_DATA_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_raw_buffer_decode(
|
||||
const lzma_filter *filters, const lzma_allocator *allocator,
|
||||
|
@ -322,18 +356,19 @@ extern LZMA_API(lzma_ret) lzma_raw_buffer_decode(
|
|||
* This function may be useful when implementing custom file formats
|
||||
* using the raw encoder and decoder.
|
||||
*
|
||||
* \param size Pointer to uint32_t to hold the size of the properties
|
||||
* \param filter Filter ID and options (the size of the properties may
|
||||
* vary depending on the options)
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
*
|
||||
* \note This function validates the Filter ID, but does not
|
||||
* necessarily validate the options. Thus, it is possible
|
||||
* that this returns LZMA_OK while the following call to
|
||||
* lzma_properties_encode() returns LZMA_OPTIONS_ERROR.
|
||||
*
|
||||
* \param[out] size Pointer to uint32_t to hold the size of the properties
|
||||
* \param filter Filter ID and options (the size of the properties may
|
||||
* vary depending on the options)
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_properties_size(
|
||||
uint32_t *size, const lzma_filter *filter) lzma_nothrow;
|
||||
|
@ -342,15 +377,6 @@ extern LZMA_API(lzma_ret) lzma_properties_size(
|
|||
/**
|
||||
* \brief Encode the Filter Properties field
|
||||
*
|
||||
* \param filter Filter ID and options
|
||||
* \param props Buffer to hold the encoded options. The size of
|
||||
* buffer must have been already determined with
|
||||
* lzma_properties_size().
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
*
|
||||
* \note Even this function won't validate more options than actually
|
||||
* necessary. Thus, it is possible that encoding the properties
|
||||
* succeeds but using the same options to initialize the encoder
|
||||
|
@ -360,6 +386,15 @@ extern LZMA_API(lzma_ret) lzma_properties_size(
|
|||
* of the Filter Properties field is zero, calling
|
||||
* lzma_properties_encode() is not required, but it
|
||||
* won't do any harm either.
|
||||
*
|
||||
* \param filter Filter ID and options
|
||||
* \param[out] props Buffer to hold the encoded options. The size of
|
||||
* the buffer must have been already determined with
|
||||
* lzma_properties_size().
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_PROG_ERROR
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_properties_encode(
|
||||
const lzma_filter *filter, uint8_t *props) lzma_nothrow;
|
||||
|
@ -375,15 +410,16 @@ extern LZMA_API(lzma_ret) lzma_properties_encode(
|
|||
* it's application's responsibility to free it when
|
||||
* appropriate. filter->options is set to NULL if
|
||||
* there are no properties or if an error occurs.
|
||||
* \param allocator Custom memory allocator used to allocate the
|
||||
* options. Set to NULL to use the default malloc(),
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
* and in case of an error, also free().
|
||||
* \param props Input buffer containing the properties.
|
||||
* \param props_size Size of the properties. This must be the exact
|
||||
* size; giving too much or too little input will
|
||||
* return LZMA_OPTIONS_ERROR.
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_MEM_ERROR
|
||||
*/
|
||||
|
@ -398,18 +434,19 @@ extern LZMA_API(lzma_ret) lzma_properties_decode(
|
|||
* Knowing the size of Filter Flags is useful to know when allocating
|
||||
* memory to hold the encoded Filter Flags.
|
||||
*
|
||||
* \param size Pointer to integer to hold the calculated size
|
||||
* \note If you need to calculate size of List of Filter Flags,
|
||||
* you need to loop over every lzma_filter entry.
|
||||
*
|
||||
* \param[out] size Pointer to integer to hold the calculated size
|
||||
* \param filter Filter ID and associated options whose encoded
|
||||
* size is to be calculated
|
||||
*
|
||||
* \return - LZMA_OK: *size set successfully. Note that this doesn't
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: *size set successfully. Note that this doesn't
|
||||
* guarantee that filter->options is valid, thus
|
||||
* lzma_filter_flags_encode() may still fail.
|
||||
* - LZMA_OPTIONS_ERROR: Unknown Filter ID or unsupported options.
|
||||
* - LZMA_PROG_ERROR: Invalid options
|
||||
*
|
||||
* \note If you need to calculate size of List of Filter Flags,
|
||||
* you need to loop over every lzma_filter entry.
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_filter_flags_size(
|
||||
uint32_t *size, const lzma_filter *filter)
|
||||
|
@ -423,12 +460,13 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_size(
|
|||
* This is due to how this function is used internally by liblzma.
|
||||
*
|
||||
* \param filter Filter ID and options to be encoded
|
||||
* \param out Beginning of the output buffer
|
||||
* \param out_pos out[*out_pos] is the next write position. This
|
||||
* \param[out] out Beginning of the output buffer
|
||||
* \param[out] out_pos out[*out_pos] is the next write position. This
|
||||
* is updated by the encoder.
|
||||
* \param out_size out[out_size] is the first byte to not write.
|
||||
*
|
||||
* \return - LZMA_OK: Encoding was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Encoding was successful.
|
||||
* - LZMA_OPTIONS_ERROR: Invalid or unsupported options.
|
||||
* - LZMA_PROG_ERROR: Invalid options or not enough output
|
||||
* buffer space (you should have checked it with
|
||||
|
@ -443,11 +481,26 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filter,
|
|||
* \brief Decode Filter Flags from given buffer
|
||||
*
|
||||
* The decoded result is stored into *filter. The old value of
|
||||
* filter->options is not free()d.
|
||||
* filter->options is not free()d. If anything other than LZMA_OK
|
||||
* is returned, filter->options is set to NULL.
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \param[out] filter Destination filter. The decoded Filter ID will
|
||||
* be stored in filter->id. If options are needed
|
||||
* they will be allocated and the pointer will be
|
||||
* stored in filter->options.
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
* \param in Beginning of the input buffer
|
||||
* \param[out] in_pos The next byte will be read from in[*in_pos].
|
||||
* *in_pos is updated only if decoding succeeds.
|
||||
* \param in_size Size of the input buffer; the first byte that
|
||||
* won't be read is in[in_size].
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_OPTIONS_ERROR
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_DATA_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_filter_flags_decode(
|
||||
|
@ -474,8 +527,9 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_decode(
|
|||
*
|
||||
* By default lzma_str_to_filters() can return an error if the filter chain
|
||||
* as a whole isn't usable in the .xz format or in the raw encoder or decoder.
|
||||
* With this flag the validation is skipped (this doesn't affect the handling
|
||||
* of the individual filter options).
|
||||
* With this flag, this validation is skipped. This flag doesn't affect the
|
||||
* handling of the individual filter options. To allow non-.xz filters also
|
||||
* LZMA_STR_ALL_FILTERS is needed.
|
||||
*/
|
||||
#define LZMA_STR_NO_VALIDATION UINT32_C(0x02)
|
||||
|
||||
|
@ -573,34 +627,6 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_decode(
|
|||
* lzma_str_list_filters(). See the xz man page for the description
|
||||
* of filter names and options.
|
||||
*
|
||||
* \param str User-supplied string describing a preset or
|
||||
* a filter chain. If a default value is needed and
|
||||
* you don't know what would be good, use "6" since
|
||||
* that is the default preset in xz too.
|
||||
* \param error_pos If this isn't NULL, this value will be set on
|
||||
* both success and on all errors. This tells the
|
||||
* location of the error in the string. This is
|
||||
* an int to make it straightforward to use this
|
||||
* as printf() field width. The value is guaranteed
|
||||
* to be in the range [0, INT_MAX] even if strlen(str)
|
||||
* somehow was greater than INT_MAX.
|
||||
* \param filters An array of lzma_filter structures. There must
|
||||
* be LZMA_FILTERS_MAX + 1 (that is, five) elements
|
||||
* in the array. The old contents are ignored so it
|
||||
* doesn't need to be initialized. This array is
|
||||
* modified only if this function returns LZMA_OK.
|
||||
* Once the allocated filter options are no longer
|
||||
* needed, lzma_filters_free() can be used to free the
|
||||
* options (it doesn't free the filters array itself).
|
||||
* \param flags Bitwise-or of zero or more of the flags
|
||||
* LZMA_STR_ALL_FILTERS and LZMA_STR_NO_VALIDATION.
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
*
|
||||
* \return On success, NULL is returned. On error, a statically-allocated
|
||||
* error message is returned which together with the error_pos
|
||||
* should give some idea what is wrong.
|
||||
*
|
||||
* For command line applications, below is an example how an error message
|
||||
* can be displayed. Note the use of an empty string for the field width.
|
||||
* If "^" was used there it would create an off-by-one error except at
|
||||
|
@ -618,6 +644,34 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_decode(
|
|||
* printf("%s: %s\n", argv[0], msg);
|
||||
* }
|
||||
* \endcode
|
||||
*
|
||||
* \param str User-supplied string describing a preset or
|
||||
* a filter chain. If a default value is needed and
|
||||
* you don't know what would be good, use "6" since
|
||||
* that is the default preset in xz too.
|
||||
* \param[out] error_pos If this isn't NULL, this value will be set on
|
||||
* both success and on all errors. This tells the
|
||||
* location of the error in the string. This is
|
||||
* an int to make it straightforward to use this
|
||||
* as printf() field width. The value is guaranteed
|
||||
* to be in the range [0, INT_MAX] even if strlen(str)
|
||||
* somehow was greater than INT_MAX.
|
||||
* \param[out] filters An array of lzma_filter structures. There must
|
||||
* be LZMA_FILTERS_MAX + 1 (that is, five) elements
|
||||
* in the array. The old contents are ignored so it
|
||||
* doesn't need to be initialized. This array is
|
||||
* modified only if this function returns NULL.
|
||||
* Once the allocated filter options are no longer
|
||||
* needed, lzma_filters_free() can be used to free the
|
||||
* options (it doesn't free the filters array itself).
|
||||
* \param flags Bitwise-or of zero or more of the flags
|
||||
* LZMA_STR_ALL_FILTERS and LZMA_STR_NO_VALIDATION.
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
*
|
||||
* \return On success, NULL is returned. On error, a statically-allocated
|
||||
* error message is returned which together with the error_pos
|
||||
* should give some idea what is wrong.
|
||||
*/
|
||||
extern LZMA_API(const char *) lzma_str_to_filters(
|
||||
const char *str, int *error_pos, lzma_filter *filters,
|
||||
|
@ -646,19 +700,20 @@ extern LZMA_API(const char *) lzma_str_to_filters(
|
|||
* specify "6" to lzma_str_to_filters() then lzma_str_from_filters()
|
||||
* will produce a string containing "lzma2".
|
||||
*
|
||||
* \param str On success *str will be set to point to an
|
||||
* \param[out] str On success *str will be set to point to an
|
||||
* allocated string describing the given filter
|
||||
* chain. Old value is ignored. On error *str is
|
||||
* always set to NULL.
|
||||
* \param filters Array of 1-4 filters and a terminating element
|
||||
* with .id = LZMA_VLI_UNKNOWN.
|
||||
* \param filters Array of filters terminated with
|
||||
* .id == LZMA_VLI_UNKNOWN.
|
||||
* \param flags Bitwise-or of zero or more of the flags
|
||||
* LZMA_STR_ENCODER, LZMA_STR_DECODER,
|
||||
* LZMA_STR_GETOPT_LONG, and LZMA_STR_NO_SPACES.
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_OPTIONS_ERROR: Empty filter chain
|
||||
* (filters[0].id == LZMA_VLI_UNKNOWN) or the filter chain
|
||||
* includes a Filter ID that is not supported by this function.
|
||||
|
@ -676,7 +731,7 @@ extern LZMA_API(lzma_ret) lzma_str_from_filters(
|
|||
*
|
||||
* If a filter_id is given then only one line is created which contains the
|
||||
* filter name. If LZMA_STR_ENCODER or LZMA_STR_DECODER is used then the
|
||||
* options required for encoding or decoding are listed on the same line too.
|
||||
* options read by the encoder or decoder are printed on the same line.
|
||||
*
|
||||
* If filter_id is LZMA_VLI_UNKNOWN then all supported .xz-compatible filters
|
||||
* are listed:
|
||||
|
@ -687,7 +742,7 @@ extern LZMA_API(lzma_ret) lzma_str_from_filters(
|
|||
*
|
||||
* - If LZMA_STR_ENCODER or LZMA_STR_DECODER is used then filters and
|
||||
* the supported options are listed one filter per line. There won't
|
||||
* be a '\n' after the last filter.
|
||||
* be a newline after the last filter.
|
||||
*
|
||||
* - If LZMA_STR_ALL_FILTERS is used then the list will include also
|
||||
* those filters that cannot be used in the .xz format (LZMA1).
|
||||
|
@ -703,7 +758,8 @@ extern LZMA_API(lzma_ret) lzma_str_from_filters(
|
|||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_OPTIONS_ERROR: Unsupported filter_id or flags
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/hardware.h
|
||||
* \brief Hardware information
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*
|
||||
* Since liblzma can consume a lot of system resources, it also provides
|
||||
* ways to limit the resource usage. Applications linking against liblzma
|
||||
|
@ -25,8 +26,6 @@
|
|||
*
|
||||
* 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
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/index.h
|
||||
* \brief Handling of .xz Index and related information
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -8,8 +9,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -50,8 +49,13 @@ typedef struct {
|
|||
*/
|
||||
const lzma_stream_flags *flags;
|
||||
|
||||
/** \private Reserved member. */
|
||||
const void *reserved_ptr1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
const void *reserved_ptr2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
const void *reserved_ptr3;
|
||||
|
||||
/**
|
||||
|
@ -107,9 +111,17 @@ typedef struct {
|
|||
*/
|
||||
lzma_vli padding;
|
||||
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_vli1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_vli2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_vli3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_vli4;
|
||||
} stream;
|
||||
|
||||
|
@ -196,25 +208,46 @@ typedef struct {
|
|||
*/
|
||||
lzma_vli total_size;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_vli1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_vli2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_vli3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_vli reserved_vli4;
|
||||
|
||||
/** \private Reserved member. */
|
||||
const void *reserved_ptr1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
const void *reserved_ptr2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
const void *reserved_ptr3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
const void *reserved_ptr4;
|
||||
} block;
|
||||
|
||||
/*
|
||||
/**
|
||||
* \private Internal struct.
|
||||
*
|
||||
* Internal data which is used to store the state of the iterator.
|
||||
* The exact format may vary between liblzma versions, so don't
|
||||
* touch these in any way.
|
||||
*/
|
||||
union {
|
||||
/** \private Internal member. */
|
||||
const void *p;
|
||||
|
||||
/** \private Internal member. */
|
||||
size_t s;
|
||||
|
||||
/** \private Internal member. */
|
||||
lzma_vli v;
|
||||
} internal[6];
|
||||
} lzma_index_iter;
|
||||
|
@ -272,16 +305,21 @@ typedef enum {
|
|||
* \brief Calculate memory usage of lzma_index
|
||||
*
|
||||
* On disk, the size of the Index field depends on both the number of Records
|
||||
* stored and how big values the Records store (due to variable-length integer
|
||||
* stored and the size of the Records (due to variable-length integer
|
||||
* encoding). When the Index is kept in lzma_index structure, the memory usage
|
||||
* depends only on the number of Records/Blocks stored in the Index(es), and
|
||||
* in case of concatenated lzma_indexes, the number of Streams. The size in
|
||||
* RAM is almost always significantly bigger than in the encoded form on disk.
|
||||
*
|
||||
* This function calculates an approximate amount of memory needed hold
|
||||
* This function calculates an approximate amount of memory needed to hold
|
||||
* the given number of Streams and Blocks in lzma_index structure. This
|
||||
* value may vary between CPU architectures and also between liblzma versions
|
||||
* if the internal implementation is modified.
|
||||
*
|
||||
* \param streams Number of Streams
|
||||
* \param blocks Number of Blocks
|
||||
*
|
||||
* \return Approximate memory in bytes needed in a lzma_index structure.
|
||||
*/
|
||||
extern LZMA_API(uint64_t) lzma_index_memusage(
|
||||
lzma_vli streams, lzma_vli blocks) lzma_nothrow;
|
||||
|
@ -292,6 +330,10 @@ extern LZMA_API(uint64_t) lzma_index_memusage(
|
|||
*
|
||||
* This is a shorthand for lzma_index_memusage(lzma_index_stream_count(i),
|
||||
* lzma_index_block_count(i)).
|
||||
*
|
||||
* \param i Pointer to lzma_index structure
|
||||
*
|
||||
* \return Approximate memory in bytes used by the lzma_index structure.
|
||||
*/
|
||||
extern LZMA_API(uint64_t) lzma_index_memused(const lzma_index *i)
|
||||
lzma_nothrow;
|
||||
|
@ -300,6 +342,9 @@ extern LZMA_API(uint64_t) lzma_index_memused(const lzma_index *i)
|
|||
/**
|
||||
* \brief Allocate and initialize a new lzma_index structure
|
||||
*
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
*
|
||||
* \return On success, a pointer to an empty initialized lzma_index is
|
||||
* returned. If allocation fails, NULL is returned.
|
||||
*/
|
||||
|
@ -311,6 +356,10 @@ extern LZMA_API(lzma_index *) lzma_index_init(const lzma_allocator *allocator)
|
|||
* \brief Deallocate lzma_index
|
||||
*
|
||||
* If i is NULL, this does nothing.
|
||||
*
|
||||
* \param i Pointer to lzma_index structure to deallocate
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
*/
|
||||
extern LZMA_API(void) lzma_index_end(
|
||||
lzma_index *i, const lzma_allocator *allocator) lzma_nothrow;
|
||||
|
@ -320,8 +369,9 @@ extern LZMA_API(void) lzma_index_end(
|
|||
* \brief Add a new Block to lzma_index
|
||||
*
|
||||
* \param i Pointer to a lzma_index structure
|
||||
* \param allocator Pointer to lzma_allocator, or NULL to
|
||||
* use malloc()
|
||||
* \param allocator lzma_allocator for custom allocator
|
||||
* functions. Set to NULL to use malloc()
|
||||
* and free().
|
||||
* \param unpadded_size Unpadded Size of a Block. This can be
|
||||
* calculated with lzma_block_unpadded_size()
|
||||
* after encoding or decoding the Block.
|
||||
|
@ -334,7 +384,8 @@ extern LZMA_API(void) lzma_index_end(
|
|||
* lzma_index_append() it is possible to read the next Block with
|
||||
* an existing iterator.
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_DATA_ERROR: Compressed or uncompressed size of the
|
||||
* Stream or size of the Index field would grow too big.
|
||||
|
@ -354,11 +405,15 @@ extern LZMA_API(lzma_ret) lzma_index_append(
|
|||
* lzma_index, because to decode Blocks, knowing the integrity check type
|
||||
* is needed.
|
||||
*
|
||||
* The given Stream Flags are copied into internal preallocated structure
|
||||
* in the lzma_index, thus the caller doesn't need to keep the *stream_flags
|
||||
* available after calling this function.
|
||||
* \param i Pointer to lzma_index structure
|
||||
* \param stream_flags Pointer to lzma_stream_flags structure. This
|
||||
* is copied into the internal preallocated
|
||||
* structure, so the caller doesn't need to keep
|
||||
* the flags' data available after calling this
|
||||
* function.
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_OPTIONS_ERROR: Unsupported stream_flags->version.
|
||||
* - LZMA_PROG_ERROR
|
||||
*/
|
||||
|
@ -376,6 +431,10 @@ extern LZMA_API(lzma_ret) lzma_index_stream_flags(
|
|||
* showing the Check types to the user.
|
||||
*
|
||||
* The bitmask is 1 << check_id, e.g. CRC32 is 1 << 1 and SHA-256 is 1 << 10.
|
||||
*
|
||||
* \param i Pointer to lzma_index structure
|
||||
*
|
||||
* \return Bitmask indicating which Check types are used in the lzma_index
|
||||
*/
|
||||
extern LZMA_API(uint32_t) lzma_index_checks(const lzma_index *i)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
@ -390,7 +449,8 @@ extern LZMA_API(uint32_t) lzma_index_checks(const lzma_index *i)
|
|||
*
|
||||
* By default, the amount of Stream Padding is assumed to be zero bytes.
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_DATA_ERROR: The file size would grow too big.
|
||||
* - LZMA_PROG_ERROR
|
||||
*/
|
||||
|
@ -401,6 +461,10 @@ extern LZMA_API(lzma_ret) lzma_index_stream_padding(
|
|||
|
||||
/**
|
||||
* \brief Get the number of Streams
|
||||
*
|
||||
* \param i Pointer to lzma_index structure
|
||||
*
|
||||
* \return Number of Streams in the lzma_index
|
||||
*/
|
||||
extern LZMA_API(lzma_vli) lzma_index_stream_count(const lzma_index *i)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
@ -411,6 +475,10 @@ extern LZMA_API(lzma_vli) lzma_index_stream_count(const lzma_index *i)
|
|||
*
|
||||
* This returns the total number of Blocks in lzma_index. To get number
|
||||
* of Blocks in individual Streams, use lzma_index_iter.
|
||||
*
|
||||
* \param i Pointer to lzma_index structure
|
||||
*
|
||||
* \return Number of blocks in the lzma_index
|
||||
*/
|
||||
extern LZMA_API(lzma_vli) lzma_index_block_count(const lzma_index *i)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
@ -420,6 +488,10 @@ extern LZMA_API(lzma_vli) lzma_index_block_count(const lzma_index *i)
|
|||
* \brief Get the size of the Index field as bytes
|
||||
*
|
||||
* This is needed to verify the Backward Size field in the Stream Footer.
|
||||
*
|
||||
* \param i Pointer to lzma_index structure
|
||||
*
|
||||
* \return Size in bytes of the Index
|
||||
*/
|
||||
extern LZMA_API(lzma_vli) lzma_index_size(const lzma_index *i)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
@ -431,6 +503,11 @@ extern LZMA_API(lzma_vli) lzma_index_size(const lzma_index *i)
|
|||
* If multiple lzma_indexes have been combined, this works as if the Blocks
|
||||
* were in a single Stream. This is useful if you are going to combine
|
||||
* Blocks from multiple Streams into a single new Stream.
|
||||
*
|
||||
* \param i Pointer to lzma_index structure
|
||||
*
|
||||
* \return Size in bytes of the Stream (if all Blocks are combined
|
||||
* into one Stream).
|
||||
*/
|
||||
extern LZMA_API(lzma_vli) lzma_index_stream_size(const lzma_index *i)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
@ -441,6 +518,10 @@ extern LZMA_API(lzma_vli) lzma_index_stream_size(const lzma_index *i)
|
|||
*
|
||||
* This doesn't include the Stream Header, Stream Footer, Stream Padding,
|
||||
* or Index fields.
|
||||
*
|
||||
* \param i Pointer to lzma_index structure
|
||||
*
|
||||
* \return Size in bytes of all Blocks in the Stream(s)
|
||||
*/
|
||||
extern LZMA_API(lzma_vli) lzma_index_total_size(const lzma_index *i)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
@ -453,6 +534,10 @@ extern LZMA_API(lzma_vli) lzma_index_total_size(const lzma_index *i)
|
|||
* no Stream Padding, this function is identical to lzma_index_stream_size().
|
||||
* If multiple lzma_indexes have been combined, this includes also the headers
|
||||
* of each separate Stream and the possible Stream Padding fields.
|
||||
*
|
||||
* \param i Pointer to lzma_index structure
|
||||
*
|
||||
* \return Total size of the .xz file in bytes
|
||||
*/
|
||||
extern LZMA_API(lzma_vli) lzma_index_file_size(const lzma_index *i)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
@ -460,6 +545,10 @@ extern LZMA_API(lzma_vli) lzma_index_file_size(const lzma_index *i)
|
|||
|
||||
/**
|
||||
* \brief Get the uncompressed size of the file
|
||||
*
|
||||
* \param i Pointer to lzma_index structure
|
||||
*
|
||||
* \return Size in bytes of the uncompressed data in the file
|
||||
*/
|
||||
extern LZMA_API(lzma_vli) lzma_index_uncompressed_size(const lzma_index *i)
|
||||
lzma_nothrow lzma_attr_pure;
|
||||
|
@ -468,9 +557,6 @@ extern LZMA_API(lzma_vli) lzma_index_uncompressed_size(const lzma_index *i)
|
|||
/**
|
||||
* \brief Initialize an iterator
|
||||
*
|
||||
* \param iter Pointer to a lzma_index_iter structure
|
||||
* \param i lzma_index to which the iterator will be associated
|
||||
*
|
||||
* This function associates the iterator with the given lzma_index, and calls
|
||||
* lzma_index_iter_rewind() on the iterator.
|
||||
*
|
||||
|
@ -483,6 +569,9 @@ extern LZMA_API(lzma_vli) lzma_index_uncompressed_size(const lzma_index *i)
|
|||
*
|
||||
* It is safe to make copies of an initialized lzma_index_iter, for example,
|
||||
* to easily restart reading at some particular position.
|
||||
*
|
||||
* \param iter Pointer to a lzma_index_iter structure
|
||||
* \param i lzma_index to which the iterator will be associated
|
||||
*/
|
||||
extern LZMA_API(void) lzma_index_iter_init(
|
||||
lzma_index_iter *iter, const lzma_index *i) lzma_nothrow;
|
||||
|
@ -493,6 +582,8 @@ extern LZMA_API(void) lzma_index_iter_init(
|
|||
*
|
||||
* Rewind the iterator so that next call to lzma_index_iter_next() will
|
||||
* return the first Block or Stream.
|
||||
*
|
||||
* \param iter Pointer to a lzma_index_iter structure
|
||||
*/
|
||||
extern LZMA_API(void) lzma_index_iter_rewind(lzma_index_iter *iter)
|
||||
lzma_nothrow;
|
||||
|
@ -505,11 +596,11 @@ extern LZMA_API(void) lzma_index_iter_rewind(lzma_index_iter *iter)
|
|||
* \param mode Specify what kind of information the caller wants
|
||||
* to get. See lzma_index_iter_mode for details.
|
||||
*
|
||||
* \return If next Block or Stream matching the mode was found, *iter
|
||||
* is updated and this function returns false. If no Block or
|
||||
* Stream matching the mode is found, *iter is not modified
|
||||
* and this function returns true. If mode is set to an unknown
|
||||
* value, *iter is not modified and this function returns true.
|
||||
* \return lzma_bool:
|
||||
* - true if no Block or Stream matching the mode is found.
|
||||
* *iter is not updated (failure).
|
||||
* - false if the next Block or Stream matching the mode was
|
||||
* found. *iter is updated (success).
|
||||
*/
|
||||
extern LZMA_API(lzma_bool) lzma_index_iter_next(
|
||||
lzma_index_iter *iter, lzma_index_iter_mode mode)
|
||||
|
@ -523,21 +614,26 @@ extern LZMA_API(lzma_bool) lzma_index_iter_next(
|
|||
* the Index field(s) and use lzma_index_iter_locate() to do random-access
|
||||
* reading with granularity of Block size.
|
||||
*
|
||||
* \param iter Iterator that was earlier initialized with
|
||||
* lzma_index_iter_init().
|
||||
* \param target Uncompressed target offset which the caller would
|
||||
* like to locate from the Stream
|
||||
*
|
||||
* If the target is smaller than the uncompressed size of the Stream (can be
|
||||
* checked with lzma_index_uncompressed_size()):
|
||||
* - Information about the Stream and Block containing the requested
|
||||
* uncompressed offset is stored into *iter.
|
||||
* - Internal state of the iterator is adjusted so that
|
||||
* lzma_index_iter_next() can be used to read subsequent Blocks or Streams.
|
||||
* - This function returns false.
|
||||
*
|
||||
* If target is greater than the uncompressed size of the Stream, *iter
|
||||
* is not modified, and this function returns true.
|
||||
* If the target is greater than the uncompressed size of the Stream, *iter
|
||||
* is not modified.
|
||||
*
|
||||
* \param iter Iterator that was earlier initialized with
|
||||
* lzma_index_iter_init().
|
||||
* \param target Uncompressed target offset which the caller would
|
||||
* like to locate from the Stream
|
||||
*
|
||||
* \return lzma_bool:
|
||||
* - true if the target is greater than or equal to the
|
||||
* uncompressed size of the Stream (failure)
|
||||
* - false if the target is smaller than the uncompressed size
|
||||
* of the Stream (success)
|
||||
*/
|
||||
extern LZMA_API(lzma_bool) lzma_index_iter_locate(
|
||||
lzma_index_iter *iter, lzma_vli target) lzma_nothrow;
|
||||
|
@ -550,15 +646,16 @@ extern LZMA_API(lzma_bool) lzma_index_iter_locate(
|
|||
* multi-Stream .xz file, or when combining multiple Streams into single
|
||||
* Stream.
|
||||
*
|
||||
* \param dest lzma_index after which src is appended
|
||||
* \param[out] dest lzma_index after which src is appended
|
||||
* \param src lzma_index to be appended after dest. If this
|
||||
* function succeeds, the memory allocated for src
|
||||
* is freed or moved to be part of dest, and all
|
||||
* iterators pointing to src will become invalid.
|
||||
* \param allocator Custom memory allocator; can be NULL to use
|
||||
* malloc() and free().
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
*
|
||||
* \return - LZMA_OK: lzma_indexes were concatenated successfully.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: lzma_indexes were concatenated successfully.
|
||||
* src is now a dangling pointer.
|
||||
* - LZMA_DATA_ERROR: *dest would grow too big.
|
||||
* - LZMA_MEM_ERROR
|
||||
|
@ -572,6 +669,10 @@ extern LZMA_API(lzma_ret) lzma_index_cat(lzma_index *dest, lzma_index *src,
|
|||
/**
|
||||
* \brief Duplicate lzma_index
|
||||
*
|
||||
* \param i Pointer to lzma_index structure to be duplicated
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
*
|
||||
* \return A copy of the lzma_index, or NULL if memory allocation failed.
|
||||
*/
|
||||
extern LZMA_API(lzma_index *) lzma_index_dup(
|
||||
|
@ -588,7 +689,8 @@ extern LZMA_API(lzma_index *) lzma_index_dup(
|
|||
* The valid `action' values for lzma_code() are LZMA_RUN and LZMA_FINISH.
|
||||
* It is enough to use only one of them (you can choose freely).
|
||||
*
|
||||
* \return - LZMA_OK: Initialization succeeded, continue with lzma_code().
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Initialization succeeded, continue with lzma_code().
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
*/
|
||||
|
@ -601,7 +703,7 @@ extern LZMA_API(lzma_ret) lzma_index_encoder(
|
|||
* \brief Initialize .xz Index decoder
|
||||
*
|
||||
* \param strm Pointer to properly prepared lzma_stream
|
||||
* \param i The decoded Index will be made available via
|
||||
* \param[out] i The decoded Index will be made available via
|
||||
* this pointer. Initially this function will
|
||||
* set *i to NULL (the old value is ignored). If
|
||||
* decoding succeeds (lzma_code() returns
|
||||
|
@ -617,11 +719,12 @@ extern LZMA_API(lzma_ret) lzma_index_encoder(
|
|||
* There is no need to use LZMA_FINISH, but it's allowed because it may
|
||||
* simplify certain types of applications.
|
||||
*
|
||||
* \return - LZMA_OK: Initialization succeeded, continue with lzma_code().
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Initialization succeeded, continue with lzma_code().
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
*
|
||||
* liblzma 5.2.3 and older list also LZMA_MEMLIMIT_ERROR here
|
||||
* \note liblzma 5.2.3 and older list also LZMA_MEMLIMIT_ERROR here
|
||||
* but that error code has never been possible from this
|
||||
* initialization function.
|
||||
*/
|
||||
|
@ -633,21 +736,23 @@ extern LZMA_API(lzma_ret) lzma_index_decoder(
|
|||
/**
|
||||
* \brief Single-call .xz Index encoder
|
||||
*
|
||||
* \note This function doesn't take allocator argument since all
|
||||
* the internal data is allocated on stack.
|
||||
*
|
||||
* \param i lzma_index to be encoded
|
||||
* \param out Beginning of the output buffer
|
||||
* \param out_pos The next byte will be written to out[*out_pos].
|
||||
* \param[out] out Beginning of the output buffer
|
||||
* \param[out] out_pos The next byte will be written to out[*out_pos].
|
||||
* *out_pos is updated only if encoding succeeds.
|
||||
* \param out_size Size of the out buffer; the first byte into
|
||||
* which no data is written to is out[out_size].
|
||||
*
|
||||
* \return - LZMA_OK: Encoding was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Encoding was successful.
|
||||
* - LZMA_BUF_ERROR: Output buffer is too small. Use
|
||||
* lzma_index_size() to find out how much output
|
||||
* space is needed.
|
||||
* - LZMA_PROG_ERROR
|
||||
*
|
||||
* \note This function doesn't take allocator argument since all
|
||||
* the internal data is allocated on stack.
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_index_buffer_encode(const lzma_index *i,
|
||||
uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow;
|
||||
|
@ -656,24 +761,26 @@ extern LZMA_API(lzma_ret) lzma_index_buffer_encode(const lzma_index *i,
|
|||
/**
|
||||
* \brief Single-call .xz Index decoder
|
||||
*
|
||||
* \param i If decoding succeeds, *i will point to a new
|
||||
* \param[out] i If decoding succeeds, *i will point to a new
|
||||
* lzma_index, which the application has to
|
||||
* later free with lzma_index_end(). If an error
|
||||
* occurs, *i will be NULL. The old value of *i
|
||||
* is always ignored and thus doesn't need to be
|
||||
* initialized by the caller.
|
||||
* \param memlimit Pointer to how much memory the resulting
|
||||
* \param[out] memlimit Pointer to how much memory the resulting
|
||||
* lzma_index is allowed to require. The value
|
||||
* pointed by this pointer is modified if and only
|
||||
* if LZMA_MEMLIMIT_ERROR is returned.
|
||||
* \param allocator Pointer to lzma_allocator, or NULL to use malloc()
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
* \param in Beginning of the input buffer
|
||||
* \param in_pos The next byte will be read from in[*in_pos].
|
||||
* *in_pos is updated only if decoding succeeds.
|
||||
* \param in_size Size of the input buffer; the first byte that
|
||||
* won't be read is in[in_size].
|
||||
*
|
||||
* \return - LZMA_OK: Decoding was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Decoding was successful.
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_MEMLIMIT_ERROR: Memory usage limit was reached.
|
||||
* The minimum required memlimit value was stored to *memlimit.
|
||||
|
@ -689,15 +796,6 @@ extern LZMA_API(lzma_ret) lzma_index_buffer_decode(lzma_index **i,
|
|||
/**
|
||||
* \brief Initialize a .xz file information decoder
|
||||
*
|
||||
* \param strm Pointer to a properly prepared lzma_stream
|
||||
* \param dest_index Pointer to a pointer where the decoder will put
|
||||
* the decoded lzma_index. The old value
|
||||
* of *dest_index is ignored (not freed).
|
||||
* \param memlimit How much memory the resulting lzma_index is
|
||||
* allowed to require. Use UINT64_MAX to
|
||||
* effectively disable the limiter.
|
||||
* \param file_size Size of the input .xz file
|
||||
*
|
||||
* This decoder decodes the Stream Header, Stream Footer, Index, and
|
||||
* Stream Padding field(s) from the input .xz file and stores the resulting
|
||||
* combined index in *dest_index. This information can be used to get the
|
||||
|
@ -742,7 +840,17 @@ extern LZMA_API(lzma_ret) lzma_index_buffer_decode(lzma_index **i,
|
|||
* - LZMA_MEMLIMIT_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \param strm Pointer to a properly prepared lzma_stream
|
||||
* \param[out] dest_index Pointer to a pointer where the decoder will put
|
||||
* the decoded lzma_index. The old value
|
||||
* of *dest_index is ignored (not freed).
|
||||
* \param memlimit How much memory the resulting lzma_index is
|
||||
* allowed to require. Use UINT64_MAX to
|
||||
* effectively disable the limiter.
|
||||
* \param file_size Size of the input .xz file
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_MEM_ERROR
|
||||
* - LZMA_PROG_ERROR
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/index_hash.h
|
||||
* \brief Validate Index by using a hash function
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*
|
||||
* Hashing makes it possible to use constant amount of memory to validate
|
||||
* Index of arbitrary size.
|
||||
|
@ -11,8 +12,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -28,13 +27,21 @@ typedef struct lzma_index_hash_s lzma_index_hash;
|
|||
/**
|
||||
* \brief Allocate and initialize a new lzma_index_hash structure
|
||||
*
|
||||
* If index_hash is NULL, a new lzma_index_hash structure is allocated,
|
||||
* initialized, and a pointer to it returned. If allocation fails, NULL
|
||||
* is returned.
|
||||
* If index_hash is NULL, this function allocates and initializes a new
|
||||
* lzma_index_hash structure and returns a pointer to it. If allocation
|
||||
* fails, NULL is returned.
|
||||
*
|
||||
* If index_hash is non-NULL, it is reinitialized and the same pointer
|
||||
* returned. In this case, return value cannot be NULL or a different
|
||||
* pointer than the index_hash that was given as an argument.
|
||||
* If index_hash is non-NULL, this function reinitializes the lzma_index_hash
|
||||
* structure and returns the same pointer. In this case, return value cannot
|
||||
* be NULL or a different pointer than the index_hash that was given as
|
||||
* an argument.
|
||||
*
|
||||
* \param index_hash Pointer to a lzma_index_hash structure or NULL.
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
*
|
||||
* \return Initialized lzma_index_hash structure on success or
|
||||
* NULL on failure.
|
||||
*/
|
||||
extern LZMA_API(lzma_index_hash *) lzma_index_hash_init(
|
||||
lzma_index_hash *index_hash, const lzma_allocator *allocator)
|
||||
|
@ -43,6 +50,10 @@ extern LZMA_API(lzma_index_hash *) lzma_index_hash_init(
|
|||
|
||||
/**
|
||||
* \brief Deallocate lzma_index_hash structure
|
||||
*
|
||||
* \param index_hash Pointer to a lzma_index_hash structure to free.
|
||||
* \param allocator lzma_allocator for custom allocator functions.
|
||||
* Set to NULL to use malloc() and free().
|
||||
*/
|
||||
extern LZMA_API(void) lzma_index_hash_end(
|
||||
lzma_index_hash *index_hash, const lzma_allocator *allocator)
|
||||
|
@ -56,7 +67,8 @@ extern LZMA_API(void) lzma_index_hash_end(
|
|||
* \param unpadded_size Unpadded Size of a Block
|
||||
* \param uncompressed_size Uncompressed Size of a Block
|
||||
*
|
||||
* \return - LZMA_OK
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK
|
||||
* - LZMA_DATA_ERROR: Compressed or uncompressed size of the
|
||||
* Stream or size of the Index field would grow too big.
|
||||
* - LZMA_PROG_ERROR: Invalid arguments or this function is being
|
||||
|
@ -81,10 +93,11 @@ extern LZMA_API(lzma_ret) lzma_index_hash_append(lzma_index_hash *index_hash,
|
|||
*
|
||||
* \param index_hash Pointer to a lzma_index_hash structure
|
||||
* \param in Pointer to the beginning of the input buffer
|
||||
* \param in_pos in[*in_pos] is the next byte to process
|
||||
* \param[out] in_pos in[*in_pos] is the next byte to process
|
||||
* \param in_size in[in_size] is the first byte not to process
|
||||
*
|
||||
* \return - LZMA_OK: So far good, but more input is needed.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: So far good, but more input is needed.
|
||||
* - LZMA_STREAM_END: Index decoded successfully and it matches
|
||||
* the Records given with lzma_index_hash_append().
|
||||
* - LZMA_DATA_ERROR: Index is corrupt or doesn't match the
|
||||
|
@ -101,6 +114,10 @@ extern LZMA_API(lzma_ret) lzma_index_hash_decode(lzma_index_hash *index_hash,
|
|||
* \brief Get the size of the Index field as bytes
|
||||
*
|
||||
* This is needed to verify the Backward Size field in the Stream Footer.
|
||||
*
|
||||
* \param index_hash Pointer to a lzma_index_hash structure
|
||||
*
|
||||
* \return Size of the Index field in bytes.
|
||||
*/
|
||||
extern LZMA_API(lzma_vli) lzma_index_hash_size(
|
||||
const lzma_index_hash *index_hash)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/lzma12.h
|
||||
* \brief LZMA1 and LZMA2 filters
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -8,8 +9,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -57,7 +56,7 @@
|
|||
*
|
||||
* Usually you want this instead of LZMA1. Compared to LZMA1, LZMA2 adds
|
||||
* support for LZMA_SYNC_FLUSH, uncompressed chunks (smaller expansion
|
||||
* when trying to compress uncompressible data), possibility to change
|
||||
* when trying to compress incompressible data), possibility to change
|
||||
* lc/lp/pb in the middle of encoding, and some other internal improvements.
|
||||
*/
|
||||
#define LZMA_FILTER_LZMA2 LZMA_VLI_C(0x21)
|
||||
|
@ -137,16 +136,20 @@ typedef enum {
|
|||
/**
|
||||
* \brief Test if given match finder is supported
|
||||
*
|
||||
* Return true if the given match finder is supported by this liblzma build.
|
||||
* Otherwise false is returned. It is safe to call this with a value that
|
||||
* isn't listed in lzma_match_finder enumeration; the return value will be
|
||||
* false.
|
||||
* It is safe to call this with a value that isn't listed in
|
||||
* lzma_match_finder enumeration; the return value will be false.
|
||||
*
|
||||
* There is no way to list which match finders are available in this
|
||||
* particular liblzma version and build. It would be useless, because
|
||||
* a new match finder, which the application developer wasn't aware,
|
||||
* could require giving additional options to the encoder that the older
|
||||
* match finders don't need.
|
||||
*
|
||||
* \param match_finder Match finder ID
|
||||
*
|
||||
* \return lzma_bool:
|
||||
* - true if the match finder is supported by this liblzma build.
|
||||
* - false otherwise.
|
||||
*/
|
||||
extern LZMA_API(lzma_bool) lzma_mf_is_supported(lzma_match_finder match_finder)
|
||||
lzma_nothrow lzma_attr_const;
|
||||
|
@ -181,14 +184,20 @@ typedef enum {
|
|||
/**
|
||||
* \brief Test if given compression mode is supported
|
||||
*
|
||||
* Return true if the given compression mode is supported by this liblzma
|
||||
* build. Otherwise false is returned. It is safe to call this with a value
|
||||
* that isn't listed in lzma_mode enumeration; the return value will be false.
|
||||
* It is safe to call this with a value that isn't listed in lzma_mode
|
||||
* enumeration; the return value will be false.
|
||||
*
|
||||
* There is no way to list which modes are available in this particular
|
||||
* liblzma version and build. It would be useless, because a new compression
|
||||
* mode, which the application developer wasn't aware, could require giving
|
||||
* additional options to the encoder that the older modes don't need.
|
||||
*
|
||||
* \param mode Mode ID.
|
||||
*
|
||||
* \return lzma_bool:
|
||||
* - true if the compression mode is supported by this liblzma
|
||||
* build.
|
||||
* - false otherwise.
|
||||
*/
|
||||
extern LZMA_API(lzma_bool) lzma_mode_is_supported(lzma_mode mode)
|
||||
lzma_nothrow lzma_attr_const;
|
||||
|
@ -408,7 +417,7 @@ typedef struct {
|
|||
* like it is with LZMA_FILTER_LZMA1. Without this flag the
|
||||
* end marker isn't written and the application has to store
|
||||
* the uncompressed size somewhere outside the compressed stream.
|
||||
* To decompress streams without the end marker, the appliation
|
||||
* To decompress streams without the end marker, the application
|
||||
* has to set the correct uncompressed size in ext_size_low and
|
||||
* ext_size_high.
|
||||
*
|
||||
|
@ -480,16 +489,38 @@ typedef struct {
|
|||
* with the currently supported options, so it is safe to leave these
|
||||
* uninitialized.
|
||||
*/
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int4;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int5;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int6;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int7;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int8;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum4;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
void *reserved_ptr2;
|
||||
|
||||
} lzma_options_lzma;
|
||||
|
@ -517,13 +548,22 @@ do { \
|
|||
* The flags are defined in container.h, because the flags are used also
|
||||
* with lzma_easy_encoder().
|
||||
*
|
||||
* The preset values are subject to changes between liblzma versions.
|
||||
* The preset levels are subject to changes between liblzma versions.
|
||||
*
|
||||
* This function is available only if LZMA1 or LZMA2 encoder has been enabled
|
||||
* when building liblzma.
|
||||
*
|
||||
* \return On success, false is returned. If the preset is not
|
||||
* supported, true is returned.
|
||||
* If features (like certain match finders) have been disabled at build time,
|
||||
* then the function may return success (false) even though the resulting
|
||||
* LZMA1/LZMA2 options may not be usable for encoder initialization
|
||||
* (LZMA_OPTIONS_ERROR).
|
||||
*
|
||||
* \param[out] options Pointer to LZMA1 or LZMA2 options to be filled
|
||||
* \param preset Preset level bitwse-ORed with preset flags
|
||||
*
|
||||
* \return lzma_bool:
|
||||
* - true if the preset is not supported (failure).
|
||||
* - false otherwise (success).
|
||||
*/
|
||||
extern LZMA_API(lzma_bool) lzma_lzma_preset(
|
||||
lzma_options_lzma *options, uint32_t preset) lzma_nothrow;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/stream_flags.h
|
||||
* \brief .xz Stream Header and Stream Footer encoder and decoder
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -8,8 +9,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -36,7 +35,7 @@ typedef struct {
|
|||
*
|
||||
* To prevent API and ABI breakages if new features are needed in
|
||||
* Stream Header or Stream Footer, a version number is used to
|
||||
* indicate which fields in this structure are in use. For now,
|
||||
* indicate which members in this structure are in use. For now,
|
||||
* version must always be zero. With non-zero version, the
|
||||
* lzma_stream_header_encode() and lzma_stream_footer_encode()
|
||||
* will return LZMA_OPTIONS_ERROR.
|
||||
|
@ -67,7 +66,15 @@ typedef struct {
|
|||
* Footer have been decoded.
|
||||
*/
|
||||
lzma_vli backward_size;
|
||||
|
||||
/**
|
||||
* \brief Minimum value for lzma_stream_flags.backward_size
|
||||
*/
|
||||
# define LZMA_BACKWARD_SIZE_MIN 4
|
||||
|
||||
/**
|
||||
* \brief Maximum value for lzma_stream_flags.backward_size
|
||||
*/
|
||||
# define LZMA_BACKWARD_SIZE_MAX (LZMA_VLI_C(1) << 34)
|
||||
|
||||
/**
|
||||
|
@ -87,19 +94,47 @@ typedef struct {
|
|||
* is just two bytes plus Backward Size of four bytes. But it's
|
||||
* nice to have the proper types when they are needed.)
|
||||
*/
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_reserved_enum reserved_enum4;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool2;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool3;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool4;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool5;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool6;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool7;
|
||||
|
||||
/** \private Reserved member. */
|
||||
lzma_bool reserved_bool8;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int1;
|
||||
|
||||
/** \private Reserved member. */
|
||||
uint32_t reserved_int2;
|
||||
|
||||
} lzma_stream_flags;
|
||||
|
@ -111,10 +146,11 @@ typedef struct {
|
|||
* \param options Stream Header options to be encoded.
|
||||
* options->backward_size is ignored and doesn't
|
||||
* need to be initialized.
|
||||
* \param out Beginning of the output buffer of
|
||||
* \param[out] out Beginning of the output buffer of
|
||||
* LZMA_STREAM_HEADER_SIZE bytes.
|
||||
*
|
||||
* \return - LZMA_OK: Encoding was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Encoding was successful.
|
||||
* - LZMA_OPTIONS_ERROR: options->version is not supported by
|
||||
* this liblzma version.
|
||||
* - LZMA_PROG_ERROR: Invalid options.
|
||||
|
@ -128,10 +164,11 @@ extern LZMA_API(lzma_ret) lzma_stream_header_encode(
|
|||
* \brief Encode Stream Footer
|
||||
*
|
||||
* \param options Stream Footer options to be encoded.
|
||||
* \param out Beginning of the output buffer of
|
||||
* \param[out] out Beginning of the output buffer of
|
||||
* LZMA_STREAM_HEADER_SIZE bytes.
|
||||
*
|
||||
* \return - LZMA_OK: Encoding was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Encoding was successful.
|
||||
* - LZMA_OPTIONS_ERROR: options->version is not supported by
|
||||
* this liblzma version.
|
||||
* - LZMA_PROG_ERROR: Invalid options.
|
||||
|
@ -144,32 +181,33 @@ extern LZMA_API(lzma_ret) lzma_stream_footer_encode(
|
|||
/**
|
||||
* \brief Decode Stream Header
|
||||
*
|
||||
* \param options Target for the decoded Stream Header options.
|
||||
* \param in Beginning of the input buffer of
|
||||
* LZMA_STREAM_HEADER_SIZE bytes.
|
||||
*
|
||||
* options->backward_size is always set to LZMA_VLI_UNKNOWN. This is to
|
||||
* help comparing Stream Flags from Stream Header and Stream Footer with
|
||||
* lzma_stream_flags_compare().
|
||||
*
|
||||
* \return - LZMA_OK: Decoding was successful.
|
||||
* \note When decoding .xz files that contain multiple Streams, it may
|
||||
* make sense to print "file format not recognized" only if
|
||||
* decoding of the Stream Header of the \a first Stream gives
|
||||
* LZMA_FORMAT_ERROR. If non-first Stream Header gives
|
||||
* LZMA_FORMAT_ERROR, the message used for LZMA_DATA_ERROR is
|
||||
* probably more appropriate.
|
||||
* For example, the Stream decoder in liblzma uses
|
||||
* LZMA_DATA_ERROR if LZMA_FORMAT_ERROR is returned by
|
||||
* lzma_stream_header_decode() when decoding non-first Stream.
|
||||
*
|
||||
* \param[out] options Target for the decoded Stream Header options.
|
||||
* \param in Beginning of the input buffer of
|
||||
* LZMA_STREAM_HEADER_SIZE bytes.
|
||||
*
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Decoding was successful.
|
||||
* - LZMA_FORMAT_ERROR: Magic bytes don't match, thus the given
|
||||
* buffer cannot be Stream Header.
|
||||
* - LZMA_DATA_ERROR: CRC32 doesn't match, thus the header
|
||||
* is corrupt.
|
||||
* - LZMA_OPTIONS_ERROR: Unsupported options are present
|
||||
* in the header.
|
||||
*
|
||||
* \note When decoding .xz files that contain multiple Streams, it may
|
||||
* make sense to print "file format not recognized" only if
|
||||
* decoding of the Stream Header of the _first_ Stream gives
|
||||
* LZMA_FORMAT_ERROR. If non-first Stream Header gives
|
||||
* LZMA_FORMAT_ERROR, the message used for LZMA_DATA_ERROR is
|
||||
* probably more appropriate.
|
||||
*
|
||||
* For example, Stream decoder in liblzma uses LZMA_DATA_ERROR if
|
||||
* LZMA_FORMAT_ERROR is returned by lzma_stream_header_decode()
|
||||
* when decoding non-first Stream.
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_stream_header_decode(
|
||||
lzma_stream_flags *options, const uint8_t *in)
|
||||
|
@ -179,24 +217,25 @@ extern LZMA_API(lzma_ret) lzma_stream_header_decode(
|
|||
/**
|
||||
* \brief Decode Stream Footer
|
||||
*
|
||||
* \param options Target for the decoded Stream Header options.
|
||||
* \note If Stream Header was already decoded successfully, but
|
||||
* decoding Stream Footer returns LZMA_FORMAT_ERROR, the
|
||||
* application should probably report some other error message
|
||||
* than "file format not recognized". The file likely
|
||||
* is corrupt (possibly truncated). The Stream decoder in liblzma
|
||||
* uses LZMA_DATA_ERROR in this situation.
|
||||
*
|
||||
* \param[out] options Target for the decoded Stream Footer options.
|
||||
* \param in Beginning of the input buffer of
|
||||
* LZMA_STREAM_HEADER_SIZE bytes.
|
||||
*
|
||||
* \return - LZMA_OK: Decoding was successful.
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Decoding was successful.
|
||||
* - LZMA_FORMAT_ERROR: Magic bytes don't match, thus the given
|
||||
* buffer cannot be Stream Footer.
|
||||
* - LZMA_DATA_ERROR: CRC32 doesn't match, thus the Stream Footer
|
||||
* is corrupt.
|
||||
* - LZMA_OPTIONS_ERROR: Unsupported options are present
|
||||
* in Stream Footer.
|
||||
*
|
||||
* \note If Stream Header was already decoded successfully, but
|
||||
* decoding Stream Footer returns LZMA_FORMAT_ERROR, the
|
||||
* application should probably report some other error message
|
||||
* than "file format not recognized", since the file more likely
|
||||
* is corrupt (possibly truncated). Stream decoder in liblzma
|
||||
* uses LZMA_DATA_ERROR in this situation.
|
||||
*/
|
||||
extern LZMA_API(lzma_ret) lzma_stream_footer_decode(
|
||||
lzma_stream_flags *options, const uint8_t *in)
|
||||
|
@ -209,7 +248,11 @@ extern LZMA_API(lzma_ret) lzma_stream_footer_decode(
|
|||
* backward_size values are compared only if both are not
|
||||
* LZMA_VLI_UNKNOWN.
|
||||
*
|
||||
* \return - LZMA_OK: Both are equal. If either had backward_size set
|
||||
* \param a Pointer to lzma_stream_flags structure
|
||||
* \param b Pointer to lzma_stream_flags structure
|
||||
*
|
||||
* \return Possible lzma_ret values:
|
||||
* - LZMA_OK: Both are equal. If either had backward_size set
|
||||
* to LZMA_VLI_UNKNOWN, backward_size values were not
|
||||
* compared or validated.
|
||||
* - LZMA_DATA_ERROR: The structures differ.
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/version.h
|
||||
* \brief Version number
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -8,8 +9,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -17,14 +16,26 @@
|
|||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Version number split into components
|
||||
*/
|
||||
/** \brief Major version number of the liblzma release. */
|
||||
#define LZMA_VERSION_MAJOR 5
|
||||
|
||||
/** \brief Minor version number of the liblzma release. */
|
||||
#define LZMA_VERSION_MINOR 4
|
||||
#define LZMA_VERSION_PATCH 0
|
||||
|
||||
/** \brief Patch version number of the liblzma release. */
|
||||
#define LZMA_VERSION_PATCH 6
|
||||
|
||||
/**
|
||||
* \brief Version stability marker
|
||||
*
|
||||
* This will always be one of three values:
|
||||
* - LZMA_VERSION_STABILITY_ALPHA
|
||||
* - LZMA_VERSION_STABILITY_BETA
|
||||
* - LZMA_VERSION_STABILITY_STABLE
|
||||
*/
|
||||
#define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE
|
||||
|
||||
/** \brief Commit version number of the liblzma release */
|
||||
#ifndef LZMA_VERSION_COMMIT
|
||||
# define LZMA_VERSION_COMMIT ""
|
||||
#endif
|
||||
|
@ -95,15 +106,16 @@
|
|||
LZMA_VERSION_COMMIT)
|
||||
|
||||
|
||||
/* #ifndef is needed for use with windres (MinGW or Cygwin). */
|
||||
/* #ifndef is needed for use with windres (MinGW-w64 or Cygwin). */
|
||||
#ifndef LZMA_H_INTERNAL_RC
|
||||
|
||||
/**
|
||||
* \brief Run-time version number as an integer
|
||||
*
|
||||
* Return the value of LZMA_VERSION macro at the compile time of liblzma.
|
||||
* This allows the application to compare if it was built against the same,
|
||||
* This allows an application to compare if it was built against the same,
|
||||
* older, or newer version of liblzma that is currently running.
|
||||
*
|
||||
* \return The value of LZMA_VERSION macro at the compile time of liblzma
|
||||
*/
|
||||
extern LZMA_API(uint32_t) lzma_version_number(void)
|
||||
lzma_nothrow lzma_attr_const;
|
||||
|
@ -112,8 +124,10 @@ extern LZMA_API(uint32_t) lzma_version_number(void)
|
|||
/**
|
||||
* \brief Run-time version as a string
|
||||
*
|
||||
* This function may be useful if you want to display which version of
|
||||
* liblzma your application is currently using.
|
||||
* This function may be useful to display which version of liblzma an
|
||||
* application is currently using.
|
||||
*
|
||||
* \return Run-time version of liblzma
|
||||
*/
|
||||
extern LZMA_API(const char *) lzma_version_string(void)
|
||||
lzma_nothrow lzma_attr_const;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/**
|
||||
* \file lzma/vli.h
|
||||
* \brief Variable-length integer handling
|
||||
* \note Never include this file directly. Use <lzma.h> instead.
|
||||
*
|
||||
* In the .xz format, most integers are encoded in a variable-length
|
||||
* representation, which is sometimes called little endian base-128 encoding.
|
||||
|
@ -19,8 +20,6 @@
|
|||
*
|
||||
* 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
|
||||
|
@ -70,7 +69,8 @@ typedef uint64_t lzma_vli;
|
|||
* for example in the uncompressed_size and compressed_size variables.
|
||||
*
|
||||
* \return True if the integer is representable as VLI or if it
|
||||
* indicates unknown value.
|
||||
* indicates unknown value. False if the integer cannot be
|
||||
* represented as VLI.
|
||||
*/
|
||||
#define lzma_vli_is_valid(vli) \
|
||||
((vli) <= LZMA_VLI_MAX || (vli) == LZMA_VLI_UNKNOWN)
|
||||
|
@ -86,12 +86,12 @@ typedef uint64_t lzma_vli;
|
|||
* integer has been encoded.
|
||||
*
|
||||
* \param vli Integer to be encoded
|
||||
* \param vli_pos How many VLI-encoded bytes have already been written
|
||||
* \param[out] vli_pos How many VLI-encoded bytes have already been written
|
||||
* out. When starting to encode a new integer in
|
||||
* multi-call mode, *vli_pos must be set to zero.
|
||||
* To use single-call encoding, set vli_pos to NULL.
|
||||
* \param out Beginning of the output buffer
|
||||
* \param out_pos The next byte will be written to out[*out_pos].
|
||||
* \param[out] out Beginning of the output buffer
|
||||
* \param[out] out_pos The next byte will be written to out[*out_pos].
|
||||
* \param out_size Size of the out buffer; the first byte into
|
||||
* which no data is written to is out[out_size].
|
||||
*
|
||||
|
@ -121,15 +121,15 @@ extern LZMA_API(lzma_ret) lzma_vli_encode(lzma_vli vli, size_t *vli_pos,
|
|||
*
|
||||
* Like lzma_vli_encode(), this function has single-call and multi-call modes.
|
||||
*
|
||||
* \param vli Pointer to decoded integer. The decoder will
|
||||
* \param[out] vli Pointer to decoded integer. The decoder will
|
||||
* initialize it to zero when *vli_pos == 0, so
|
||||
* application isn't required to initialize *vli.
|
||||
* \param vli_pos How many bytes have already been decoded. When
|
||||
* \param[out] vli_pos How many bytes have already been decoded. When
|
||||
* starting to decode a new integer in multi-call
|
||||
* mode, *vli_pos must be initialized to zero. To
|
||||
* use single-call decoding, set vli_pos to NULL.
|
||||
* \param in Beginning of the input buffer
|
||||
* \param in_pos The next byte will be read from in[*in_pos].
|
||||
* \param[out] in_pos The next byte will be read from in[*in_pos].
|
||||
* \param in_size Size of the input buffer; the first byte that
|
||||
* won't be read is in[in_size].
|
||||
*
|
||||
|
|
|
@ -99,19 +99,22 @@ typedef struct {
|
|||
/// lzma_crc32_table[0] is needed by LZ encoder so we need to keep
|
||||
/// the array two-dimensional.
|
||||
#ifdef HAVE_SMALL
|
||||
lzma_attr_visibility_hidden
|
||||
extern uint32_t lzma_crc32_table[1][256];
|
||||
|
||||
extern void lzma_crc32_init(void);
|
||||
|
||||
#else
|
||||
|
||||
lzma_attr_visibility_hidden
|
||||
extern const uint32_t lzma_crc32_table[8][256];
|
||||
|
||||
lzma_attr_visibility_hidden
|
||||
extern const uint64_t lzma_crc64_table[4][256];
|
||||
#endif
|
||||
|
||||
|
||||
/// \brief Initialize *check depending on type
|
||||
///
|
||||
/// \return LZMA_OK on success. LZMA_UNSUPPORTED_CHECK if the type is not
|
||||
/// supported by the current version or build of liblzma.
|
||||
/// LZMA_PROG_ERROR if type > LZMA_CHECK_ID_MAX.
|
||||
extern void lzma_check_init(lzma_check_state *check, lzma_check type);
|
||||
|
||||
/// Update the check state
|
||||
|
|
|
@ -184,6 +184,20 @@ calc_hi(uint64_t poly, uint64_t a)
|
|||
MASK_H(in, mask, high)
|
||||
|
||||
|
||||
// MSVC (VS2015 - VS2022) produces bad 32-bit x86 code from the CLMUL CRC
|
||||
// code when optimizations are enabled (release build). According to the bug
|
||||
// report, the ebx register is corrupted and the calculated result is wrong.
|
||||
// Trying to workaround the problem with "__asm mov ebx, ebx" didn't help.
|
||||
// The following pragma works and performance is still good. x86-64 builds
|
||||
// aren't affected by this problem.
|
||||
//
|
||||
// NOTE: Another pragma after the function restores the optimizations.
|
||||
// If the #if condition here is updated, the other one must be updated too.
|
||||
#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__clang__) \
|
||||
&& defined(_M_IX86)
|
||||
# pragma optimize("g", off)
|
||||
#endif
|
||||
|
||||
// EDG-based compilers (Intel's classic compiler and compiler for E2K) can
|
||||
// define __GNUC__ but the attribute must not be used with them.
|
||||
// The new Clang-based ICX needs the attribute.
|
||||
|
@ -192,6 +206,14 @@ calc_hi(uint64_t poly, uint64_t a)
|
|||
#if (defined(__GNUC__) || defined(__clang__)) && !defined(__EDG__)
|
||||
__attribute__((__target__("ssse3,sse4.1,pclmul")))
|
||||
#endif
|
||||
// The intrinsics use 16-byte-aligned reads from buf, thus they may read
|
||||
// up to 15 bytes before or after the buffer (depending on the alignment
|
||||
// of the buf argument). The values of the extra bytes are ignored.
|
||||
// This unavoidably trips -fsanitize=address so address sanitizier has
|
||||
// to be disabled for this function.
|
||||
#if lzma_has_attribute(__no_sanitize_address__)
|
||||
__attribute__((__no_sanitize_address__))
|
||||
#endif
|
||||
static uint64_t
|
||||
crc64_clmul(const uint8_t *buf, size_t size, uint64_t crc)
|
||||
{
|
||||
|
@ -242,7 +264,7 @@ crc64_clmul(const uint8_t *buf, size_t size, uint64_t crc)
|
|||
// C = buf + size == aligned_buf + size2
|
||||
// D = buf + size + skip_end == aligned_buf + size2 + skip_end
|
||||
const size_t skip_start = (size_t)((uintptr_t)buf & 15);
|
||||
const size_t skip_end = (size_t)(-(uintptr_t)(buf + size) & 15);
|
||||
const size_t skip_end = (size_t)((0U - (uintptr_t)(buf + size)) & 15);
|
||||
const __m128i *aligned_buf = (const __m128i *)(
|
||||
(uintptr_t)buf & ~(uintptr_t)15);
|
||||
|
||||
|
@ -371,6 +393,10 @@ crc64_clmul(const uint8_t *buf, size_t size, uint64_t crc)
|
|||
# pragma GCC diagnostic pop
|
||||
#endif
|
||||
}
|
||||
#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__clang__) \
|
||||
&& defined(_M_IX86)
|
||||
# pragma optimize("", on)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -18,10 +18,8 @@
|
|||
#if (defined(__x86_64__) && defined(__SSSE3__) \
|
||||
&& defined(__SSE4_1__) && defined(__PCLMUL__)) \
|
||||
|| (defined(__e2k__) && __iset__ >= 6)
|
||||
// No table needed but something has to be exported to keep some toolchains
|
||||
// happy. Also use a declaration to silence compiler warnings.
|
||||
extern const char lzma_crc64_dummy;
|
||||
const char lzma_crc64_dummy;
|
||||
// No table needed. Use a typedef to avoid an empty translation unit.
|
||||
typedef void lzma_crc64_dummy;
|
||||
|
||||
#else
|
||||
// Having the declaration here silences clang -Wmissing-variable-declarations.
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
/// conditionally to keep the code working on older boxes.
|
||||
//
|
||||
// This code is based on the code found from 7-Zip, which has a modified
|
||||
// version of the SHA-256 found from Crypto++ <http://www.cryptopp.com/>.
|
||||
// version of the SHA-256 found from Crypto++ <https://www.cryptopp.com/>.
|
||||
// The code was modified a little to fit into liblzma.
|
||||
//
|
||||
// Authors: Kevin Springle
|
||||
|
|
|
@ -75,7 +75,6 @@ alone_encoder_end(void *coder_ptr, const lzma_allocator *allocator)
|
|||
}
|
||||
|
||||
|
||||
// At least for now, this is not used by any internal function.
|
||||
static lzma_ret
|
||||
alone_encoder_init(lzma_next_coder *next, const lzma_allocator *allocator,
|
||||
const lzma_options_lzma *options)
|
||||
|
@ -141,16 +140,6 @@ alone_encoder_init(lzma_next_coder *next, const lzma_allocator *allocator,
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
extern lzma_ret
|
||||
lzma_alone_encoder_init(lzma_next_coder *next, const lzma_allocator *allocator,
|
||||
const lzma_options_alone *options)
|
||||
{
|
||||
lzma_next_coder_init(&alone_encoder_init, next, allocator, options);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
extern LZMA_API(lzma_ret)
|
||||
lzma_alone_encoder(lzma_stream *strm, const lzma_options_lzma *options)
|
||||
{
|
||||
|
|
|
@ -277,7 +277,7 @@ block_buffer_encode(lzma_block *block, const lzma_allocator *allocator,
|
|||
if (ret != LZMA_BUF_ERROR)
|
||||
return ret;
|
||||
|
||||
// The data was uncompressible (at least with the options
|
||||
// The data was incompressible (at least with the options
|
||||
// given to us) or the output buffer was too small. Use the
|
||||
// uncompressed chunks of LZMA2 to wrap the data into a valid
|
||||
// Block. If we haven't been given enough output space, even
|
||||
|
|
|
@ -123,7 +123,10 @@ block_decode(void *coder_ptr, const lzma_allocator *allocator,
|
|||
return LZMA_DATA_ERROR;
|
||||
}
|
||||
|
||||
if (!coder->ignore_check)
|
||||
// Don't waste time updating the integrity check if it will be
|
||||
// ignored. Also skip it if no new output was produced. This
|
||||
// avoids null pointer + 0 (undefined behavior) when out == 0.
|
||||
if (!coder->ignore_check && out_used > 0)
|
||||
lzma_check_update(&coder->check, coder->block->check,
|
||||
out + out_start, out_used);
|
||||
|
||||
|
|
|
@ -77,6 +77,9 @@ block_encode(void *coder_ptr, const lzma_allocator *allocator,
|
|||
// checked it at the beginning of this function.
|
||||
coder->uncompressed_size += in_used;
|
||||
|
||||
// Call lzma_check_update() only if input was consumed. This
|
||||
// avoids null pointer + 0 (undefined behavior) when in == 0.
|
||||
if (in_used > 0)
|
||||
lzma_check_update(&coder->check, coder->block->check,
|
||||
in + in_start, in_used);
|
||||
|
||||
|
|
|
@ -35,7 +35,8 @@ lzma_version_string(void)
|
|||
// Memory allocation //
|
||||
///////////////////////
|
||||
|
||||
extern void * lzma_attribute((__malloc__)) lzma_attr_alloc_size(1)
|
||||
lzma_attr_alloc_size(1)
|
||||
extern void *
|
||||
lzma_alloc(size_t size, const lzma_allocator *allocator)
|
||||
{
|
||||
// Some malloc() variants return NULL if called with size == 0.
|
||||
|
@ -53,7 +54,8 @@ lzma_alloc(size_t size, const lzma_allocator *allocator)
|
|||
}
|
||||
|
||||
|
||||
extern void * lzma_attribute((__malloc__)) lzma_attr_alloc_size(1)
|
||||
lzma_attr_alloc_size(1)
|
||||
extern void *
|
||||
lzma_alloc_zero(size_t size, const lzma_allocator *allocator)
|
||||
{
|
||||
// Some calloc() variants return NULL if called with size == 0.
|
||||
|
@ -288,13 +290,21 @@ lzma_code(lzma_stream *strm, lzma_action action)
|
|||
strm->next_in, &in_pos, strm->avail_in,
|
||||
strm->next_out, &out_pos, strm->avail_out, action);
|
||||
|
||||
// Updating next_in and next_out has to be skipped when they are NULL
|
||||
// to avoid null pointer + 0 (undefined behavior). Do this by checking
|
||||
// in_pos > 0 and out_pos > 0 because this way NULL + non-zero (a bug)
|
||||
// will get caught one way or other.
|
||||
if (in_pos > 0) {
|
||||
strm->next_in += in_pos;
|
||||
strm->avail_in -= in_pos;
|
||||
strm->total_in += in_pos;
|
||||
}
|
||||
|
||||
if (out_pos > 0) {
|
||||
strm->next_out += out_pos;
|
||||
strm->avail_out -= out_pos;
|
||||
strm->total_out += out_pos;
|
||||
}
|
||||
|
||||
strm->internal->avail_in = strm->avail_in;
|
||||
|
||||
|
|
|
@ -17,17 +17,28 @@
|
|||
#include "mythread.h"
|
||||
#include "tuklib_integer.h"
|
||||
|
||||
// LZMA_API_EXPORT is used to mark the exported API functions.
|
||||
// It's used to define the LZMA_API macro.
|
||||
//
|
||||
// lzma_attr_visibility_hidden is used for marking *declarations* of extern
|
||||
// variables that are internal to liblzma (-fvisibility=hidden alone is
|
||||
// enough to hide the *definitions*). Such markings allow slightly more
|
||||
// efficient code to accesses those variables in ELF shared libraries.
|
||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
# ifdef DLL_EXPORT
|
||||
# define LZMA_API_EXPORT __declspec(dllexport)
|
||||
# else
|
||||
# define LZMA_API_EXPORT
|
||||
# endif
|
||||
# define lzma_attr_visibility_hidden
|
||||
// Don't use ifdef or defined() below.
|
||||
#elif HAVE_VISIBILITY
|
||||
# define LZMA_API_EXPORT __attribute__((__visibility__("default")))
|
||||
# define lzma_attr_visibility_hidden \
|
||||
__attribute__((__visibility__("hidden")))
|
||||
#else
|
||||
# define LZMA_API_EXPORT
|
||||
# define lzma_attr_visibility_hidden
|
||||
#endif
|
||||
|
||||
#define LZMA_API(type) LZMA_API_EXPORT type LZMA_API_CALL
|
||||
|
@ -47,7 +58,7 @@
|
|||
// to 2 then symbol versioning is done only if also PIC is defined.
|
||||
// By default Libtool defines PIC when building a shared library and
|
||||
// doesn't define it when building a static library but it can be
|
||||
// overriden with --with-pic and --without-pic. configure let's rely
|
||||
// overridden with --with-pic and --without-pic. configure let's rely
|
||||
// on PIC if neither --with-pic or --without-pic was used.
|
||||
#if defined(HAVE_SYMBOL_VERSIONS_LINUX) \
|
||||
&& (HAVE_SYMBOL_VERSIONS_LINUX == 2 && !defined(PIC))
|
||||
|
@ -87,6 +98,23 @@
|
|||
# endif
|
||||
#endif
|
||||
|
||||
// MSVC has __forceinline which shouldn't be combined with the inline keyword
|
||||
// (results in a warning).
|
||||
//
|
||||
// GCC 3.1 added always_inline attribute so we don't need to check
|
||||
// for __GNUC__ version. Similarly, all relevant Clang versions
|
||||
// support it (at least Clang 3.0.0 does already).
|
||||
// Other compilers might support too which also support __has_attribute
|
||||
// (Solaris Studio) so do that check too.
|
||||
#if defined(_MSC_VER)
|
||||
# define lzma_always_inline __forceinline
|
||||
#elif defined(__GNUC__) || defined(__clang__) || defined(__INTEL_COMPILER) \
|
||||
|| lzma_has_attribute(__always_inline__)
|
||||
# define lzma_always_inline inline __attribute__((__always_inline__))
|
||||
#else
|
||||
# define lzma_always_inline inline
|
||||
#endif
|
||||
|
||||
// These allow helping the compiler in some often-executed branches, whose
|
||||
// result is almost always the same.
|
||||
#ifdef __GNUC__
|
||||
|
@ -297,14 +325,14 @@ struct lzma_internal_s {
|
|||
|
||||
|
||||
/// Allocates memory
|
||||
extern void *lzma_alloc(size_t size, const lzma_allocator *allocator)
|
||||
lzma_attribute((__malloc__)) lzma_attr_alloc_size(1);
|
||||
lzma_attr_alloc_size(1)
|
||||
extern void *lzma_alloc(size_t size, const lzma_allocator *allocator);
|
||||
|
||||
/// Allocates memory and zeroes it (like calloc()). This can be faster
|
||||
/// than lzma_alloc() + memzero() while being backward compatible with
|
||||
/// custom allocators.
|
||||
extern void * lzma_attribute((__malloc__)) lzma_attr_alloc_size(1)
|
||||
lzma_alloc_zero(size_t size, const lzma_allocator *allocator);
|
||||
lzma_attr_alloc_size(1)
|
||||
extern void *lzma_alloc_zero(size_t size, const lzma_allocator *allocator);
|
||||
|
||||
/// Frees memory
|
||||
extern void lzma_free(void *ptr, const lzma_allocator *allocator);
|
||||
|
|
|
@ -350,7 +350,7 @@ file_info_decode(void *coder_ptr, const lzma_allocator *allocator,
|
|||
// coder->temp[coder->temp_size - LZMA_STREAM_HEADER_SIZE].
|
||||
//
|
||||
// Otherwise we will need to seek. The seeking is done so
|
||||
// that Stream Footer wil be at the end of coder->temp.
|
||||
// that Stream Footer will be at the end of coder->temp.
|
||||
// This way it's likely that we also get a complete Index
|
||||
// field into coder->temp without needing a separate seek
|
||||
// for that (unless the Index field is big).
|
||||
|
|
|
@ -37,9 +37,12 @@ typedef struct {
|
|||
uint64_t (*block_size)(const void *options);
|
||||
|
||||
/// Tells the size of the Filter Properties field. If options are
|
||||
/// invalid, UINT32_MAX is returned. If this is NULL, props_size_fixed
|
||||
/// is used.
|
||||
/// invalid, LZMA_OPTIONS_ERROR is returned and size is set to
|
||||
/// UINT32_MAX.
|
||||
lzma_ret (*props_size_get)(uint32_t *size, const void *options);
|
||||
|
||||
/// Some filters will always have the same size Filter Properties
|
||||
/// field. If props_size_get is NULL, this value is used.
|
||||
uint32_t props_size_fixed;
|
||||
|
||||
/// Encodes Filter Properties.
|
||||
|
@ -216,17 +219,17 @@ lzma_filters_update(lzma_stream *strm, const lzma_filter *filters)
|
|||
|
||||
extern lzma_ret
|
||||
lzma_raw_encoder_init(lzma_next_coder *next, const lzma_allocator *allocator,
|
||||
const lzma_filter *options)
|
||||
const lzma_filter *filters)
|
||||
{
|
||||
return lzma_raw_coder_init(next, allocator,
|
||||
options, (lzma_filter_find)(&encoder_find), true);
|
||||
filters, (lzma_filter_find)(&encoder_find), true);
|
||||
}
|
||||
|
||||
|
||||
extern LZMA_API(lzma_ret)
|
||||
lzma_raw_encoder(lzma_stream *strm, const lzma_filter *options)
|
||||
lzma_raw_encoder(lzma_stream *strm, const lzma_filter *filters)
|
||||
{
|
||||
lzma_next_strm_init(lzma_raw_coder_init, strm, options,
|
||||
lzma_next_strm_init(lzma_raw_coder_init, strm, filters,
|
||||
(lzma_filter_find)(&encoder_find), true);
|
||||
|
||||
strm->internal->supported_actions[LZMA_RUN] = true;
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "common.h"
|
||||
#include "index.h"
|
||||
#include "stream_flags_common.h"
|
||||
|
||||
|
@ -660,6 +661,12 @@ lzma_index_append(lzma_index *i, const lzma_allocator *allocator,
|
|||
if (uncompressed_base + uncompressed_size > LZMA_VLI_MAX)
|
||||
return LZMA_DATA_ERROR;
|
||||
|
||||
// Check that the new unpadded sum will not overflow. This is
|
||||
// checked again in index_file_size(), but the unpadded sum is
|
||||
// passed to vli_ceil4() which expects a valid lzma_vli value.
|
||||
if (compressed_base + unpadded_size > UNPADDED_SIZE_MAX)
|
||||
return LZMA_DATA_ERROR;
|
||||
|
||||
// Check that the file size will stay within limits.
|
||||
if (index_file_size(s->node.compressed_base,
|
||||
compressed_base + unpadded_size, s->record_count + 1,
|
||||
|
|
|
@ -2,6 +2,13 @@
|
|||
//
|
||||
/// \file index.h
|
||||
/// \brief Handling of Index
|
||||
/// \note This header file does not include common.h or lzma.h because
|
||||
/// this file is needed by both liblzma internally and by the
|
||||
/// tests. Including common.h will include and define many things
|
||||
/// the tests do not need and prevents issues with header file
|
||||
/// include order. This way, if lzma.h or common.h are not
|
||||
/// included before this file it will break on every OS instead
|
||||
/// of causing more subtle errors.
|
||||
//
|
||||
// Author: Lasse Collin
|
||||
//
|
||||
|
@ -13,8 +20,6 @@
|
|||
#ifndef LZMA_INDEX_H
|
||||
#define LZMA_INDEX_H
|
||||
|
||||
#include "common.h"
|
||||
|
||||
|
||||
/// Minimum Unpadded Size
|
||||
#define UNPADDED_SIZE_MIN LZMA_VLI_C(5)
|
||||
|
@ -22,6 +27,9 @@
|
|||
/// Maximum Unpadded Size
|
||||
#define UNPADDED_SIZE_MAX (LZMA_VLI_MAX & ~LZMA_VLI_C(3))
|
||||
|
||||
/// Index Indicator based on xz specification
|
||||
#define INDEX_INDICATOR 0
|
||||
|
||||
|
||||
/// Get the size of the Index Padding field. This is needed by Index encoder
|
||||
/// and decoder, but applications should have no use for this.
|
||||
|
@ -38,7 +46,7 @@ extern void lzma_index_prealloc(lzma_index *i, lzma_vli records);
|
|||
static inline lzma_vli
|
||||
vli_ceil4(lzma_vli vli)
|
||||
{
|
||||
assert(vli <= LZMA_VLI_MAX);
|
||||
assert(vli <= UNPADDED_SIZE_MAX);
|
||||
return (vli + 3) & ~LZMA_VLI_C(3);
|
||||
}
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ index_decode(void *coder_ptr, const lzma_allocator *allocator,
|
|||
// format". One could argue that the application should
|
||||
// verify the Index Indicator before trying to decode the
|
||||
// Index, but well, I suppose it is simpler this way.
|
||||
if (in[(*in_pos)++] != 0x00)
|
||||
if (in[(*in_pos)++] != INDEX_INDICATOR)
|
||||
return LZMA_DATA_ERROR;
|
||||
|
||||
coder->sequence = SEQ_COUNT;
|
||||
|
@ -203,9 +203,16 @@ index_decode(void *coder_ptr, const lzma_allocator *allocator,
|
|||
}
|
||||
|
||||
out:
|
||||
// Update the CRC32,
|
||||
// Update the CRC32.
|
||||
//
|
||||
// Avoid null pointer + 0 (undefined behavior) in "in + in_start".
|
||||
// In such a case we had no input and thus in_used == 0.
|
||||
{
|
||||
const size_t in_used = *in_pos - in_start;
|
||||
if (in_used > 0)
|
||||
coder->crc32 = lzma_crc32(in + in_start,
|
||||
*in_pos - in_start, coder->crc32);
|
||||
in_used, coder->crc32);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#ifndef LZMA_INDEX_DECODER_H
|
||||
#define LZMA_INDEX_DECODER_H
|
||||
|
||||
#include "common.h"
|
||||
#include "index.h"
|
||||
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ index_encode(void *coder_ptr,
|
|||
while (*out_pos < out_size)
|
||||
switch (coder->sequence) {
|
||||
case SEQ_INDICATOR:
|
||||
out[*out_pos] = 0x00;
|
||||
out[*out_pos] = INDEX_INDICATOR;
|
||||
++*out_pos;
|
||||
coder->sequence = SEQ_COUNT;
|
||||
break;
|
||||
|
@ -153,8 +153,15 @@ index_encode(void *coder_ptr,
|
|||
|
||||
out:
|
||||
// Update the CRC32.
|
||||
//
|
||||
// Avoid null pointer + 0 (undefined behavior) in "out + out_start".
|
||||
// In such a case we had no input and thus out_used == 0.
|
||||
{
|
||||
const size_t out_used = *out_pos - out_start;
|
||||
if (out_used > 0)
|
||||
coder->crc32 = lzma_crc32(out + out_start,
|
||||
*out_pos - out_start, coder->crc32);
|
||||
out_used, coder->crc32);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -145,7 +145,7 @@ lzma_index_hash_append(lzma_index_hash *index_hash, lzma_vli unpadded_size,
|
|||
lzma_vli uncompressed_size)
|
||||
{
|
||||
// Validate the arguments.
|
||||
if (index_hash->sequence != SEQ_BLOCK
|
||||
if (index_hash == NULL || index_hash->sequence != SEQ_BLOCK
|
||||
|| unpadded_size < UNPADDED_SIZE_MIN
|
||||
|| unpadded_size > UNPADDED_SIZE_MAX
|
||||
|| uncompressed_size > LZMA_VLI_MAX)
|
||||
|
@ -190,7 +190,7 @@ lzma_index_hash_decode(lzma_index_hash *index_hash, const uint8_t *in,
|
|||
switch (index_hash->sequence) {
|
||||
case SEQ_BLOCK:
|
||||
// Check the Index Indicator is present.
|
||||
if (in[(*in_pos)++] != 0x00)
|
||||
if (in[(*in_pos)++] != INDEX_INDICATOR)
|
||||
return LZMA_DATA_ERROR;
|
||||
|
||||
index_hash->sequence = SEQ_COUNT;
|
||||
|
@ -328,9 +328,16 @@ lzma_index_hash_decode(lzma_index_hash *index_hash, const uint8_t *in,
|
|||
}
|
||||
|
||||
out:
|
||||
// Update the CRC32,
|
||||
// Update the CRC32.
|
||||
//
|
||||
// Avoid null pointer + 0 (undefined behavior) in "in + in_start".
|
||||
// In such a case we had no input and thus in_used == 0.
|
||||
{
|
||||
const size_t in_used = *in_pos - in_start;
|
||||
if (in_used > 0)
|
||||
index_hash->crc32 = lzma_crc32(in + in_start,
|
||||
*in_pos - in_start, index_hash->crc32);
|
||||
in_used, index_hash->crc32);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -186,7 +186,7 @@ lzip_decode(void *coder_ptr, const lzma_allocator *allocator,
|
|||
// The five lowest bits are for the base-2 logarithm of
|
||||
// the dictionary size and the highest three bits are
|
||||
// the fractional part (0/16 to 7/16) that will be
|
||||
// substracted to get the final value.
|
||||
// subtracted to get the final value.
|
||||
//
|
||||
// For example, with 0xB5:
|
||||
// b2log = 21
|
||||
|
@ -262,7 +262,11 @@ lzip_decode(void *coder_ptr, const lzma_allocator *allocator,
|
|||
coder->member_size += *in_pos - in_start;
|
||||
coder->uncompressed_size += out_used;
|
||||
|
||||
if (!coder->ignore_check)
|
||||
// Don't update the CRC32 if the integrity check will be
|
||||
// ignored or if there was no new output. The latter is
|
||||
// important in case out == NULL to avoid null pointer + 0
|
||||
// which is undefined behavior.
|
||||
if (!coder->ignore_check && out_used > 0)
|
||||
coder->crc32 = lzma_crc32(out + out_start, out_used,
|
||||
coder->crc32);
|
||||
|
||||
|
|
|
@ -19,6 +19,16 @@
|
|||
# include <immintrin.h>
|
||||
#endif
|
||||
|
||||
// Only include <intrin.h> if it is needed. The header is only needed
|
||||
// on Windows when using an MSVC compatible compiler. The Intel compiler
|
||||
// can use the intrinsics without the header file.
|
||||
#if defined(TUKLIB_FAST_UNALIGNED_ACCESS) \
|
||||
&& defined(_MSC_VER) \
|
||||
&& defined(_M_X64) \
|
||||
&& !defined(__INTEL_COMPILER)
|
||||
# include <intrin.h>
|
||||
#endif
|
||||
|
||||
|
||||
/// Find out how many equal bytes the two buffers have.
|
||||
///
|
||||
|
@ -39,7 +49,7 @@
|
|||
/// It's rounded up to 2^n. This extra amount needs to be
|
||||
/// allocated in the buffers being used. It needs to be
|
||||
/// initialized too to keep Valgrind quiet.
|
||||
static inline uint32_t lzma_attribute((__always_inline__))
|
||||
static lzma_always_inline uint32_t
|
||||
lzma_memcmplen(const uint8_t *buf1, const uint8_t *buf2,
|
||||
uint32_t len, uint32_t limit)
|
||||
{
|
||||
|
@ -59,11 +69,13 @@ lzma_memcmplen(const uint8_t *buf1, const uint8_t *buf2,
|
|||
while (len < limit) {
|
||||
const uint64_t x = read64ne(buf1 + len) - read64ne(buf2 + len);
|
||||
if (x != 0) {
|
||||
# if defined(_M_X64) // MSVC or Intel C compiler on Windows
|
||||
// MSVC or Intel C compiler on Windows
|
||||
# if (defined(_MSC_VER) || defined(__INTEL_COMPILER)) && defined(_M_X64)
|
||||
unsigned long tmp;
|
||||
_BitScanForward64(&tmp, x);
|
||||
len += (uint32_t)tmp >> 3;
|
||||
# else // GCC, clang, or Intel C compiler
|
||||
// GCC, Clang, or Intel C compiler
|
||||
# else
|
||||
len += (uint32_t)__builtin_ctzll(x) >> 3;
|
||||
# endif
|
||||
return my_min(len, limit);
|
||||
|
@ -89,7 +101,8 @@ lzma_memcmplen(const uint8_t *buf1, const uint8_t *buf2,
|
|||
// version isn't used on x86-64.
|
||||
# define LZMA_MEMCMPLEN_EXTRA 16
|
||||
while (len < limit) {
|
||||
const uint32_t x = 0xFFFF ^ _mm_movemask_epi8(_mm_cmpeq_epi8(
|
||||
const uint32_t x = 0xFFFF ^ (uint32_t)_mm_movemask_epi8(
|
||||
_mm_cmpeq_epi8(
|
||||
_mm_loadu_si128((const __m128i *)(buf1 + len)),
|
||||
_mm_loadu_si128((const __m128i *)(buf2 + len))));
|
||||
|
||||
|
|
|
@ -111,7 +111,8 @@ microlzma_encoder_init(lzma_next_coder *next, const lzma_allocator *allocator,
|
|||
|
||||
// Encode the properties byte. Bitwise-negation of it will be the
|
||||
// first output byte.
|
||||
return_if_error(lzma_lzma_lclppb_encode(options, &coder->props));
|
||||
if (lzma_lzma_lclppb_encode(options, &coder->props))
|
||||
return LZMA_OPTIONS_ERROR;
|
||||
|
||||
// Initialize the LZMA encoder.
|
||||
const lzma_filter_info filters[2] = {
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "common.h"
|
||||
#include "index.h"
|
||||
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
#include "stream_decoder.h"
|
||||
#include "block_decoder.h"
|
||||
#include "index.h"
|
||||
|
||||
|
||||
typedef struct {
|
||||
|
@ -164,7 +165,7 @@ stream_decode(void *coder_ptr, const lzma_allocator *allocator,
|
|||
|
||||
if (coder->pos == 0) {
|
||||
// Detect if it's Index.
|
||||
if (in[*in_pos] == 0x00) {
|
||||
if (in[*in_pos] == INDEX_INDICATOR) {
|
||||
coder->sequence = SEQ_INDEX;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -629,7 +629,7 @@ get_thread(struct lzma_stream_coder *coder, const lzma_allocator *allocator)
|
|||
coder->thr = coder->threads_free;
|
||||
coder->threads_free = coder->threads_free->next;
|
||||
|
||||
// The thread is no longer in the cache so substract
|
||||
// The thread is no longer in the cache so subtract
|
||||
// it from the cached memory usage. Don't add it
|
||||
// to mem_in_use though; the caller will handle it
|
||||
// since it knows how much memory it will actually
|
||||
|
@ -887,7 +887,7 @@ decode_block_header(struct lzma_stream_coder *coder,
|
|||
|
||||
if (coder->pos == 0) {
|
||||
// Detect if it's Index.
|
||||
if (in[*in_pos] == 0x00)
|
||||
if (in[*in_pos] == INDEX_INDICATOR)
|
||||
return LZMA_INDEX_DETECTED;
|
||||
|
||||
// Calculate the size of the Block Header. Note that
|
||||
|
@ -1358,9 +1358,11 @@ stream_decode_mt(void *coder_ptr, const lzma_allocator *allocator,
|
|||
// values after we read these as those changes can only be
|
||||
// towards more favorable conditions (less memory in use,
|
||||
// more in cache).
|
||||
uint64_t mem_in_use;
|
||||
uint64_t mem_cached;
|
||||
struct worker_thread *thr = NULL; // Init to silence warning.
|
||||
//
|
||||
// These are initialized to silence warnings.
|
||||
uint64_t mem_in_use = 0;
|
||||
uint64_t mem_cached = 0;
|
||||
struct worker_thread *thr = NULL;
|
||||
|
||||
mythread_sync(coder->mutex) {
|
||||
mem_in_use = coder->mem_in_use;
|
||||
|
@ -1423,7 +1425,7 @@ stream_decode_mt(void *coder_ptr, const lzma_allocator *allocator,
|
|||
}
|
||||
|
||||
// Update the memory usage counters. Note that coder->mem_*
|
||||
// may have changed since we read them so we must substract
|
||||
// may have changed since we read them so we must subtract
|
||||
// or add the changes.
|
||||
mythread_sync(coder->mutex) {
|
||||
coder->mem_cached -= mem_freed;
|
||||
|
@ -1436,7 +1438,7 @@ stream_decode_mt(void *coder_ptr, const lzma_allocator *allocator,
|
|||
// coder->mem_cached might count the same thing twice.
|
||||
// If so, this will get corrected in get_thread() when
|
||||
// a worker_thread is picked from coder->free_threads
|
||||
// and its memory usage is substracted from mem_cached.
|
||||
// and its memory usage is subtracted from mem_cached.
|
||||
coder->mem_in_use += coder->mem_next_in
|
||||
+ coder->mem_next_filters;
|
||||
}
|
||||
|
|
|
@ -645,7 +645,7 @@ stream_encode_in(lzma_stream_coder *coder, const lzma_allocator *allocator,
|
|||
}
|
||||
|
||||
if (block_error) {
|
||||
lzma_ret ret;
|
||||
lzma_ret ret = LZMA_OK; // Init to silence a warning.
|
||||
|
||||
mythread_sync(coder->mutex) {
|
||||
ret = coder->thread_error;
|
||||
|
@ -743,7 +743,7 @@ stream_encode_mt(void *coder_ptr, const lzma_allocator *allocator,
|
|||
|
||||
// These are for wait_for_work().
|
||||
bool has_blocked = false;
|
||||
mythread_condtime wait_abs;
|
||||
mythread_condtime wait_abs = { 0 };
|
||||
|
||||
while (true) {
|
||||
mythread_sync(coder->mutex) {
|
||||
|
|
|
@ -18,7 +18,10 @@
|
|||
/// Size of the Stream Flags field
|
||||
#define LZMA_STREAM_FLAGS_SIZE 2
|
||||
|
||||
lzma_attr_visibility_hidden
|
||||
extern const uint8_t lzma_header_magic[6];
|
||||
|
||||
lzma_attr_visibility_hidden
|
||||
extern const uint8_t lzma_footer_magic[2];
|
||||
|
||||
|
||||
|
|
|
@ -197,7 +197,7 @@ typedef struct {
|
|||
/// (default is uint32_t).
|
||||
///
|
||||
/// Stringifying a filter is done by processing a given number of options
|
||||
/// in oder from the beginning of an option_map array. The integer is
|
||||
/// in order from the beginning of an option_map array. The integer is
|
||||
/// read from filter_options at .offset using the type from .type.
|
||||
///
|
||||
/// If the integer is zero and .flags has OPTMAP_NO_STRFY_ZERO then the
|
||||
|
@ -316,7 +316,7 @@ parse_lzma12_preset(const char **const str, const char *str_end,
|
|||
assert(*str < str_end);
|
||||
*preset = (uint32_t)(**str - '0');
|
||||
|
||||
// NOTE: Remember to update LZMA_PRESET_STR if this is modified!
|
||||
// NOTE: Remember to update LZMA12_PRESET_STR if this is modified!
|
||||
while (++*str < str_end) {
|
||||
switch (**str) {
|
||||
case 'e':
|
||||
|
@ -466,9 +466,9 @@ static const struct {
|
|||
/// If the flag LZMA_STR_ENCODER is used then the first
|
||||
/// strfy_encoder elements of optmap are stringified.
|
||||
/// With LZMA_STR_DECODER strfy_decoder is used.
|
||||
/// Currently encoders use all flags that decoders do but if
|
||||
/// Currently encoders use all options that decoders do but if
|
||||
/// that changes then this needs to be changed too, for example,
|
||||
/// add a new OPTMAP flag to skip printing some decoder-only flags.
|
||||
/// add a new OPTMAP flag to skip printing some decoder-only options.
|
||||
const option_map *optmap;
|
||||
uint8_t strfy_encoder;
|
||||
uint8_t strfy_decoder;
|
||||
|
@ -538,7 +538,7 @@ static const struct {
|
|||
///
|
||||
/// The input string starts at *str and the address in str_end is the first
|
||||
/// char that is not part of the string anymore. So no '\0' terminator is
|
||||
/// used. *str is advanced everytime something has been decoded successfully.
|
||||
/// used. *str is advanced every time something has been decoded successfully.
|
||||
static const char *
|
||||
parse_options(const char **const str, const char *str_end,
|
||||
void *filter_options,
|
||||
|
@ -667,7 +667,7 @@ parse_options(const char **const str, const char *str_end,
|
|||
&& *p >= '0' && *p <= '9');
|
||||
|
||||
if (p < name_eq_value_end) {
|
||||
// Remember this position so that it an be
|
||||
// Remember this position so that it can be
|
||||
// used for error messages that are
|
||||
// specifically about the suffix. (Out of
|
||||
// range values are about the whole value
|
||||
|
@ -844,7 +844,7 @@ parse_filter(const char **const str, const char *str_end, lzma_filter *filter,
|
|||
|
||||
/// Converts the string to a filter chain (array of lzma_filter structures).
|
||||
///
|
||||
/// *str is advanced everytime something has been decoded successfully.
|
||||
/// *str is advanced every time something has been decoded successfully.
|
||||
/// This way the caller knows where in the string a possible error occurred.
|
||||
static const char *
|
||||
str_to_filters(const char **const str, lzma_filter *filters, uint32_t flags,
|
||||
|
@ -1131,6 +1131,13 @@ lzma_str_from_filters(char **output_str, const lzma_filter *filters,
|
|||
const char *opt_delim = (flags & LZMA_STR_GETOPT_LONG) ? "=" : ":";
|
||||
|
||||
for (size_t i = 0; filters[i].id != LZMA_VLI_UNKNOWN; ++i) {
|
||||
// If we reach LZMA_FILTERS_MAX, then the filters array
|
||||
// is too large since the ID cannot be LZMA_VLI_UNKNOWN here.
|
||||
if (i == LZMA_FILTERS_MAX) {
|
||||
str_free(&dest, allocator);
|
||||
return LZMA_OPTIONS_ERROR;
|
||||
}
|
||||
|
||||
// Don't add a space between filters if the caller
|
||||
// doesn't want them.
|
||||
if (i > 0 && !(flags & LZMA_STR_NO_SPACES))
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue