1
0
mirror of https://git.tukaani.org/xz.git synced 2025-12-25 14:58:44 +00:00

Compare commits

...

33 Commits

Author SHA1 Message Date
Lasse Collin
e32cb264ea Bump version and soname for 5.0.3. 2011-05-21 16:59:22 +03:00
Lasse Collin
65cff45f8f Update NEWS for 5.0.3. 2011-05-21 16:56:53 +03:00
Lasse Collin
316c67ffda Add French translation.
It is known that the BCJ filter --help text is only
partially translated.
2011-05-21 16:29:11 +03:00
Lasse Collin
1931175eea xz: Translate also the string used to print the program name.
French needs a space before a colon, e.g. "xz : foo error".
2011-05-21 15:12:43 +03:00
Lasse Collin
841dc1f891 Update THANKS. 2011-05-17 12:28:18 +03:00
Lasse Collin
0f7e2d3624 Update INSTALL with a note about linker problem on OpenSolaris x86. 2011-05-17 12:28:14 +03:00
Lasse Collin
793d857e01 Build: Fix initialization of enable_check_* variables in configure.ac.
This doesn't matter much in practice since it is unlikely
that anyone would have such environment variable names.

Thanks to Wim Lewis.
2011-05-17 12:28:07 +03:00
Lasse Collin
afcff45cee Add underscores to attributes (__attribute((__foo__))). 2011-05-17 12:27:22 +03:00
Lasse Collin
22159c6ba2 Update THANKS. 2011-04-18 19:36:21 +03:00
Martin Väth
5e34990595 xzgrep: fix typo in $0 parsing
Reported-by: Diego Elio Pettenò <flameeyes@gentoo.org>
Signed-off-by: Martin Väth <vaeth@mathematik.uni-wuerzburg.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-04-18 19:36:14 +03:00
Lasse Collin
1125611b9b Remove doubled words from documentation and comments.
Spot candidates by running these commands:
  git ls-files |xargs perl -0777 -n \
    -e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims)' \
    -e '{$n=($` =~ tr/\n/\n/ + 1); ($v=$&)=~s/\n/\\n/g; print "$ARGV:$n:$v\n"}'

Thanks to Jim Meyering for the original patch.
2011-04-12 12:03:31 +03:00
Lasse Collin
3f8fa53837 liblzma: Document lzma_easy_(enc|dec)oder_memusage() better too. 2011-04-11 21:04:24 +03:00
Lasse Collin
320d734c20 liblzma: Document lzma_raw_(enc|dec)oder_memusage() better.
It didn't mention the return value that is used if
an error occurs.
2011-04-11 20:59:20 +03:00
Lasse Collin
2ee4edeffc liblzma: Don't create an empty Block in lzma_stream_buffer_encode().
Empty Block was created if the input buffer was empty.
Empty Block wastes a few bytes of space, but more importantly
it triggers a bug in XZ Utils 5.0.1 and older when trying
to decompress such a file. 5.0.1 and older consider such
files to be corrupt. I thought that no encoder creates empty
Blocks when releasing 5.0.2 but I was wrong.
2011-04-11 14:00:55 +03:00
Lasse Collin
73f56fb87d liblzma: Fix API docs to mention LZMA_UNSUPPORTED_CHECK.
This return value was missing from the API comments of
four functions.
2011-04-11 14:00:50 +03:00
Lasse Collin
4ce1cf97a8 liblzma: Validate encoder arguments better.
The biggest problem was that the integrity check type
wasn't validated, and e.g. lzma_easy_buffer_encode()
would create a corrupt .xz Stream if given an unsupported
Check ID. Luckily applications don't usually try to use
an unsupport Check ID, so this bug is unlikely to cause
many real-world problems.
2011-04-11 14:00:46 +03:00
Lasse Collin
972f05d7a4 Update THANKS. 2011-04-09 18:30:59 +03:00
Lasse Collin
28154eeaf6 liblzma: Add missing #ifdefs to filter_common.c.
Passing --disable-decoders to configure broke a few
encoders due to missing #ifdefs in filter_common.c.

Thanks to Jason Gorski for the patch.
2011-04-09 18:30:53 +03:00
Lasse Collin
aa95516d3d liblzma: Fix a memory leak in stream_encoder.c.
It leaks old filter options structures (hundred bytes or so)
every time the lzma_stream is reinitialized. With the xz tool,
this happens when compressing multiple files.
2011-04-05 15:27:48 +03:00
Lasse Collin
58f52c72f4 Bumped version and liblzma soname to 5.0.2. 2011-04-01 08:47:46 +03:00
Lasse Collin
162779682e Updated NEWS for 5.0.2. 2011-04-01 08:47:20 +03:00
Lasse Collin
45553f9b4b Update INSTALL with another note about IRIX. 2011-03-31 15:07:08 +03:00
Lasse Collin
af9d48d551 Tests: Add a new file to test empty LZMA2 streams. 2011-03-31 13:08:10 +03:00
Lasse Collin
d099ef9f51 liblzma: Fix decoding of LZMA2 streams having no uncompressed data.
The decoder considered empty LZMA2 streams to be corrupt.
This shouldn't matter much with .xz files, because no encoder
creates empty LZMA2 streams in .xz. This bug is more likely
to cause problems in applications that use raw LZMA2 streams.
2011-03-31 13:08:05 +03:00
Lasse Collin
df87249b26 Scripts: Better fix for xzgrep.
Now it uses "grep -q".

Thanks to Gregory Margo.
2011-03-24 01:43:23 +02:00
Lasse Collin
68c453e1c7 Updated THANKS. 2011-03-24 01:24:16 +02:00
Lasse Collin
b441d39855 Scripts: Fix xzgrep -l.
It didn't work at all. It tried to use the -q option
for grep, but it appended it after "--". This works
around it by redirecting to /dev/null. The downside
is that this can be slower with big files compared
to proper use of "grep -q".

Thanks to Gregory Margo.
2011-03-24 01:24:12 +02:00
Lasse Collin
82d5164839 xz: Clean up suffix.c.
struct suffix_pair isn't needed in compresed_name()
so get rid of it there.
2011-02-04 22:49:31 +02:00
Lasse Collin
6decc8b418 xz: Check if the file already has custom suffix when compressing.
Now "xz -S .test foo.test" refuses to compress the
file because it already has the suffix .test. The man
page had it documented this way already.
2011-02-04 11:29:47 +02:00
Lasse Collin
ecda90061d Updated THANKS. 2011-02-02 23:01:51 +02:00
Lasse Collin
0fda1ae5b1 Translations: Add Polish translation.
Thanks to Jakub Bogusz.
2011-02-02 23:00:33 +02:00
Lasse Collin
00be32978f Updated THANKS. 2011-02-02 22:24:00 +02:00
Lasse Collin
7232fcf96b Bump package version and liblzma soname to 5.0.1. 2011-01-28 20:26:38 +02:00
51 changed files with 1938 additions and 117 deletions

27
INSTALL
View File

@ -9,9 +9,10 @@ XZ Utils Installation
1.2.1. IRIX 1.2.1. IRIX
1.2.2. MINIX 3 1.2.2. MINIX 3
1.2.3. OpenVMS 1.2.3. OpenVMS
1.2.4. Tru64 1.2.4. Solaris, OpenSolaris, and derivatives
1.2.5. Windows 1.2.5. Tru64
1.2.6. DOS 1.2.6. Windows
1.2.7. DOS
1.3. Adding support for new platforms 1.3. Adding support for new platforms
2. configure options 2. configure options
2.1. Static vs. dynamic linking of liblzma 2.1. Static vs. dynamic linking of liblzma
@ -68,6 +69,10 @@ XZ Utils Installation
the -O2 optimization flag ("make check" fails). Using -O1 should the -O2 optimization flag ("make check" fails). Using -O1 should
work. work.
A problem has been reported when using shared liblzma. Passing
--disable-shared to configure works around this. Alternatively,
putting "-64" to CFLAGS to build a 64-bit version might help too.
1.2.2. MINIX 3 1.2.2. MINIX 3
@ -96,14 +101,24 @@ XZ Utils Installation
http://nchrem.tnw.tudelft.nl/openvms/software2.html#xzutils http://nchrem.tnw.tudelft.nl/openvms/software2.html#xzutils
1.2.4. Tru64 1.2.4. Solaris, OpenSolaris, and derivatives
The following linker error has been reported on some x86 systems:
ld: fatal: relocation error: R_386_GOTOFF: ...
This can be worked around by passing gl_cv_cc_visibility=no
as an argument to the configure script.
1.2.5. Tru64
If you try to use the native C compiler on Tru64 (passing CC=cc to 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 4.1 in
this file (pass also ac_cv_prog_cc_c99= to configure). this file (pass also ac_cv_prog_cc_c99= to configure).
1.2.5. Windows 1.2.6. Windows
Building XZ Utils on Windows is supported under MinGW + MSYS, Building XZ Utils on Windows is supported under MinGW + MSYS,
MinGW-w64 + MSYS, and Cygwin. There is windows/build.bash to MinGW-w64 + MSYS, and Cygwin. There is windows/build.bash to
@ -123,7 +138,7 @@ XZ Utils Installation
windows/README-Windows.txt for details. windows/README-Windows.txt for details.
1.2.6. DOS 1.2.7. DOS
There is an experimental Makefile in the "dos" directory to build There is an experimental Makefile in the "dos" directory to build
XZ Utils on DOS using DJGPP. Support for long file names (LFN) is XZ Utils on DOS using DJGPP. Support for long file names (LFN) is

54
NEWS
View File

@ -1,6 +1,56 @@
XZ Utils User-Visible Changes XZ Utils Release Notes
============================= ======================
5.0.3 (2011-05-21)
* liblzma fixes:
- A memory leak was fixed.
- lzma_stream_buffer_encode() no longer creates an empty .xz
Block if encoding an empty buffer. Such an empty Block with
LZMA2 data would trigger a bug in 5.0.1 and older (see the
first bullet point in 5.0.2 notes). When releasing 5.0.2,
I thought that no encoder creates this kind of files but
I was wrong.
- Validate function arguments better in a few functions. Most
importantly, specifying an unsupported integrity check to
lzma_stream_buffer_encode() no longer creates a corrupt .xz
file. Probably no application tries to do that, so this
shouldn't be a big problem in practice.
- Document that lzma_block_buffer_encode(),
lzma_easy_buffer_encode(), lzma_stream_encoder(), and
lzma_stream_buffer_encode() may return LZMA_UNSUPPORTED_CHECK.
- The return values of the _memusage() functions are now
documented better.
* Fix command name detection in xzgrep. xzegrep and xzfgrep now
correctly use egrep and fgrep instead of grep.
* French translation was added.
5.0.2 (2011-04-01)
* LZMA2 decompressor now correctly accepts LZMA2 streams with no
uncompressed data. Previously it considered them corrupt. The
bug can affect applications that use raw LZMA2 streams. It is
very unlikely to affect .xz files because no compressor creates
.xz files with empty LZMA2 streams. (Empty .xz files are a
different thing than empty LZMA2 streams.)
* "xz --suffix=.foo filename.foo" now refuses to compress the
file due to it already having the suffix .foo. It was already
documented on the man page, but the code lacked the test.
* "xzgrep -l foo bar.xz" works now.
* Polish translation was added.
5.0.1 (2011-01-29) 5.0.1 (2011-01-29)

9
THANKS
View File

@ -10,6 +10,9 @@ has been important. :-) In alphabetical order:
- Karl Berry - Karl Berry
- Anders F. Björklund - Anders F. Björklund
- Emmanuel Blot - Emmanuel Blot
- Martin Blumenstingl
- Jakub Bogusz
- Maarten Bosmans
- Trent W. Buck - Trent W. Buck
- David Burklund - David Burklund
- Daniel Mealha Cabrita - Daniel Mealha Cabrita
@ -22,6 +25,7 @@ has been important. :-) In alphabetical order:
- Gilles Espinasse - Gilles Espinasse
- Denis Excoffier - Denis Excoffier
- Mike Frysinger - Mike Frysinger
- Jason Gorski
- Juan Manuel Guerrero - Juan Manuel Guerrero
- Joachim Henke - Joachim Henke
- Peter Ivanov - Peter Ivanov
@ -34,7 +38,9 @@ has been important. :-) In alphabetical order:
- Peter Lawler - Peter Lawler
- Hin-Tak Leung - Hin-Tak Leung
- Andraž 'ruskie' Levstik - Andraž 'ruskie' Levstik
- Wim Lewis
- Lorenzo De Liso - Lorenzo De Liso
- Gregory Margo
- Jim Meyering - Jim Meyering
- Rafał Mużyło - Rafał Mużyło
- Adrien Nader - Adrien Nader
@ -43,6 +49,7 @@ has been important. :-) In alphabetical order:
- Andre Noll - Andre Noll
- Peter O'Gorman - Peter O'Gorman
- Igor Pavlov - Igor Pavlov
- Diego Elio Pettenò
- Elbert Pol - Elbert Pol
- Mikko Pouru - Mikko Pouru
- Robert Readman - Robert Readman
@ -55,10 +62,12 @@ has been important. :-) In alphabetical order:
- Dan Shechter - Dan Shechter
- Stuart Shelton - Stuart Shelton
- Jonathan Stott - Jonathan Stott
- Dan Stromberg
- Paul Townsend - Paul Townsend
- Mohammed Adnène Trojette - Mohammed Adnène Trojette
- Alexey Tourbin - Alexey Tourbin
- Patrick J. Volkerding - Patrick J. Volkerding
- Martin Väth
- Christian Weisgerber - Christian Weisgerber
- Bert Wesarg - Bert Wesarg
- Ralf Wildenhues - Ralf Wildenhues

View File

@ -229,7 +229,7 @@ fi
m4_define([SUPPORTED_CHECKS], [crc32,crc64,sha256]) m4_define([SUPPORTED_CHECKS], [crc32,crc64,sha256])
m4_foreach([NAME], [SUPPORTED_FILTERS], m4_foreach([NAME], [SUPPORTED_CHECKS],
[enable_check_[]NAME=no [enable_check_[]NAME=no
])dnl ])dnl

View File

@ -40,7 +40,7 @@ The .lzma File Format
0.2. Changes 0.2. Changes
Last modified: 2009-05-01 11:15+0300 Last modified: 2011-04-12 11:55+0300
1. File Format 1. File Format
@ -161,6 +161,6 @@ The .lzma File Format
XZ Utils - The next generation of LZMA Utils XZ Utils - The next generation of LZMA Utils
http://tukaani.org/xz/ http://tukaani.org/xz/
The .xz file format - The successor of the the .lzma format The .xz file format - The successor of the .lzma format
http://tukaani.org/xz/xz-file-format.txt http://tukaani.org/xz/xz-file-format.txt

View File

@ -1,3 +1,5 @@
cs cs
de de
fr
it it
pl

864
po/fr.po Normal file
View File

@ -0,0 +1,864 @@
# XZ Utils French Translation
# This file is put in the public domain.
# Adrien Nader <camaradetux@gmail.com>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: xz-utils\n"
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
"POT-Creation-Date: 2011-05-21 14:35+0200\n"
"PO-Revision-Date: 2010-09-24 21;12+0200\n"
"Last-Translator: Adrien Nader <camaradetux@gmail.com>\n"
"Language-Team: None\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n"
#: src/xz/args.c:338
#, c-format
msgid "%s: Unknown file format type"
msgstr "%s : Format de fichier inconnu"
#: src/xz/args.c:361 src/xz/args.c:369
#, c-format
msgid "%s: Unsupported integrity check type"
msgstr "%s : Type de vérification d'intégrité inconnu"
#: src/xz/args.c:396
msgid "Only one file can be specified with `--files' or `--files0'."
msgstr "Un seul fichier peut être spécifié avec `--files' ou `--files0'."
#: src/xz/args.c:459
#, c-format
msgid "The environment variable %s contains too many arguments"
msgstr "La variable d'environnement %s contient trop d'arguments"
#: src/xz/coder.c:105
msgid "Maximum number of filters is four"
msgstr "Le nombre maximal de filtres est quatre"
#: src/xz/coder.c:118
msgid "Memory usage limit is too low for the given filter setup."
msgstr "La limite d'utilisation mémoire est trop basse pour la configuration de filtres donnée."
#: src/xz/coder.c:148
msgid "Using a preset in raw mode is discouraged."
msgstr "Utiliser un préréglage en mode `raw' est déconseillé."
#: src/xz/coder.c:150
msgid "The exact options of the presets may vary between software versions."
msgstr "Le détail des préréglages peut varier entre différentes versions du logiciel."
#: src/xz/coder.c:176
msgid "The .lzma format supports only the LZMA1 filter"
msgstr "Le format .lzma ne prend en charge que le filtre LZMA1"
#: src/xz/coder.c:184
msgid "LZMA1 cannot be used with the .xz format"
msgstr "Le filtre LZMA1 ne peut être utilisé avec le format .xz"
#: src/xz/coder.c:203
#, c-format
msgid "Using up to %<PRIu32> threads."
msgstr "Jusqu'à %<PRIu32> threads seront utilisés."
#: src/xz/coder.c:216
msgid "Unsupported filter chain or filter options"
msgstr "Enchaînement ou options de filtres non pris en charge"
#: src/xz/coder.c:224
#, c-format
msgid "Decompression will need %s MiB of memory."
msgstr "La décompression nécessitera %s MiB de mémoire."
#: src/xz/coder.c:259
#, c-format
msgid "Adjusted the number of threads from %s to %s to not exceed the memory usage limit of %s MiB"
msgstr "Nombre de threads réduit de %s à %s pour ne pas dépasser la limite d'utilisation mémoire de %s MiB"
#: src/xz/coder.c:313
#, c-format
msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB"
msgstr "Taille du dictionnaire LZMA%c réduite de %s MiB à %s MiB pour ne pas dépasser la limite d'utilisation mémoire de %s MiB"
#. TRANSLATORS: When compression or decompression finishes,
#. and xz is going to remove the source file, xz first checks
#. if the source file still exists, and if it does, does its
#. device and inode numbers match what xz saw when it opened
#. the source file. If these checks fail, this message is
#. shown, %s being the filename, and the file is not deleted.
#. The check for device and inode numbers is there, because
#. it is possible that the user has put a new file in place
#. of the original file, and in that case it obviously
#. shouldn't be removed.
#: src/xz/file_io.c:136
#, c-format
msgid "%s: File seems to have been moved, not removing"
msgstr "%s : Le fichier a apparemment été déplacé, suppression annulée"
#: src/xz/file_io.c:143 src/xz/file_io.c:635
#, c-format
msgid "%s: Cannot remove: %s"
msgstr "%s : Impossible de supprimer : %s"
#: src/xz/file_io.c:168
#, c-format
msgid "%s: Cannot set the file owner: %s"
msgstr "%s : Impossible de modifier le propriétaire du fichier : %s"
#: src/xz/file_io.c:174
#, c-format
msgid "%s: Cannot set the file group: %s"
msgstr "%s : Impossible de modifier le groupe propriétaire du fichier : %s"
#: src/xz/file_io.c:193
#, c-format
msgid "%s: Cannot set the file permissions: %s"
msgstr "%s : Impossible de modifier les permissions du fichier : %s"
#: src/xz/file_io.c:340 src/xz/file_io.c:423
#, c-format
msgid "%s: Is a symbolic link, skipping"
msgstr "%s est un lien symbolique : ignoré"
#: src/xz/file_io.c:468
#, c-format
msgid "%s: Is a directory, skipping"
msgstr "%s est un répertoire : ignoré"
#: src/xz/file_io.c:474
#, c-format
msgid "%s: Not a regular file, skipping"
msgstr "%s n'est pas un fichier régulier : ignoré"
#: src/xz/file_io.c:491
#, c-format
msgid "%s: File has setuid or setgid bit set, skipping"
msgstr "%s : Le fichier possède les bits `setuid' ou `setgid' : ignoré"
#: src/xz/file_io.c:498
#, c-format
msgid "%s: File has sticky bit set, skipping"
msgstr "%s : Le fichier possède le bit `sticky' : ignoré"
#: src/xz/file_io.c:505
#, c-format
msgid "%s: Input file has more than one hard link, skipping"
msgstr "%s : Le fichier d'entrée a plus d'un lien matériel : ignoré"
#: src/xz/file_io.c:761
#, c-format
msgid "Error restoring the O_APPEND flag to standard output: %s"
msgstr "Impossible de rétablir le drapeau O_APPEND sur la sortie standard : %s"
#: src/xz/file_io.c:773
#, c-format
msgid "%s: Closing the file failed: %s"
msgstr "%s : Impossible de fermer le fichier : %s"
#: src/xz/file_io.c:809 src/xz/file_io.c:1008
#, c-format
msgid "%s: Seeking failed when trying to create a sparse file: %s"
msgstr "%s : Impossible de se déplacer dans le fichier pour créer un 'sparse file' : %s"
#: src/xz/file_io.c:883
#, c-format
msgid "%s: Read error: %s"
msgstr "%s : Erreur d'écriture : %s"
#: src/xz/file_io.c:906
#, c-format
msgid "%s: Error seeking the file: %s"
msgstr "%s : Impossible de se déplacer dans le fichier : %s"
#: src/xz/file_io.c:916
#, c-format
msgid "%s: Unexpected end of file"
msgstr "%s : Fin de fichier inattendue"
#: src/xz/file_io.c:966
#, c-format
msgid "%s: Write error: %s"
msgstr "%s : Erreur d'écriture : %s"
#: src/xz/hardware.c:101
msgid "Disabled"
msgstr "Désactivé"
#. TRANSLATORS: Test with "xz --info-memory" to see if
#. the alignment looks nice.
#: src/xz/hardware.c:120
msgid "Total amount of physical memory (RAM): "
msgstr "Quantité totale de mémoire physique (RAM) : "
#: src/xz/hardware.c:122
msgid "Memory usage limit for compression: "
msgstr "Limite d'utilisation pour la compression : "
#: src/xz/hardware.c:124
msgid "Memory usage limit for decompression: "
msgstr "Limite d'utilisation pour la décompression : "
#. TRANSLATORS: Indicates that there is no integrity check.
#. This string is used in tables, so the width must not
#. exceed ten columns with a fixed-width font.
#: src/xz/list.c:62
msgid "None"
msgstr "Aucune"
#. TRANSLATORS: Indicates that integrity check name is not known,
#. but the Check ID is known (here 2). This and other "Unknown-N"
#. strings are used in tables, so the width must not exceed ten
#. columns with a fixed-width font. It's OK to omit the dash if
#. you need space for one extra letter, but don't use spaces.
#: src/xz/list.c:69
msgid "Unknown-2"
msgstr "Inconnue-2"
#: src/xz/list.c:70
msgid "Unknown-3"
msgstr "Inconnue-3"
#: src/xz/list.c:72
msgid "Unknown-5"
msgstr "Inconnue-5"
#: src/xz/list.c:73
msgid "Unknown-6"
msgstr "Inconnue-6"
#: src/xz/list.c:74
msgid "Unknown-7"
msgstr "Inconnue-7"
#: src/xz/list.c:75
msgid "Unknown-8"
msgstr "Inconnue-8"
#: src/xz/list.c:76
msgid "Unknown-9"
msgstr "Inconnue-9"
#: src/xz/list.c:78
msgid "Unknown-11"
msgstr "Inconnue-11"
#: src/xz/list.c:79
msgid "Unknown-12"
msgstr "Inconnue-12"
#: src/xz/list.c:80
msgid "Unknown-13"
msgstr "Inconnue-13"
#: src/xz/list.c:81
msgid "Unknown-14"
msgstr "Inconnue-14"
#: src/xz/list.c:82
msgid "Unknown-15"
msgstr "Inconnue-15"
#: src/xz/list.c:126
#, c-format
msgid "%s: File is empty"
msgstr "%s : Le fichier est vide"
#: src/xz/list.c:131
#, c-format
msgid "%s: Too small to be a valid .xz file"
msgstr "%s : Trop petit pour être un fichier xz valide."
#. TRANSLATORS: These are column headings. From Strms (Streams)
#. to Ratio, the columns are right aligned. Check and Filename
#. are left aligned. If you need longer words, it's OK to
#. use two lines here. Test with "xz -l foo.xz".
#: src/xz/list.c:612
msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename"
msgstr "Flux Blocs Compressé Décompressé Ratio Vérif Nom de fichier"
#: src/xz/list.c:652
#, c-format
msgid " Streams: %s\n"
msgstr " Flux : %s\n"
#: src/xz/list.c:654
#, c-format
msgid " Blocks: %s\n"
msgstr " Blocs : %s\n"
#: src/xz/list.c:656
#, c-format
msgid " Compressed size: %s\n"
msgstr " Taille compressé : %s\n"
#: src/xz/list.c:659
#, c-format
msgid " Uncompressed size: %s\n"
msgstr " Taille décompressé : %s\n"
#: src/xz/list.c:662
#, c-format
msgid " Ratio: %s\n"
msgstr " Ratio : %s\n"
#: src/xz/list.c:664
#, c-format
msgid " Check: %s\n"
msgstr " Vérification : %s\n"
#: src/xz/list.c:665
#, c-format
msgid " Stream padding: %s\n"
msgstr " Octets de rembourrage du flux : %s\n"
#. TRANSLATORS: The second line is column headings. All except
#. Check are right aligned; Check is left aligned. Test with
#. "xz -lv foo.xz".
#: src/xz/list.c:693
msgid ""
" Streams:\n"
" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding"
msgstr ""
" Flux :\n"
" Flux Blocs PositionComp PositionDécomp TailleComp TailleDécomp Ratio Vérif. Bourrage"
#. TRANSLATORS: The second line is column headings. All
#. except Check are right aligned; Check is left aligned.
#: src/xz/list.c:748
#, c-format
msgid ""
" Blocks:\n"
" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check"
msgstr ""
" Blocs :\n"
" Flux Bloc PositionComp PositionDécomp TailleTot TailleDécomp Ratio Vérif."
#. TRANSLATORS: These are additional column headings
#. for the most verbose listing mode. CheckVal
#. (Check value), Flags, and Filters are left aligned.
#. Header (Block Header Size), CompSize, and MemUsage
#. are right aligned. %*s is replaced with 0-120
#. spaces to make the CheckVal column wide enough.
#. Test with "xz -lvv foo.xz".
#: src/xz/list.c:760
#, c-format
msgid " CheckVal %*s Header Flags CompSize MemUsage Filters"
msgstr " ValVérif %*sEn-tête Drapeaux TailleComp UtilMém Filtres"
#: src/xz/list.c:838 src/xz/list.c:1007
#, c-format
msgid " Memory needed: %s MiB\n"
msgstr " Mémoire nécessaire : %s MiB\n"
#: src/xz/list.c:840 src/xz/list.c:1009
#, c-format
msgid " Sizes in headers: %s\n"
msgstr " Tailles stockées dans l'en-tête : %s\n"
#: src/xz/list.c:841 src/xz/list.c:1010
msgid "Yes"
msgstr "Oui"
#: src/xz/list.c:841 src/xz/list.c:1010
msgid "No"
msgstr "Non"
#. TRANSLATORS: %s is an integer. Only the plural form of this
#. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz".
#: src/xz/list.c:986
#, c-format
msgid "%s file\n"
msgid_plural "%s files\n"
msgstr[0] "%s fichier\n"
msgstr[1] "%s fichiers\n"
#: src/xz/list.c:999
msgid "Totals:"
msgstr "Totaux :"
#: src/xz/list.c:1000
#, c-format
msgid " Number of files: %s\n"
msgstr " Nombre de fichiers : %s\n"
#: src/xz/list.c:1072
msgid "--list works only on .xz files (--format=xz or --format=auto)"
msgstr "--list ne marche que sur les fichiers .xz (--format=xz ou --format=auto)"
#: src/xz/list.c:1078
msgid "--list does not support reading from standard input"
msgstr "--list est incompatible avec la lecture sur l'entrée standard"
#: src/xz/main.c:89
#, c-format
msgid "%s: Error reading filenames: %s"
msgstr "%s : Erreur lors de la lecture des noms de fichiers : %s"
#: src/xz/main.c:96
#, c-format
msgid "%s: Unexpected end of input when reading filenames"
msgstr "%s : Fin des données inattendue lors de la lecture des noms de fichiers"
#: src/xz/main.c:120
#, c-format
msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?"
msgstr "%s : Caractère NULL détecté lors de la lecture des noms de fichiers ; peut-être pensiez-vous à `--files0' plutot qu'a `--files' ?"
#: src/xz/main.c:174
msgid "Compression and decompression with --robot are not supported yet."
msgstr "La compression et la décompression ne marchent pas encore avec --robot."
#: src/xz/main.c:231
msgid "Cannot read data from standard input when reading filenames from standard input"
msgstr "Impossible de lire à la fois les données et les noms de fichiers depuis l'entrée standard"
#. TRANSLATORS: This is the program name in the beginning
#. of the line in messages. Usually it becomes "xz: ".
#. This is a translatable string because French needs
#. a space before a colon.
#: src/xz/message.c:733
#, c-format
msgid "%s: "
msgstr "%s : "
#: src/xz/message.c:796 src/xz/message.c:846
msgid "Internal error (bug)"
msgstr "Erreur interne (bug)"
#: src/xz/message.c:803
msgid "Cannot establish signal handlers"
msgstr "Impossible d'installer le gestionnaire de signaux"
#: src/xz/message.c:812
msgid "No integrity check; not verifying file integrity"
msgstr "Pas de données de vérification d'intégrité ; vérification non effectuée"
#: src/xz/message.c:815
msgid "Unsupported type of integrity check; not verifying file integrity"
msgstr "Méthode de vérification d'intégrité non prise en charge ; vérification non effectuée"
#: src/xz/message.c:822
msgid "Memory usage limit reached"
msgstr "Limite d'utilisation mémoire atteinte"
#: src/xz/message.c:825
msgid "File format not recognized"
msgstr "Format de fichier inconnu"
#: src/xz/message.c:828
msgid "Unsupported options"
msgstr "Options non prises en charge"
#: src/xz/message.c:831
msgid "Compressed data is corrupt"
msgstr "Les données compressées sont corrompues"
#: src/xz/message.c:834
msgid "Unexpected end of input"
msgstr "Fin des données inattendue "
#: src/xz/message.c:885
#, c-format
msgid "%s MiB of memory is required. The limit is %s."
msgstr "%s MiB de mémoire sont nécessaires, la limite étant %s."
#: src/xz/message.c:1052
#, c-format
msgid "%s: Filter chain: %s\n"
msgstr "%s : Enchaînement de filtres : %s\n"
#: src/xz/message.c:1062
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Utilisez `%s --help' pour plus d'informations."
#: src/xz/message.c:1088
#, c-format
msgid ""
"Usage: %s [OPTION]... [FILE]...\n"
"Compress or decompress FILEs in the .xz format.\n"
"\n"
msgstr ""
"Utilisation : %s [OPTION]... [FICHIER]...\n"
"Compresse ou decompresse FICHIER(s) au format .xz.\n"
"\n"
#: src/xz/message.c:1095
msgid "Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Les arguments obligatoires pour les options longues le sont aussi pour les\n"
"options courtes.\n"
#: src/xz/message.c:1099
msgid " Operation mode:\n"
msgstr " Mode d'opération :\n"
#: src/xz/message.c:1102
msgid ""
" -z, --compress force compression\n"
" -d, --decompress force decompression\n"
" -t, --test test compressed file integrity\n"
" -l, --list list information about .xz files"
msgstr ""
" -z, --compress forcer la compression\n"
" -d, --decompress forcer la décompression\n"
" -t, --test tester l'intégrité du fichier compressé\n"
" -l, --list lister les informations à propos des fichiers .xz"
#: src/xz/message.c:1108
msgid ""
"\n"
" Operation modifiers:\n"
msgstr ""
"\n"
" Modifictauers :\n"
#: src/xz/message.c:1111
msgid ""
" -k, --keep keep (don't delete) input files\n"
" -f, --force force overwrite of output file and (de)compress links\n"
" -c, --stdout write to standard output and don't delete input files"
msgstr ""
" -k, --keep ne pas supprimer les fichiers d'entrée (\"keep\")\n"
" -f, --force forcer l'écrasement du fichier de sortie et\n"
" (dé)compresser les liens\n"
" -c, --stdout écrire sur la sortie standard et ne pas supprimer les\n"
" fichiers d'entrée"
#: src/xz/message.c:1117
msgid ""
" --single-stream decompress only the first stream, and silently\n"
" ignore possible remaining input data"
msgstr ""
" --single-stream décompresser uniquement le premier flux et ignorer\n"
" silenciseusement les données éventuellement restantes"
#: src/xz/message.c:1120
msgid ""
" --no-sparse do not create sparse files when decompressing\n"
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
" --files[=FILE] read filenames to process from FILE; if FILE is\n"
" omitted, filenames are read from the standard input;\n"
" filenames must be terminated with the newline character\n"
" --files0[=FILE] like --files but use the null character as terminator"
msgstr ""
" --no-sparse ne pas créer de 'sparse file' lors de la décompression\n"
" -S, --suffix=.SUF utiliser le suffixe `.SUF' pour les fichiers compressés\n"
" --files[=FILE] lire les fichiers sur lesquels opérer depuis FILE ; si\n"
" FILE est omis, ceux-ci sont lus depuis l'entrée standard\n"
" et doivent être suivis d'un caractère de retour à la ligne\n"
" --files0[=FILE] comme --files mais avec un caractère null comme séparateur"
#: src/xz/message.c:1129
msgid ""
"\n"
" Basic file format and compression options:\n"
msgstr ""
"\n"
" Options basiques de format de fichier et de compression :\n"
#: src/xz/message.c:1131
msgid ""
" -F, --format=FMT file format to encode or decode; possible values are\n"
" `auto' (default), `xz', `lzma', and `raw'\n"
" -C, --check=CHECK integrity check type: `none' (use with caution),\n"
" `crc32', `crc64' (default), or `sha256'"
msgstr ""
" -F, --format=FMT format de fichier à encoder ou décoder ; les possibilités\n"
" sont : `auto' (par défaut), `xz', `lzma' et `raw'\n"
" -C, --check=CHECK type de vérification d'intégrité : `none' (à utiliser avec\n"
" précaution), `crc32', `crc64' (par défaut) ou `sha256'"
#: src/xz/message.c:1138
msgid ""
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
" decompressor memory usage into account before using 7-9!"
msgstr ""
" -0 ... -9 préréglage de compression ; 6 par défaut ; pensez à\n"
" l'utilisation mémoire du compresseur *et* du décompresseur\n"
" avant d'utiliser 7, 8 ou 9 !"
#: src/xz/message.c:1142
msgid ""
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
" does not affect decompressor memory requirements"
msgstr ""
" -e, --extreme essayer d'améliorer la compression en utilisant davantage\n"
" de temps processeur sans affecter les besoins mémoire du\n"
" décompresseur"
#: src/xz/message.c:1147
msgid ""
" --block-size=SIZE\n"
" when compressing to the .xz format, start a new block\n"
" after every SIZE bytes of input; 0=disabled (default)"
msgstr ""
" --block-size=SIZE\n"
" pour une compression au format .xz, entamer un nouveau\n"
" bloc après SIZE octets d'entrée ; 0=désactivé (par défaut)"
#: src/xz/message.c:1151
#, no-c-format
msgid ""
" --memlimit-compress=LIMIT\n"
" --memlimit-decompress=LIMIT\n"
" -M, --memlimit=LIMIT\n"
" set memory usage limit for compression, decompression,\n"
" or both; LIMIT is in bytes, % of RAM, or 0 for defaults"
msgstr ""
" --memlimit-compress=LIMIT\n"
" --memlimit-decompress=LIMIT\n"
" -M, --memlimit=LIMIT\n"
" règle la limite d'utilisation mémoire pour la compression,\n"
" décompression ou les deux ; LIMIT est en octets, % de\n"
" RAM, ou 0 pour les valeurs par défaut"
#: src/xz/message.c:1158
msgid ""
" --no-adjust if compression settings exceed the memory usage limit,\n"
" give an error instead of adjusting the settings downwards"
msgstr ""
" --no-adjust si les réglages de compression dépassent la limite\n"
" d'utilisation mémoire, renvoyer une erreur plutôt que de\n"
" diminuer les réglages"
#: src/xz/message.c:1164
msgid ""
"\n"
" Custom filter chain for compression (alternative for using presets):"
msgstr ""
"\n"
" Enchaînement de filtres de compression personnalisé (au lieu des préréglages) :"
#: src/xz/message.c:1173
msgid ""
"\n"
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
" --lzma2[=OPTS] more of the following options (valid values; default):\n"
" preset=PRE reset options to a preset (0-9[e])\n"
" dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n"
" lc=NUM number of literal context bits (0-4; 3)\n"
" lp=NUM number of literal position bits (0-4; 0)\n"
" pb=NUM number of position bits (0-4; 2)\n"
" mode=MODE compression mode (fast, normal; normal)\n"
" nice=NUM nice length of a match (2-273; 64)\n"
" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n"
" depth=NUM maximum search depth; 0=automatic (default)"
msgstr ""
"\n"
" --lzma1[=OPTS] LZMA1 ou LZMA2 ; OPTS est une liste de zéro ou plusieurs\n"
" --lzma2[=OPTS] options parmi les suivantes (vals. valides ; par défaut) :\n"
" preset=PRE remettre les options à un préréglage (0-9[e])\n"
" dict=NUM taille dictionnaire (4KiB - 1536MiB ; 8MiB)\n"
" lc=NUM nombre de 'literal context bits' (0-4 ; 3)\n"
" lp=NUM nombre de 'literal position bits' (0-4 ; 0)\n"
" pb=NUM nombre de 'position bits' (0-4 ; 2)\n"
" mode=MODE mode de compression (fast, normal ; normal)\n"
" nice=NUM nice length of a match (2-273; 64)\n"
" mf=NAME 'match finder' (hc3, hc4, bt2, bt3, bt4; bt4)\n"
" depth=NUM profondeur de recherche maximale ;\n"
" 0=automatique (par défaut)"
#: src/xz/message.c:1188
msgid ""
"\n"
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
" --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n"
" --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n"
" --arm[=OPTS] ARM BCJ filter (little endian only)\n"
" --armthumb[=OPTS] ARM-Thumb BCJ filter (little endian only)\n"
" --sparc[=OPTS] SPARC BCJ filter\n"
" Valid OPTS for all BCJ filters:\n"
" start=NUM start offset for conversions (default=0)"
msgstr ""
"\n"
" --x86[=OPTS] filtre BCJ x86 (32-bit et 64-bit)\n"
" --powerpc[=OPTS] filtre BCJ PowerPC ('big endian' uniquement)\n"
" --ia64[=OPTS] filtre BCJ IA-64 (Itanium)\n"
" --arm[=OPTS] filtre BCJ ARM ('little endian' uniquement)\n"
" --armthumb[=OPTS] filtre BCJ ARM-Thumb ('little endian' uniquement)\n"
" --sparc[=OPTS] filtre BCJ SPARC\n"
" OPTS valides pour tous les filtres BCJ :\n"
" start=NUM start offset for conversions (default=0)"
#: src/xz/message.c:1200
msgid ""
"\n"
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
" dist=NUM distance between bytes being subtracted\n"
" from each other (1-256; 1)"
msgstr ""
"\n"
" --delta[=OPTS] Filtre delta ; OPTS valides (vals. valides ; par défaut) :\n"
" dist=NUM distance entre les octets soustraits\n"
" les uns aux autres (1-256 ; 1)"
#: src/xz/message.c:1208
msgid ""
"\n"
" Other options:\n"
msgstr ""
"\n"
" Autres options :\n"
#: src/xz/message.c:1211
msgid ""
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
" -v, --verbose be verbose; specify twice for even more verbose"
msgstr ""
" -q, --quiet supprimer les avertissemnts ; spécifier deux fois pour\n"
" aussi supprimer les erreur\n"
" -v, --verbose être bavard ; spécifier deux fois pour l'être davantage"
#: src/xz/message.c:1216
msgid " -Q, --no-warn make warnings not affect the exit status"
msgstr " -Q, --no-warn les avertissements ne modifient pas le code de sortie"
#: src/xz/message.c:1218
msgid " --robot use machine-parsable messages (useful for scripts)"
msgstr ""
" --robot utiliser des messages lisibles par un programme\n"
" (utile pour les scripts)"
#: src/xz/message.c:1221
msgid ""
" --info-memory display the total amount of RAM and the currently active\n"
" memory usage limits, and exit"
msgstr ""
" --info-memory affiche la quantité totale de RAM et la limite actuelle\n"
" en mémoire puis quitte"
#: src/xz/message.c:1224
msgid ""
" -h, --help display the short help (lists only the basic options)\n"
" -H, --long-help display this long help and exit"
msgstr ""
" -h, --help affiche l'aide courte (ne liste que les options de base)\n"
" -H, --long-help affiche l'aide longue (ceci) puis quitte"
#: src/xz/message.c:1228
msgid ""
" -h, --help display this short help and exit\n"
" -H, --long-help display the long help (lists also the advanced options)"
msgstr ""
" -h, --help affiche l'aide courte (ceci) puis quitte\n"
" -H, --long-help affiche l'aide longue (liste aussi les options avancées)"
#: src/xz/message.c:1233
msgid " -V, --version display the version number and exit"
msgstr " -V, --version affiche le numéro de version puis quitte"
#: src/xz/message.c:1235
msgid ""
"\n"
"With no FILE, or when FILE is -, read standard input.\n"
msgstr ""
"\n"
"Sans FILE ou quand FILE est -, lire l'entrée standard.\n"
#. TRANSLATORS: This message indicates the bug reporting address
#. for this package. Please add _another line_ saying
#. "Report translation bugs to <...>\n" with the email or WWW
#. address for translation bugs. Thanks.
#: src/xz/message.c:1241
#, c-format
msgid "Report bugs to <%s> (in English or Finnish).\n"
msgstr ""
"Signaler les bogues à <%s> (en anglais ou en finlandais).\n"
"Signaler les bogues de traduction à <camaradetux@gmail.com>.\n"
#: src/xz/message.c:1243
#, c-format
msgid "%s home page: <%s>\n"
msgstr "%s page du projet : <%s>\n"
#: src/xz/options.c:86
#, c-format
msgid "%s: Options must be `name=value' pairs separated with commas"
msgstr "%s: Les options doivent être des paires `nom=valeur' séparées par des virgules"
#: src/xz/options.c:93
#, c-format
msgid "%s: Invalid option name"
msgstr "%s : Nom d'option invalide"
#: src/xz/options.c:113
#, c-format
msgid "%s: Invalid option value"
msgstr "%s : Valeur d'option invalide"
#: src/xz/options.c:247
#, c-format
msgid "Unsupported LZMA1/LZMA2 preset: %s"
msgstr "Préréglage LZMA1/LZMA2 non pris en charge : %s"
#: src/xz/options.c:355
msgid "The sum of lc and lp must not exceed 4"
msgstr "La somme de lc et lp ne doit pas dépasser 4"
#: src/xz/options.c:359
#, c-format
msgid "The selected match finder requires at least nice=%<PRIu32>"
msgstr "Le `match finder' choisi nécessite au moins nice=%<PRIu32>"
#: src/xz/suffix.c:133 src/xz/suffix.c:258
#, c-format
msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
msgstr "%s : Avec --format=raw, --suffix=.SUF est nécessaire sauf lors de l'écriture vers stdout"
#: src/xz/suffix.c:164
#, c-format
msgid "%s: Filename has an unknown suffix, skipping"
msgstr "%s : Le fichier a un suffixe inconnu, ignoré"
#: src/xz/suffix.c:185
#, c-format
msgid "%s: File already has `%s' suffix, skipping"
msgstr "%s : Le fichier a déjà le suffixe '%s', ignoré"
#: src/xz/suffix.c:393
#, c-format
msgid "%s: Invalid filename suffix"
msgstr "%s: Suffixe de nom de fichier invalide"
#: src/xz/util.c:61
#, c-format
msgid "%s: Value is not a non-negative decimal integer"
msgstr "%s : La valeur n'est pas un entier décimal non négatif"
#: src/xz/util.c:103
#, c-format
msgid "%s: Invalid multiplier suffix"
msgstr "%s : Suffixe multiplicateur invalide"
#: src/xz/util.c:105
msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)."
msgstr "Les suffixes valides sont 'KiB' (2^10), 'MiB' (2^20) et 'GiB' (2^30)."
#: src/xz/util.c:122
#, c-format
msgid "Value of the option `%s' must be in the range [%<PRIu64>, %<PRIu64>]"
msgstr "La valeur de l'option '%s' doit être inclue entre %<PRIu64> et %<PRIu64>"
#: src/xz/util.c:247
msgid "Empty filename, skipping"
msgstr "Nom de fichier vide, ignoré"
#: src/xz/util.c:261
msgid "Compressed data cannot be read from a terminal"
msgstr "Les données compressées ne peuvent pas être lues depuis un terminal"
#: src/xz/util.c:274
msgid "Compressed data cannot be written to a terminal"
msgstr "Les données compressées ne peuvent pas être écrites dans un terminal"
#: src/common/tuklib_exit.c:39
msgid "Writing to standard output failed"
msgstr "Impossible d'écrire vers la sortie standard"
#: src/common/tuklib_exit.c:42
msgid "Unknown error"
msgstr "Erreur inconnue"

825
po/pl.po Normal file
View File

@ -0,0 +1,825 @@
# Polish translation for xz.
# This file is in the public domain.
# Jakub Bogusz <qboosh@pld-linux.org>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: xz 5.0.1\n"
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
"POT-Creation-Date: 2011-01-28 20:01+0200\n"
"PO-Revision-Date: 2011-02-02 16:51+0100\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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:333
#, c-format
msgid "%s: Unknown file format type"
msgstr "%s: Nieznany typ formatu pliku"
#: src/xz/args.c:356 src/xz/args.c:364
#, c-format
msgid "%s: Unsupported integrity check type"
msgstr "%s: Nieobsługiwany typ kontroli spójności"
#: src/xz/args.c:382
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:445
#, c-format
msgid "The environment variable %s contains too many arguments"
msgstr "Zmienna środowiskowa %s zawiera zbyt dużo argumentów"
#: src/xz/coder.c:95
msgid "Maximum number of filters is four"
msgstr "Maksymalna liczba filtrów to cztery"
#: src/xz/coder.c:108
msgid "Memory usage limit is too low for the given filter setup."
msgstr "Limit użycia pamięci jest zbyt mały dla podanej konfiguracji filtra."
#: src/xz/coder.c:129
msgid "Using a preset in raw mode is discouraged."
msgstr "Użycie ustawień predefiniowanych w trybie surowym jest odradzane."
#: src/xz/coder.c:131
msgid "The exact options of the presets may vary between software versions."
msgstr "Dokładne opcje ustawień predefiniowanych mogą różnić się między wersjami oprogramowania."
#: src/xz/coder.c:157
msgid "The .lzma format supports only the LZMA1 filter"
msgstr "Format .lzma obsługuje tylko filtr LZMA1"
#: src/xz/coder.c:165
msgid "LZMA1 cannot be used with the .xz format"
msgstr "LZMA1 nie może być używany z formatem .xz"
#: src/xz/coder.c:182
msgid "Unsupported filter chain or filter options"
msgstr "Nieobsługiwany łańcuch filtrów lub opcje filtra"
#: src/xz/coder.c:190
#, c-format
msgid "Decompression will need %s MiB of memory."
msgstr "Dekompresja będzie wymagała %s MiB pamięci."
#: src/xz/coder.c:247
#, c-format
msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB"
msgstr "Skorygowano rozmiar słownika LZMA%c z %s MiB do %s MiB aby nie przekroczyć limitu użycia pamięci %s MiB"
#. TRANSLATORS: When compression or decompression finishes,
#. and xz is going to remove the source file, xz first checks
#. if the source file still exists, and if it does, does its
#. device and inode numbers match what xz saw when it opened
#. the source file. If these checks fail, this message is
#. shown, %s being the filename, and the file is not deleted.
#. The check for device and inode numbers is there, because
#. it is possible that the user has put a new file in place
#. of the original file, and in that case it obviously
#. shouldn't be removed.
#: src/xz/file_io.c:137
#, c-format
msgid "%s: File seems to have been moved, not removing"
msgstr "%s: Plik wygląda na przeniesiony, nie zostanie usunięty"
#: src/xz/file_io.c:144 src/xz/file_io.c:589
#, c-format
msgid "%s: Cannot remove: %s"
msgstr "%s: Nie można usunąć: %s"
#: src/xz/file_io.c:169
#, 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:175
#, c-format
msgid "%s: Cannot set the file group: %s"
msgstr "%s: Nie można ustawić grupy pliku: %s"
#: src/xz/file_io.c:194
#, c-format
msgid "%s: Cannot set the file permissions: %s"
msgstr "%s: Nie można ustawić uprawnień pliku: %s"
#: src/xz/file_io.c:337 src/xz/file_io.c:420
#, c-format
msgid "%s: Is a symbolic link, skipping"
msgstr "%s: Jest dowiązaniem symbolicznym, pominięto"
#: src/xz/file_io.c:455
#, c-format
msgid "%s: Is a directory, skipping"
msgstr "%s: Jest katalogiem, pominięto"
#: src/xz/file_io.c:461
#, c-format
msgid "%s: Not a regular file, skipping"
msgstr "%s: Nie jest zwykłym plikiem, pominięto"
#: src/xz/file_io.c:478
#, 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:485
#, c-format
msgid "%s: File has sticky bit set, skipping"
msgstr "%s: Plik ma ustawiony bit sticky, pominięto"
#: src/xz/file_io.c:492
#, 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:713
#, 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:725
#, c-format
msgid "%s: Closing the file failed: %s"
msgstr "%s: Zamknięcie pliku nie powiodło się: %s"
#: src/xz/file_io.c:761 src/xz/file_io.c:945
#, c-format
msgid "%s: Seeking failed when trying to create a sparse file: %s"
msgstr "%s: Zmiana pozycji nie powiodła się podczas próby utworzenia pliku rzadkiego: %s"
#: src/xz/file_io.c:820
#, c-format
msgid "%s: Read error: %s"
msgstr "%s: Błąd odczytu: %s"
#: src/xz/file_io.c:843
#, c-format
msgid "%s: Error seeking the file: %s"
msgstr "%s: Błąd podczas zmiany pozycji w pliku: %s"
#: src/xz/file_io.c:853
#, c-format
msgid "%s: Unexpected end of file"
msgstr "%s: Nieoczekiwany koniec pliku"
#: src/xz/file_io.c:903
#, c-format
msgid "%s: Write error: %s"
msgstr "%s: Błąd zapisu: %s"
#: src/xz/hardware.c:100
msgid "Disabled"
msgstr "Wyłączony"
#. TRANSLATORS: Test with "xz --info-memory" to see if
#. the alignment looks nice.
#: src/xz/hardware.c:119
msgid "Total amount of physical memory (RAM): "
msgstr "Całkowita ilość pamięci fizycznej (RAM): "
#: src/xz/hardware.c:121
msgid "Memory usage limit for compression: "
msgstr "Limit użycia pamięci dla kompresji: "
#: src/xz/hardware.c:123
msgid "Memory usage limit for decompression: "
msgstr "Limit użycia pamięci dla dekompresji: "
#. TRANSLATORS: Indicates that there is no integrity check.
#. This string is used in tables, so the width must not
#. exceed ten columns with a fixed-width font.
#: src/xz/list.c:62
msgid "None"
msgstr "Brak"
#. TRANSLATORS: Indicates that integrity check name is not known,
#. but the Check ID is known (here 2). This and other "Unknown-N"
#. strings are used in tables, so the width must not exceed ten
#. columns with a fixed-width font. It's OK to omit the dash if
#. you need space for one extra letter, but don't use spaces.
#: src/xz/list.c:69
msgid "Unknown-2"
msgstr "Nieznany-2"
#: src/xz/list.c:70
msgid "Unknown-3"
msgstr "Nieznany-3"
#: src/xz/list.c:72
msgid "Unknown-5"
msgstr "Nieznany-5"
#: src/xz/list.c:73
msgid "Unknown-6"
msgstr "Nieznany-6"
#: src/xz/list.c:74
msgid "Unknown-7"
msgstr "Nieznany-7"
#: src/xz/list.c:75
msgid "Unknown-8"
msgstr "Nieznany-8"
#: src/xz/list.c:76
msgid "Unknown-9"
msgstr "Nieznany-9"
#: src/xz/list.c:78
msgid "Unknown-11"
msgstr "Nieznany11"
#: src/xz/list.c:79
msgid "Unknown-12"
msgstr "Nieznany12"
#: src/xz/list.c:80
msgid "Unknown-13"
msgstr "Nieznany13"
#: src/xz/list.c:81
msgid "Unknown-14"
msgstr "Nieznany14"
#: src/xz/list.c:82
msgid "Unknown-15"
msgstr "Nieznany15"
#: src/xz/list.c:126
#, c-format
msgid "%s: File is empty"
msgstr "%s: Plik jest pusty"
#: src/xz/list.c:131
#, c-format
msgid "%s: Too small to be a valid .xz file"
msgstr "%s: Za mały na poprawny plik .xz"
#. TRANSLATORS: These are column headings. From Strms (Streams)
#. to Ratio, the columns are right aligned. Check and Filename
#. are left aligned. If you need longer words, it's OK to
#. use two lines here. Test with "xz -l foo.xz".
#: src/xz/list.c:612
msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename"
msgstr "Strum. Bloki Spakowany Rozpakowany Wsp. Kontrola Nazwa pliku"
#: src/xz/list.c:652
#, c-format
msgid " Streams: %s\n"
msgstr " Strumienie: %s\n"
#: src/xz/list.c:654
#, c-format
msgid " Blocks: %s\n"
msgstr " Bloki: %s\n"
#: src/xz/list.c:656
#, c-format
msgid " Compressed size: %s\n"
msgstr " Rozmiar spakowany: %s\n"
#: src/xz/list.c:659
#, c-format
msgid " Uncompressed size: %s\n"
msgstr " Rozmiar rozpakowany: %s\n"
#: src/xz/list.c:662
#, c-format
msgid " Ratio: %s\n"
msgstr " Współczynnik: %s\n"
#: src/xz/list.c:664
#, c-format
msgid " Check: %s\n"
msgstr " Kontrola spójności: %s\n"
#: src/xz/list.c:665
#, c-format
msgid " Stream padding: %s\n"
msgstr " Wyrównanie strumienia: %s\n"
#. TRANSLATORS: The second line is column headings. All except
#. Check are right aligned; Check is left aligned. Test with
#. "xz -lv foo.xz".
#: src/xz/list.c:693
msgid ""
" Streams:\n"
" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding"
msgstr ""
" Strumienie:\n"
" Strumień Bloki Offset spak. Offset rozp. Rozm.spak. Rozm.rozp. Wsp. Kontrola Wyrównanie"
#. TRANSLATORS: The second line is column headings. All
#. except Check are right aligned; Check is left aligned.
#: src/xz/list.c:748
#, c-format
msgid ""
" Blocks:\n"
" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check"
msgstr ""
" Bloki:\n"
" Strumień Blok Offset spak. Offset rozp. Rozm.całkowity Rozm.rozp. Wsp. Kontrola"
#. TRANSLATORS: These are additional column headings
#. for the most verbose listing mode. CheckVal
#. (Check value), Flags, and Filters are left aligned.
#. Header (Block Header Size), CompSize, and MemUsage
#. are right aligned. %*s is replaced with 0-120
#. spaces to make the CheckVal column wide enough.
#. Test with "xz -lvv foo.xz".
#: src/xz/list.c:760
#, c-format
msgid " CheckVal %*s Header Flags CompSize MemUsage Filters"
msgstr " S.kontr. %*sNagłówek Flagi Rozm. spak. Uż.pamięci Filtry"
#: src/xz/list.c:838 src/xz/list.c:1007
#, c-format
msgid " Memory needed: %s MiB\n"
msgstr " Wymagana pamięć: %s MiB\n"
#: src/xz/list.c:840 src/xz/list.c:1009
#, c-format
msgid " Sizes in headers: %s\n"
msgstr " Rozmiar w nagłówkach: %s\n"
#: src/xz/list.c:841 src/xz/list.c:1010
msgid "Yes"
msgstr "Tak"
#: src/xz/list.c:841 src/xz/list.c:1010
msgid "No"
msgstr "Nie"
#. TRANSLATORS: %s is an integer. Only the plural form of this
#. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz".
#: src/xz/list.c:986
#, c-format
msgid "%s file\n"
msgid_plural "%s files\n"
msgstr[0] "%s plik\n"
msgstr[1] "%s pliki\n"
msgstr[2] "%s plików\n"
#: src/xz/list.c:999
msgid "Totals:"
msgstr "Sumarycznie:"
#: src/xz/list.c:1000
#, c-format
msgid " Number of files: %s\n"
msgstr " Liczba plików: %s\n"
#: src/xz/list.c:1072
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:1078
msgid "--list does not support reading from standard input"
msgstr "--list nie obsługuje odczytu ze standardowego wejścia"
#: src/xz/main.c:89
#, c-format
msgid "%s: Error reading filenames: %s"
msgstr "%s: Błąd odczytu nazw plików: %s"
#: src/xz/main.c:96
#, c-format
msgid "%s: Unexpected end of input when reading filenames"
msgstr "%s: Nieoczekiwany koniec wejścia podczas odczytu nazw plików"
#: src/xz/main.c:120
#, c-format
msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?"
msgstr "%s: Napotkano znak NUL podczas odczytu nazw plików; może miało być `--files0' zamiast `--files'?"
#: src/xz/main.c:174
msgid "Compression and decompression with --robot are not supported yet."
msgstr "Kompresja i dekompresja z opcją --robot nie jest jeszcze obsługiwana."
#: src/xz/main.c:231
msgid "Cannot read data from standard input when reading filenames from standard input"
msgstr "Nie można odczytać danych ze standardowego wejścia przy czytaniu nazw plików ze standardowego wejścia"
#: src/xz/message.c:792 src/xz/message.c:842
msgid "Internal error (bug)"
msgstr "Błąd wewnętrzny"
#: src/xz/message.c:799
msgid "Cannot establish signal handlers"
msgstr "Nie można ustawić obsługi sygnałów"
#: src/xz/message.c:808
msgid "No integrity check; not verifying file integrity"
msgstr "Brak kontroli spójności; poprawność plików nie będzie weryfikowana"
#: src/xz/message.c:811
msgid "Unsupported type of integrity check; not verifying file integrity"
msgstr "Nieobsługiwany typ kontroli spójności; poprawność plików nie będzie weryfikowana"
#: src/xz/message.c:818
msgid "Memory usage limit reached"
msgstr "Osiągnięto limit użycia pamięci"
#: src/xz/message.c:821
msgid "File format not recognized"
msgstr "Nie rozpoznany format pliku"
#: src/xz/message.c:824
msgid "Unsupported options"
msgstr "Nieobsługiwane opcje"
#: src/xz/message.c:827
msgid "Compressed data is corrupt"
msgstr "Dane skompresowane są uszkodzone"
#: src/xz/message.c:830
msgid "Unexpected end of input"
msgstr "Nieoczekiwany koniec wejścia"
#: src/xz/message.c:881
#, c-format
msgid "%s MiB of memory is required. The limit is %s."
msgstr "Wymagane jest %s MiB pamięci. Limit to %s."
#: src/xz/message.c:1048
#, c-format
msgid "%s: Filter chain: %s\n"
msgstr "%s: Łańcuch filtrów: %s\n"
#: src/xz/message.c:1058
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Polecenie `%s --help' pokaże więcej informacji."
#: src/xz/message.c:1084
#, c-format
msgid ""
"Usage: %s [OPTION]... [FILE]...\n"
"Compress or decompress FILEs in the .xz format.\n"
"\n"
msgstr ""
"Składnia: %s [OPCJA]... [PLIK]...\n"
"Kompresja lub dekompresja PLIKÓW w formacie .xz.\n"
"\n"
#: src/xz/message.c:1091
msgid "Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Argumenty obowiązkowe dla opcji długich są obowiązkowe również dla opcji\n"
"krótkich.\n"
#: src/xz/message.c:1095
msgid " Operation mode:\n"
msgstr " Tryb pracy:\n"
#: src/xz/message.c:1098
msgid ""
" -z, --compress force compression\n"
" -d, --decompress force decompression\n"
" -t, --test test compressed file integrity\n"
" -l, --list list information about .xz files"
msgstr ""
" -z, --compress wymuszenie kompresji\n"
" -d, --decompress wymuszenie dekompresji\n"
" -t, --test sprawdzenie spójności plików skompresowanych\n"
" -l, --list wypisanie informacji o plikach .xz"
#: src/xz/message.c:1104
msgid ""
"\n"
" Operation modifiers:\n"
msgstr ""
"\n"
" Modyfikatory operacji:\n"
#: src/xz/message.c:1107
msgid ""
" -k, --keep keep (don't delete) input files\n"
" -f, --force force overwrite of output file and (de)compress links\n"
" -c, --stdout write to standard output and don't delete input files"
msgstr ""
" -k, --keep zachowanie (nieusuwanie) plików wejściowych\n"
" -f, --force nadpisywanie plików wyjściowych i (de)kompresja dowiązań\n"
" -c, --stdout zapis na standardowe wyjście, nieusuwanie plików wej."
#: src/xz/message.c:1113
msgid ""
" --no-sparse do not create sparse files when decompressing\n"
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
" --files[=FILE] read filenames to process from FILE; if FILE is\n"
" omitted, filenames are read from the standard input;\n"
" filenames must be terminated with the newline character\n"
" --files0[=FILE] like --files but use the null character as terminator"
msgstr ""
" --no-sparse nietworzenie plików rzadkich podczas dekompresji\n"
" -S, --suffix=.ROZ użycie rozszerzenia `.ROZ' dla plików skompresowanych\n"
" --files[=PLIK] odczyt nazw plików do przetworzenia z PLIKU; jeśli PLIK\n"
" nie został podany, nazwy są czytane ze standardowego\n"
" wejścia; muszą być zakończone znakiem nowej linii\n"
" --files0[=PLIK] podobnie do --files, ale znakiem kończącym musi być NUL"
#: src/xz/message.c:1121
msgid ""
"\n"
" Basic file format and compression options:\n"
msgstr ""
"\n"
" Podstawowe opcje formatu pliku i kompresji:\n"
#: src/xz/message.c:1123
msgid ""
" -F, --format=FMT file format to encode or decode; possible values are\n"
" `auto' (default), `xz', `lzma', and `raw'\n"
" -C, --check=CHECK integrity check type: `none' (use with caution),\n"
" `crc32', `crc64' (default), or `sha256'"
msgstr ""
" -F, --format=FORM format pliki do kodowania lub dekodowania; możliwe to\n"
" `auto' (domyślny), `xz', 'lzma' i `raw'\n"
" -C, --check=TEST typ kontroli spójności: `none' (ostrożnie!),\n"
" `crc32', `crc64' (domyślny) lub `sha256'"
#: src/xz/message.c:1130
msgid ""
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
" decompressor memory usage into account before using 7-9!"
msgstr ""
" -0 ... -9 predefiniowane opcje kompresji; domyślna to 6; przed\n"
" użyciem wartości 7-9 należy wziąć pod uwagę wykorzystanie\n"
" pamięci przy kompresji *oraz* dekompresji!"
#: src/xz/message.c:1134
msgid ""
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
" does not affect decompressor memory requirements"
msgstr ""
" -e, --extreme próba poprawy współczynnika kompresji z użyciem większej\n"
" ilości czasu procesora; nie wpływa na wymagania\n"
" pamięciowe dekompresora"
#: src/xz/message.c:1139
#, no-c-format
msgid ""
" --memlimit-compress=LIMIT\n"
" --memlimit-decompress=LIMIT\n"
" -M, --memlimit=LIMIT\n"
" set memory usage limit for compression, decompression,\n"
" or both; LIMIT is in bytes, % of RAM, or 0 for defaults"
msgstr ""
" --memlimit-compress=LIMIT\n"
" --memlimit-decompress=LIMIT\n"
" -M, --memlimit=LIMIT\n"
" ustawienie limitu użycia pamięci dla kompresji,\n"
" dekompresji lub obu; LIMIT jest w bajtach, % RAM lub 0\n"
" dla limitów domyślnych"
#: src/xz/message.c:1146
msgid ""
" --no-adjust if compression settings exceed the memory usage limit,\n"
" give an error instead of adjusting the settings downwards"
msgstr ""
" --no-adjust jeśli ustawienia kompresji przekraczają limit użycia\n"
" pamięci, zostanie zgłoszony błąd zamiast zmniejszania\n"
" ustawień"
#: src/xz/message.c:1152
msgid ""
"\n"
" Custom filter chain for compression (alternative for using presets):"
msgstr ""
"\n"
" Łańcuch własnych filtrów do kompresji (alternatywa do używania -0 .. -9):"
#: src/xz/message.c:1161
msgid ""
"\n"
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
" --lzma2[=OPTS] more of the following options (valid values; default):\n"
" preset=PRE reset options to a preset (0-9[e])\n"
" dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n"
" lc=NUM number of literal context bits (0-4; 3)\n"
" lp=NUM number of literal position bits (0-4; 0)\n"
" pb=NUM number of position bits (0-4; 2)\n"
" mode=MODE compression mode (fast, normal; normal)\n"
" nice=NUM nice length of a match (2-273; 64)\n"
" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n"
" depth=NUM maximum search depth; 0=automatic (default)"
msgstr ""
"\n"
" --lzma1[=OPCJE] LZMA1 lub LZMA2; OPCJE to oddzielona przecinkami lista\n"
" --lzma2[=OPCJE] zera lub więcej następujących opcji (w nawiasach wartości\n"
" poprawne; domyślne):\n"
" preset=PRE ustawienie opcji na predefiniowane (0-9[e])\n"
" dict=ILE rozmiar słownika (4KiB - 1536MiB; 8MiB)\n"
" lc=ILE liczba bitów kontekstu literału (0-4; 3)\n"
" lp=ILE liczba bitów pozycji literału (0-4; 0)\n"
" pp=ILE liczba bitów pozycji (0-4; 2)\n"
" mode=TRYB tryb kompresji (fast, normal; normal)\n"
" nice=ILE długość dopasowania (2-273; 64)\n"
" mf=NAZWA dopasowywacz (hc3, hc4, bt2, bt3, bt4; bt4)\n"
" depth=ILE maks. głębokość szukania; 0=auto (domyślne)"
#: src/xz/message.c:1176
msgid ""
"\n"
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
" --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n"
" --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n"
" --arm[=OPTS] ARM BCJ filter (little endian only)\n"
" --armthumb[=OPTS] ARM-Thumb BCJ filter (little endian only)\n"
" --sparc[=OPTS] SPARC BCJ filter\n"
" Valid OPTS for all BCJ filters:\n"
" start=NUM start offset for conversions (default=0)"
msgstr ""
"\n"
" --x86[=OPCJE] Filtr BCJ x86 (32-bitowy lub 64-bitowy)\n"
" --powerpc[=OPCJE] Filtr BCJ PowerPC (tylko big-endian)\n"
" --ia64[=OPCJE] Filtr BCJ IA-64 (Itanium)\n"
" --arm[=OPCJE] Filtr BCJ ARM (tylko little-endian)\n"
" --armthumb[=OPCJE] Filtr BCJ ARM-Thumb (tylko little-endian)\n"
" --sparc[=OPCJE] Filtr BCJ SPARC\n"
" Poprawne OPCJE dla wszystkich filtrów BCJ:\n"
" start=ILE offset początku konwersji (domyślnie=0)"
#: src/xz/message.c:1188
msgid ""
"\n"
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
" dist=NUM distance between bytes being subtracted\n"
" from each other (1-256; 1)"
msgstr ""
"\n"
" --delta[=OPCJE] Filtr delta; poprawne OPCJE (poprawne wart.; domyślne):\n"
" dist=ILE odległość między bajtami odejmowanymi od\n"
" siebie (1-256; 1)"
#: src/xz/message.c:1196
msgid ""
"\n"
" Other options:\n"
msgstr ""
"\n"
" Inne opcje:\n"
#: src/xz/message.c:1199
msgid ""
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
" -v, --verbose be verbose; specify twice for even more verbose"
msgstr ""
" -q, --quiet pominięcie ostrzeżeń; dwukrotne podanie pomija też błędy\n"
" -v, --verbose więcej informacji; dwukrotne podanie to jeszcze więcej"
#: src/xz/message.c:1204
msgid " -Q, --no-warn make warnings not affect the exit status"
msgstr " -Q, --no-warn ostrzeżenia nie mają wpływu na status zakończenia"
#: src/xz/message.c:1206
msgid " --robot use machine-parsable messages (useful for scripts)"
msgstr " --robot komunikaty w formacie dla maszyny (do skryptów)"
#: src/xz/message.c:1209
msgid ""
" --info-memory display the total amount of RAM and the currently active\n"
" memory usage limits, and exit"
msgstr ""
" --info-memory wyświetlenie całkowitej ilości pamięci RAM oraz aktualnie\n"
" aktywnych limitów pamięci i zakończenie pracy"
#: src/xz/message.c:1212
msgid ""
" -h, --help display the short help (lists only the basic options)\n"
" -H, --long-help display this long help and exit"
msgstr ""
" -h, --help wyświetlenie krótkiego opisu (tylko podstawowe opcje)\n"
" -H, --long-help wyświetlenie tego długiego opisu i zakończenie"
#: src/xz/message.c:1216
msgid ""
" -h, --help display this short help and exit\n"
" -H, --long-help display the long help (lists also the advanced options)"
msgstr ""
" -h, --help wyświetlenie tego krótkiego opisu i zakończenie\n"
" -H, --long-help wyświetlenie długiego opisu (także opcje zaawansowane)"
#: src/xz/message.c:1221
msgid " -V, --version display the version number and exit"
msgstr " -V, --version wyświetlenie informacji o wersji i zakończenie"
#: src/xz/message.c:1223
msgid ""
"\n"
"With no FILE, or when FILE is -, read standard input.\n"
msgstr ""
"\n"
"Jeśli nie podano PLIKU lub PLIK to -, czytane jest standardowe wejście.\n"
#. TRANSLATORS: This message indicates the bug reporting address
#. for this package. Please add _another line_ saying
#. "Report translation bugs to <...>\n" with the email or WWW
#. address for translation bugs. Thanks.
#: src/xz/message.c:1229
#, c-format
msgid "Report bugs to <%s> (in English or Finnish).\n"
msgstr ""
"Błędy prosimy zgłaszać na adres <%s>\n"
"(w języku angielskim lub fińskim).\n"
"Błędy w tłumaczeniu prosimy zgłaszać na adres\n"
"<translation-team-pl@lists.sourceforge.net>.\n"
#: src/xz/message.c:1231
#, c-format
msgid "%s home page: <%s>\n"
msgstr "Strona domowa %s: <%s>\n"
#: src/xz/options.c:86
#, c-format
msgid "%s: Options must be `name=value' pairs separated with commas"
msgstr "%s: Opcje muszą być parami `nazwa=wartość' rozdzielonymi przecinkami"
#: src/xz/options.c:93
#, c-format
msgid "%s: Invalid option name"
msgstr "%s: Błędna nazwa opcji"
#: src/xz/options.c:113
#, c-format
msgid "%s: Invalid option value"
msgstr "%s: Błędna wartość opcji"
#: 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: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:359
#, c-format
msgid "The selected match finder requires at least nice=%<PRIu32>"
msgstr "Wybrany dopasowywacz wymaga przynajmniej nice=%<PRIu32>"
#: src/xz/suffix.c:104 src/xz/suffix.c:189
#, 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:124
#, c-format
msgid "%s: Filename has an unknown suffix, skipping"
msgstr "%s: Nazwa pliku ma nieznane rozszerzenie, pominięto"
#: src/xz/suffix.c:179
#, c-format
msgid "%s: File already has `%s' suffix, skipping"
msgstr "%s: Plik już ma rozszerzenie `%s', pominięto"
#: src/xz/suffix.c:230
#, c-format
msgid "%s: Invalid filename suffix"
msgstr "%s: Błędne rozszerzenie nazwy pliku"
#: src/xz/util.c:61
#, c-format
msgid "%s: Value is not a non-negative decimal integer"
msgstr "%s: Wartość nie jest nieujemną liczbą całkowitą"
#: src/xz/util.c:103
#, c-format
msgid "%s: Invalid multiplier suffix"
msgstr "%s: Błędny przyrostek mnożnika"
#: src/xz/util.c:105
msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)."
msgstr "Poprawne przyrostki to `KiB' (2^10), `MiB' (2^20) i `GiB' (2^30)."
#: src/xz/util.c:122
#, c-format
msgid "Value of the option `%s' must be in the range [%<PRIu64>, %<PRIu64>]"
msgstr "Wartość opcji `%s' musi być w przedziale [%<PRIu64>, %<PRIu64>]"
#: src/xz/util.c:247
msgid "Empty filename, skipping"
msgstr "Pusta nazwa pliku, pominięto"
#: src/xz/util.c:261
msgid "Compressed data cannot be read from a terminal"
msgstr "Dane skompresowane nie mogą być czytane z terminala"
#: src/xz/util.c:274
msgid "Compressed data cannot be written to a terminal"
msgstr "Dane skompresowane nie mogą być zapisywane na terminal"
#: src/common/tuklib_exit.c:39
msgid "Writing to standard output failed"
msgstr "Zapis na standardowe wyjście nie powiódł się"
#: src/common/tuklib_exit.c:42
msgid "Unknown error"
msgstr "Nieznany błąd"

View File

@ -24,7 +24,7 @@ liblzma_la_CPPFLAGS = \
-I$(top_srcdir)/src/liblzma/simple \ -I$(top_srcdir)/src/liblzma/simple \
-I$(top_srcdir)/src/common \ -I$(top_srcdir)/src/common \
-DTUKLIB_SYMBOL_PREFIX=lzma_ -DTUKLIB_SYMBOL_PREFIX=lzma_
liblzma_la_LDFLAGS = -no-undefined -version-info 5:0:0 liblzma_la_LDFLAGS = -no-undefined -version-info 5:3:0
include $(srcdir)/common/Makefile.inc include $(srcdir)/common/Makefile.inc
include $(srcdir)/check/Makefile.inc include $(srcdir)/check/Makefile.inc

View File

@ -483,6 +483,7 @@ extern LZMA_API(size_t) lzma_block_buffer_bound(size_t uncompressed_size)
* *
* \return - LZMA_OK: Encoding was successful. * \return - LZMA_OK: Encoding was successful.
* - LZMA_BUF_ERROR: Not enough output buffer space. * - LZMA_BUF_ERROR: Not enough output buffer space.
* - LZMA_UNSUPPORTED_CHECK
* - LZMA_OPTIONS_ERROR * - LZMA_OPTIONS_ERROR
* - LZMA_MEM_ERROR * - LZMA_MEM_ERROR
* - LZMA_DATA_ERROR * - LZMA_DATA_ERROR

View File

@ -66,6 +66,10 @@
* This function is a wrapper for lzma_raw_encoder_memusage(). * This function is a wrapper for lzma_raw_encoder_memusage().
* *
* \param preset Compression preset (level and possible flags) * \param preset Compression preset (level and possible flags)
*
* \return Number of bytes of memory required for the given
* preset when encoding. If an error occurs, for example
* due to unsupported preset, UINT64_MAX is returned.
*/ */
extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset) extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset)
lzma_nothrow lzma_attr_pure; lzma_nothrow lzma_attr_pure;
@ -77,6 +81,11 @@ extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset)
* This function is a wrapper for lzma_raw_decoder_memusage(). * This function is a wrapper for lzma_raw_decoder_memusage().
* *
* \param preset Compression preset (level and possible flags) * \param preset Compression preset (level and possible flags)
*
* \return Number of bytes of memory required to decompress a file
* that was compressed using the given preset. If an error
* occurs, for example due to unsupported preset, UINT64_MAX
* is returned.
*/ */
extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset) extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset)
lzma_nothrow lzma_attr_pure; lzma_nothrow lzma_attr_pure;
@ -148,6 +157,7 @@ extern LZMA_API(lzma_ret) lzma_easy_encoder(
* *
* \return - LZMA_OK: Encoding was successful. * \return - LZMA_OK: Encoding was successful.
* - LZMA_BUF_ERROR: Not enough output buffer space. * - LZMA_BUF_ERROR: Not enough output buffer space.
* - LZMA_UNSUPPORTED_CHECK
* - LZMA_OPTIONS_ERROR * - LZMA_OPTIONS_ERROR
* - LZMA_MEM_ERROR * - LZMA_MEM_ERROR
* - LZMA_DATA_ERROR * - LZMA_DATA_ERROR
@ -171,6 +181,7 @@ extern LZMA_API(lzma_ret) lzma_easy_buffer_encode(
* *
* \return - LZMA_OK: Initialization was successful. * \return - LZMA_OK: Initialization was successful.
* - LZMA_MEM_ERROR * - LZMA_MEM_ERROR
* - LZMA_UNSUPPORTED_CHECK
* - LZMA_OPTIONS_ERROR * - LZMA_OPTIONS_ERROR
* - LZMA_PROG_ERROR * - LZMA_PROG_ERROR
*/ */
@ -250,6 +261,7 @@ extern LZMA_API(size_t) lzma_stream_buffer_bound(size_t uncompressed_size)
* *
* \return - LZMA_OK: Encoding was successful. * \return - LZMA_OK: Encoding was successful.
* - LZMA_BUF_ERROR: Not enough output buffer space. * - LZMA_BUF_ERROR: Not enough output buffer space.
* - LZMA_UNSUPPORTED_CHECK
* - LZMA_OPTIONS_ERROR * - LZMA_OPTIONS_ERROR
* - LZMA_MEM_ERROR * - LZMA_MEM_ERROR
* - LZMA_DATA_ERROR * - LZMA_DATA_ERROR

View File

@ -131,7 +131,9 @@ extern LZMA_API(lzma_ret) lzma_filters_copy(const lzma_filter *src,
* .id == LZMA_VLI_UNKNOWN. * .id == LZMA_VLI_UNKNOWN.
* *
* \return Number of bytes of memory required for the given * \return Number of bytes of memory required for the given
* filter chain when encoding. * filter chain when encoding. If an error occurs,
* for example due to unsupported filter chain,
* UINT64_MAX is returned.
*/ */
extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters) extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters)
lzma_nothrow lzma_attr_pure; lzma_nothrow lzma_attr_pure;
@ -148,7 +150,9 @@ extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters)
* .id == LZMA_VLI_UNKNOWN. * .id == LZMA_VLI_UNKNOWN.
* *
* \return Number of bytes of memory required for the given * \return Number of bytes of memory required for the given
* filter chain when decoding. * filter chain when decoding. If an error occurs,
* for example due to unsupported filter chain,
* UINT64_MAX is returned.
*/ */
extern LZMA_API(uint64_t) lzma_raw_decoder_memusage(const lzma_filter *filters) extern LZMA_API(uint64_t) lzma_raw_decoder_memusage(const lzma_filter *filters)
lzma_nothrow lzma_attr_pure; lzma_nothrow lzma_attr_pure;

View File

@ -22,7 +22,7 @@
*/ */
#define LZMA_VERSION_MAJOR 5 #define LZMA_VERSION_MAJOR 5
#define LZMA_VERSION_MINOR 0 #define LZMA_VERSION_MINOR 0
#define LZMA_VERSION_PATCH 0 #define LZMA_VERSION_PATCH 3
#define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE #define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE
#ifndef LZMA_VERSION_COMMIT #ifndef LZMA_VERSION_COMMIT

View File

@ -46,7 +46,7 @@ struct lzma_coder_s {
static lzma_ret static lzma_ret
alone_decode(lzma_coder *coder, alone_decode(lzma_coder *coder,
lzma_allocator *allocator lzma_attribute((unused)), lzma_allocator *allocator lzma_attribute((__unused__)),
const uint8_t *restrict in, size_t *restrict in_pos, const uint8_t *restrict in, size_t *restrict in_pos,
size_t in_size, uint8_t *restrict out, size_t in_size, uint8_t *restrict out,
size_t *restrict out_pos, size_t out_size, size_t *restrict out_pos, size_t out_size,

View File

@ -32,7 +32,7 @@ struct lzma_coder_s {
static lzma_ret static lzma_ret
alone_encode(lzma_coder *coder, alone_encode(lzma_coder *coder,
lzma_allocator *allocator lzma_attribute((unused)), lzma_allocator *allocator lzma_attribute((__unused__)),
const uint8_t *restrict in, size_t *restrict in_pos, const uint8_t *restrict in, size_t *restrict in_pos,
size_t in_size, uint8_t *restrict out, size_t in_size, uint8_t *restrict out,
size_t *restrict out_pos, size_t out_size, size_t *restrict out_pos, size_t out_size,
@ -103,7 +103,7 @@ alone_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
if (options->dict_size < LZMA_DICT_SIZE_MIN) if (options->dict_size < LZMA_DICT_SIZE_MIN)
return LZMA_OPTIONS_ERROR; return LZMA_OPTIONS_ERROR;
// Round up to to the next 2^n or 2^n + 2^(n - 1) depending on which // Round up to the next 2^n or 2^n + 2^(n - 1) depending on which
// one is the next unless it is UINT32_MAX. While the header would // one is the next unless it is UINT32_MAX. While the header would
// allow any 32-bit integer, we do this to keep the decoder of liblzma // allow any 32-bit integer, we do this to keep the decoder of liblzma
// accepting the resulting files. // accepting the resulting files.

View File

@ -226,16 +226,23 @@ lzma_block_buffer_encode(lzma_block *block, lzma_allocator *allocator,
const uint8_t *in, size_t in_size, const uint8_t *in, size_t in_size,
uint8_t *out, size_t *out_pos, size_t out_size) uint8_t *out, size_t *out_pos, size_t out_size)
{ {
// Sanity checks // Validate the arguments.
if (block == NULL || block->filters == NULL if (block == NULL || (in == NULL && in_size != 0) || out == NULL
|| (in == NULL && in_size != 0) || out == NULL
|| out_pos == NULL || *out_pos > out_size) || out_pos == NULL || *out_pos > out_size)
return LZMA_PROG_ERROR; return LZMA_PROG_ERROR;
// Check the version field. // The contents of the structure may depend on the version so
// check the version before validating the contents of *block.
if (block->version != 0) if (block->version != 0)
return LZMA_OPTIONS_ERROR; return LZMA_OPTIONS_ERROR;
if ((unsigned int)(block->check) > LZMA_CHECK_ID_MAX
|| block->filters == NULL)
return LZMA_PROG_ERROR;
if (!lzma_check_is_supported(block->check))
return LZMA_UNSUPPORTED_CHECK;
// Size of a Block has to be a multiple of four, so limit the size // Size of a Block has to be a multiple of four, so limit the size
// here already. This way we don't need to check it again when adding // here already. This way we don't need to check it again when adding
// Block Padding. // Block Padding.
@ -243,8 +250,7 @@ lzma_block_buffer_encode(lzma_block *block, lzma_allocator *allocator,
// Get the size of the Check field. // Get the size of the Check field.
const size_t check_size = lzma_check_size(block->check); const size_t check_size = lzma_check_size(block->check);
if (check_size == UINT32_MAX) assert(check_size != UINT32_MAX);
return LZMA_PROG_ERROR;
// Reserve space for the Check field. // Reserve space for the Check field.
if (out_size - *out_pos <= check_size) if (out_size - *out_pos <= check_size)

View File

@ -144,7 +144,7 @@ block_encoder_end(lzma_coder *coder, lzma_allocator *allocator)
static lzma_ret static lzma_ret
block_encoder_update(lzma_coder *coder, lzma_allocator *allocator, block_encoder_update(lzma_coder *coder, lzma_allocator *allocator,
const lzma_filter *filters lzma_attribute((unused)), const lzma_filter *filters lzma_attribute((__unused__)),
const lzma_filter *reversed_filters) const lzma_filter *reversed_filters)
{ {
if (coder->sequence != SEQ_CODE) if (coder->sequence != SEQ_CODE)
@ -161,6 +161,11 @@ lzma_block_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
{ {
lzma_next_coder_init(&lzma_block_encoder_init, next, allocator); lzma_next_coder_init(&lzma_block_encoder_init, next, allocator);
if (block == NULL)
return LZMA_PROG_ERROR;
// The contents of the structure may depend on the version so
// check the version first.
if (block->version != 0) if (block->version != 0)
return LZMA_OPTIONS_ERROR; return LZMA_OPTIONS_ERROR;

View File

@ -35,7 +35,7 @@ lzma_version_string(void)
// Memory allocation // // Memory allocation //
/////////////////////// ///////////////////////
extern void * lzma_attribute((malloc)) extern void * lzma_attribute((__malloc__)) lzma_attr_alloc_size(1)
lzma_alloc(size_t size, lzma_allocator *allocator) lzma_alloc(size_t size, lzma_allocator *allocator)
{ {
// Some malloc() variants return NULL if called with size == 0. // Some malloc() variants return NULL if called with size == 0.

View File

@ -205,7 +205,7 @@ struct lzma_internal_s {
/// Allocates memory /// Allocates memory
extern void *lzma_alloc(size_t size, lzma_allocator *allocator) extern void *lzma_alloc(size_t size, lzma_allocator *allocator)
lzma_attribute((malloc)) lzma_attr_alloc_size(1); lzma_attribute((__malloc__)) lzma_attr_alloc_size(1);
/// Frees memory /// Frees memory
extern void lzma_free(void *ptr, lzma_allocator *allocator); extern void lzma_free(void *ptr, lzma_allocator *allocator);

View File

@ -43,7 +43,7 @@ static const struct {
.changes_size = true, .changes_size = true,
}, },
#endif #endif
#ifdef HAVE_DECODER_LZMA2 #if defined(HAVE_ENCODER_LZMA2) || defined(HAVE_DECODER_LZMA2)
{ {
.id = LZMA_FILTER_LZMA2, .id = LZMA_FILTER_LZMA2,
.options_size = sizeof(lzma_options_lzma), .options_size = sizeof(lzma_options_lzma),
@ -52,7 +52,7 @@ static const struct {
.changes_size = true, .changes_size = true,
}, },
#endif #endif
#ifdef HAVE_DECODER_X86 #if defined(HAVE_ENCODER_X86) || defined(HAVE_DECODER_X86)
{ {
.id = LZMA_FILTER_X86, .id = LZMA_FILTER_X86,
.options_size = sizeof(lzma_options_bcj), .options_size = sizeof(lzma_options_bcj),
@ -70,7 +70,7 @@ static const struct {
.changes_size = false, .changes_size = false,
}, },
#endif #endif
#ifdef HAVE_DECODER_IA64 #if defined(HAVE_ENCODER_IA64) || defined(HAVE_DECODER_IA64)
{ {
.id = LZMA_FILTER_IA64, .id = LZMA_FILTER_IA64,
.options_size = sizeof(lzma_options_bcj), .options_size = sizeof(lzma_options_bcj),

View File

@ -56,10 +56,11 @@ struct lzma_coder_s {
static lzma_ret static lzma_ret
index_decode(lzma_coder *coder, lzma_allocator *allocator, index_decode(lzma_coder *coder, lzma_allocator *allocator,
const uint8_t *restrict in, size_t *restrict in_pos, const uint8_t *restrict in, size_t *restrict in_pos,
size_t in_size, uint8_t *restrict out lzma_attribute((unused)), size_t in_size,
size_t *restrict out_pos lzma_attribute((unused)), uint8_t *restrict out lzma_attribute((__unused__)),
size_t out_size lzma_attribute((unused)), size_t *restrict out_pos lzma_attribute((__unused__)),
lzma_action action lzma_attribute((unused))) size_t out_size lzma_attribute((__unused__)),
lzma_action action lzma_attribute((__unused__)))
{ {
// Similar optimization as in index_encoder.c // Similar optimization as in index_encoder.c
const size_t in_start = *in_pos; const size_t in_start = *in_pos;

View File

@ -42,12 +42,13 @@ struct lzma_coder_s {
static lzma_ret static lzma_ret
index_encode(lzma_coder *coder, index_encode(lzma_coder *coder,
lzma_allocator *allocator lzma_attribute((unused)), lzma_allocator *allocator lzma_attribute((__unused__)),
const uint8_t *restrict in lzma_attribute((unused)), const uint8_t *restrict in lzma_attribute((__unused__)),
size_t *restrict in_pos lzma_attribute((unused)), size_t *restrict in_pos lzma_attribute((__unused__)),
size_t in_size lzma_attribute((unused)), size_t in_size lzma_attribute((__unused__)),
uint8_t *restrict out, size_t *restrict out_pos, uint8_t *restrict out, size_t *restrict out_pos,
size_t out_size, lzma_action action lzma_attribute((unused))) size_t out_size,
lzma_action action lzma_attribute((__unused__)))
{ {
// Position where to start calculating CRC32. The idea is that we // Position where to start calculating CRC32. The idea is that we
// need to call lzma_crc32() only once per call to index_encode(). // need to call lzma_crc32() only once per call to index_encode().

View File

@ -51,6 +51,9 @@ lzma_stream_buffer_encode(lzma_filter *filters, lzma_check check,
|| out_pos_ptr == NULL || *out_pos_ptr > out_size) || out_pos_ptr == NULL || *out_pos_ptr > out_size)
return LZMA_PROG_ERROR; return LZMA_PROG_ERROR;
if (!lzma_check_is_supported(check))
return LZMA_UNSUPPORTED_CHECK;
// Note for the paranoids: Index encoder prevents the Stream from // Note for the paranoids: Index encoder prevents the Stream from
// getting too big and still being accepted with LZMA_OK, and Block // getting too big and still being accepted with LZMA_OK, and Block
// encoder catches if the input is too big. So we don't need to // encoder catches if the input is too big. So we don't need to
@ -81,24 +84,30 @@ lzma_stream_buffer_encode(lzma_filter *filters, lzma_check check,
out_pos += LZMA_STREAM_HEADER_SIZE; out_pos += LZMA_STREAM_HEADER_SIZE;
// Block // Encode a Block but only if there is at least one byte of input.
lzma_block block = { lzma_block block = {
.version = 0, .version = 0,
.check = check, .check = check,
.filters = filters, .filters = filters,
}; };
if (in_size > 0)
return_if_error(lzma_block_buffer_encode(&block, allocator, return_if_error(lzma_block_buffer_encode(&block, allocator,
in, in_size, out, &out_pos, out_size)); in, in_size, out, &out_pos, out_size));
// Index // Index
{ {
// Create an Index with one Record. // Create an Index. It will have one Record if there was
// at least one byte of input to encode. Otherwise the
// Index will be empty.
lzma_index *i = lzma_index_init(allocator); lzma_index *i = lzma_index_init(allocator);
if (i == NULL) if (i == NULL)
return LZMA_MEM_ERROR; return LZMA_MEM_ERROR;
lzma_ret ret = lzma_index_append(i, allocator, lzma_ret ret = LZMA_OK;
if (in_size > 0)
ret = lzma_index_append(i, allocator,
lzma_block_unpadded_size(&block), lzma_block_unpadded_size(&block),
block.uncompressed_size); block.uncompressed_size);

View File

@ -280,6 +280,7 @@ lzma_stream_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
next->end = &stream_encoder_end; next->end = &stream_encoder_end;
next->update = &stream_encoder_update; next->update = &stream_encoder_update;
next->coder->filters[0].id = LZMA_VLI_UNKNOWN;
next->coder->block_encoder = LZMA_NEXT_CODER_INIT; next->coder->block_encoder = LZMA_NEXT_CODER_INIT;
next->coder->index_encoder = LZMA_NEXT_CODER_INIT; next->coder->index_encoder = LZMA_NEXT_CODER_INIT;
next->coder->index = NULL; next->coder->index = NULL;
@ -289,7 +290,6 @@ lzma_stream_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
next->coder->sequence = SEQ_STREAM_HEADER; next->coder->sequence = SEQ_STREAM_HEADER;
next->coder->block_options.version = 0; next->coder->block_options.version = 0;
next->coder->block_options.check = check; next->coder->block_options.check = check;
next->coder->filters[0].id = LZMA_VLI_UNKNOWN;
// Initialize the Index // Initialize the Index
lzma_index_end(next->coder->index, allocator); lzma_index_end(next->coder->index, allocator);

View File

@ -85,7 +85,7 @@ delta_encode(lzma_coder *coder, lzma_allocator *allocator,
static lzma_ret static lzma_ret
delta_encoder_update(lzma_coder *coder, lzma_allocator *allocator, delta_encoder_update(lzma_coder *coder, lzma_allocator *allocator,
const lzma_filter *filters_null lzma_attribute((unused)), const lzma_filter *filters_null lzma_attribute((__unused__)),
const lzma_filter *reversed_filters) const lzma_filter *reversed_filters)
{ {
// Delta doesn't and will never support changing the options in // Delta doesn't and will never support changing the options in

View File

@ -126,7 +126,7 @@ decode_buffer(lzma_coder *coder,
static lzma_ret static lzma_ret
lz_decode(lzma_coder *coder, lz_decode(lzma_coder *coder,
lzma_allocator *allocator lzma_attribute((unused)), lzma_allocator *allocator lzma_attribute((__unused__)),
const uint8_t *restrict in, size_t *restrict in_pos, const uint8_t *restrict in, size_t *restrict in_pos,
size_t in_size, uint8_t *restrict out, size_t in_size, uint8_t *restrict out,
size_t *restrict out_pos, size_t out_size, size_t *restrict out_pos, size_t out_size,

View File

@ -480,7 +480,7 @@ lz_encoder_end(lzma_coder *coder, lzma_allocator *allocator)
static lzma_ret static lzma_ret
lz_encoder_update(lzma_coder *coder, lzma_allocator *allocator, lz_encoder_update(lzma_coder *coder, lzma_allocator *allocator,
const lzma_filter *filters_null lzma_attribute((unused)), const lzma_filter *filters_null lzma_attribute((__unused__)),
const lzma_filter *reversed_filters) const lzma_filter *reversed_filters)
{ {
if (coder->lz.options_update == NULL) if (coder->lz.options_update == NULL)

View File

@ -67,6 +67,10 @@ lzma2_decode(lzma_coder *restrict coder, lzma_dict *restrict dict,
const uint32_t control = in[*in_pos]; const uint32_t control = in[*in_pos];
++*in_pos; ++*in_pos;
// End marker
if (control == 0x00)
return LZMA_STREAM_END;
if (control >= 0xE0 || control == 1) { if (control >= 0xE0 || control == 1) {
// Dictionary reset implies that next LZMA chunk has // Dictionary reset implies that next LZMA chunk has
// to set new properties. // to set new properties.
@ -104,10 +108,6 @@ lzma2_decode(lzma_coder *restrict coder, lzma_dict *restrict dict,
&coder->options); &coder->options);
} }
} else { } else {
// End marker
if (control == 0x00)
return LZMA_STREAM_END;
// Invalid control values // Invalid control values
if (control > 2) if (control > 2)
return LZMA_DATA_ERROR; return LZMA_DATA_ERROR;

View File

@ -374,7 +374,7 @@ lzma_lzma2_props_encode(const void *options, uint8_t *out)
const lzma_options_lzma *const opt = options; const lzma_options_lzma *const opt = options;
uint32_t d = my_max(opt->dict_size, LZMA_DICT_SIZE_MIN); uint32_t d = my_max(opt->dict_size, LZMA_DICT_SIZE_MIN);
// Round up to to the next 2^n - 1 or 2^n + 2^(n - 1) - 1 depending // Round up to the next 2^n - 1 or 2^n + 2^(n - 1) - 1 depending
// on which one is the next: // on which one is the next:
--d; --d;
d |= d >> 2; d |= d >> 2;

View File

@ -15,7 +15,7 @@
static size_t static size_t
arm_code(lzma_simple *simple lzma_attribute((unused)), arm_code(lzma_simple *simple lzma_attribute((__unused__)),
uint32_t now_pos, bool is_encoder, uint32_t now_pos, bool is_encoder,
uint8_t *buffer, size_t size) uint8_t *buffer, size_t size)
{ {

View File

@ -15,7 +15,7 @@
static size_t static size_t
armthumb_code(lzma_simple *simple lzma_attribute((unused)), armthumb_code(lzma_simple *simple lzma_attribute((__unused__)),
uint32_t now_pos, bool is_encoder, uint32_t now_pos, bool is_encoder,
uint8_t *buffer, size_t size) uint8_t *buffer, size_t size)
{ {

View File

@ -15,7 +15,7 @@
static size_t static size_t
ia64_code(lzma_simple *simple lzma_attribute((unused)), ia64_code(lzma_simple *simple lzma_attribute((__unused__)),
uint32_t now_pos, bool is_encoder, uint32_t now_pos, bool is_encoder,
uint8_t *buffer, size_t size) uint8_t *buffer, size_t size)
{ {

View File

@ -15,7 +15,7 @@
static size_t static size_t
powerpc_code(lzma_simple *simple lzma_attribute((unused)), powerpc_code(lzma_simple *simple lzma_attribute((__unused__)),
uint32_t now_pos, bool is_encoder, uint32_t now_pos, bool is_encoder,
uint8_t *buffer, size_t size) uint8_t *buffer, size_t size)
{ {

View File

@ -212,7 +212,7 @@ simple_coder_end(lzma_coder *coder, lzma_allocator *allocator)
static lzma_ret static lzma_ret
simple_coder_update(lzma_coder *coder, lzma_allocator *allocator, simple_coder_update(lzma_coder *coder, lzma_allocator *allocator,
const lzma_filter *filters_null lzma_attribute((unused)), const lzma_filter *filters_null lzma_attribute((__unused__)),
const lzma_filter *reversed_filters) const lzma_filter *reversed_filters)
{ {
// No update support, just call the next filter in the chain. // No update support, just call the next filter in the chain.

View File

@ -15,7 +15,7 @@
static size_t static size_t
sparc_code(lzma_simple *simple lzma_attribute((unused)), sparc_code(lzma_simple *simple lzma_attribute((__unused__)),
uint32_t now_pos, bool is_encoder, uint32_t now_pos, bool is_encoder,
uint8_t *buffer, size_t size) uint8_t *buffer, size_t size)
{ {

View File

@ -26,7 +26,7 @@
#endif #endif
static void lzma_attribute((noreturn)) static void lzma_attribute((__noreturn__))
help(void) help(void)
{ {
printf( printf(
@ -45,7 +45,7 @@ _("Usage: %s [--help] [--version] [FILE]...\n"
} }
static void lzma_attribute((noreturn)) static void lzma_attribute((__noreturn__))
version(void) version(void)
{ {
puts("lzmainfo (" PACKAGE_NAME ") " LZMA_VERSION_STRING); puts("lzmainfo (" PACKAGE_NAME ") " LZMA_VERSION_STRING);

View File

@ -27,7 +27,7 @@
xz='@xz@ --format=auto' xz='@xz@ --format=auto'
unset GZIP BZIP BZIP2 unset GZIP BZIP BZIP2
case ${0##/*} in case ${0##*/} in
*egrep*) prog=xzegrep; grep=${GREP:-egrep};; *egrep*) prog=xzegrep; grep=${GREP:-egrep};;
*fgrep*) prog=xzfgrep; grep=${GREP:-fgrep};; *fgrep*) prog=xzfgrep; grep=${GREP:-fgrep};;
*) prog=xzgrep; grep=${GREP:-grep};; *) prog=xzgrep; grep=${GREP:-grep};;
@ -35,7 +35,7 @@ esac
version="$prog (@PACKAGE_NAME@) @VERSION@" version="$prog (@PACKAGE_NAME@) @VERSION@"
usage="Usage: ${0##/*} [OPTION]... [-e] PATTERN [FILE]... usage="Usage: ${0##*/} [OPTION]... [-e] PATTERN [FILE]...
Look for instances of PATTERN in the input FILEs, using their Look for instances of PATTERN in the input FILEs, using their
uncompressed contents if they are compressed. uncompressed contents if they are compressed.
@ -126,6 +126,10 @@ while test $# -ne 0; do
grep="$grep $option$optarg" grep="$grep $option$optarg"
done done
if test $files_with_matches -eq 1 || test $files_without_matches -eq 1; then
grep="$grep -q"
fi
eval "set -- $operands "'${1+"$@"}' eval "set -- $operands "'${1+"$@"}'
if test $have_pat -eq 0; then if test $have_pat -eq 0; then
@ -156,9 +160,9 @@ for i; do
exec 5>&1 exec 5>&1
($uncompress -- "$i" 5>&-; echo $? >&5) 3>&- | ($uncompress -- "$i" 5>&-; echo $? >&5) 3>&- |
if test $files_with_matches -eq 1; then if test $files_with_matches -eq 1; then
eval "$grep" -q && { printf '%s\n' "$i" || exit 2; } eval "$grep" && { printf '%s\n' "$i" || exit 2; }
elif test $files_without_matches -eq 1; then elif test $files_without_matches -eq 1; then
eval "$grep" -q || { eval "$grep" || {
r=$? r=$?
if test $r -eq 1; then if test $r -eq 1; then
printf '%s\n' "$i" || r=2 printf '%s\n' "$i" || r=2

View File

@ -102,7 +102,7 @@ coder_add_filter(lzma_vli id, void *options)
} }
static void lzma_attribute((noreturn)) static void lzma_attribute((__noreturn__))
memlimit_too_small(uint64_t memory_usage) memlimit_too_small(uint64_t memory_usage)
{ {
message(V_ERROR, _("Memory usage limit is too low for the given " message(V_ERROR, _("Memory usage limit is too low for the given "

View File

@ -53,7 +53,7 @@ static bool io_write_buf(file_pair *pair, const uint8_t *buf, size_t size);
extern void extern void
io_init(void) io_init(void)
{ {
// Make sure that stdin, stdout, and and stderr are connected to // Make sure that stdin, stdout, and stderr are connected to
// a valid file descriptor. Exit immediately with exit code ERROR // a valid file descriptor. Exit immediately with exit code ERROR
// if we cannot make the file descriptors valid. Maybe we should // if we cannot make the file descriptors valid. Maybe we should
// print an error message, but our stderr could be screwed anyway. // print an error message, but our stderr could be screwed anyway.

View File

@ -35,4 +35,4 @@ extern void hardware_memlimit_set(uint64_t new_memlimit,
extern uint64_t hardware_memlimit_get(enum operation_mode mode); extern uint64_t hardware_memlimit_get(enum operation_mode mode);
/// Display the amount of RAM and memory usage limits and exit. /// Display the amount of RAM and memory usage limits and exit.
extern void hardware_memlimit_show(void) lzma_attribute((noreturn)); extern void hardware_memlimit_show(void) lzma_attribute((__noreturn__));

View File

@ -94,7 +94,7 @@ static volatile sig_atomic_t progress_needs_updating = false;
/// Signal handler for SIGALRM /// Signal handler for SIGALRM
static void static void
progress_signal_handler(int sig lzma_attribute((unused))) progress_signal_handler(int sig lzma_attribute((__unused__)))
{ {
progress_needs_updating = true; progress_needs_updating = true;
return; return;
@ -726,7 +726,11 @@ vmessage(enum message_verbosity v, const char *fmt, va_list ap)
progress_flush(false); progress_flush(false);
fprintf(stderr, "%s: ", progname); // TRANSLATORS: This is the program name in the beginning
// of the line in messages. Usually it becomes "xz: ".
// This is a translatable string because French needs
// a space before a colon.
fprintf(stderr, _("%s: "), progname);
vfprintf(stderr, fmt, ap); vfprintf(stderr, fmt, ap);
fputc('\n', stderr); fputc('\n', stderr);

View File

@ -45,7 +45,7 @@ extern enum message_verbosity message_verbosity_get(void);
/// ///
/// This doesn't touch the exit status. /// This doesn't touch the exit status.
extern void message(enum message_verbosity verbosity, const char *fmt, ...) extern void message(enum message_verbosity verbosity, const char *fmt, ...)
lzma_attribute((format(printf, 2, 3))); lzma_attribute((__format__(__printf__, 2, 3)));
/// \brief Prints a warning and possibly sets exit status /// \brief Prints a warning and possibly sets exit status
@ -53,7 +53,7 @@ extern void message(enum message_verbosity verbosity, const char *fmt, ...)
/// The message is printed only if verbosity level is at least V_WARNING. /// The message is printed only if verbosity level is at least V_WARNING.
/// The exit status is set to WARNING unless it was already at ERROR. /// The exit status is set to WARNING unless it was already at ERROR.
extern void message_warning(const char *fmt, ...) extern void message_warning(const char *fmt, ...)
lzma_attribute((format(printf, 1, 2))); lzma_attribute((__format__(__printf__, 1, 2)));
/// \brief Prints an error message and sets exit status /// \brief Prints an error message and sets exit status
@ -61,25 +61,25 @@ extern void message_warning(const char *fmt, ...)
/// The message is printed only if verbosity level is at least V_ERROR. /// The message is printed only if verbosity level is at least V_ERROR.
/// The exit status is set to ERROR. /// The exit status is set to ERROR.
extern void message_error(const char *fmt, ...) extern void message_error(const char *fmt, ...)
lzma_attribute((format(printf, 1, 2))); lzma_attribute((__format__(__printf__, 1, 2)));
/// \brief Prints an error message and exits with EXIT_ERROR /// \brief Prints an error message and exits with EXIT_ERROR
/// ///
/// The message is printed only if verbosity level is at least V_ERROR. /// The message is printed only if verbosity level is at least V_ERROR.
extern void message_fatal(const char *fmt, ...) extern void message_fatal(const char *fmt, ...)
lzma_attribute((format(printf, 1, 2))) lzma_attribute((__format__(__printf__, 1, 2)))
lzma_attribute((noreturn)); lzma_attribute((__noreturn__));
/// Print an error message that an internal error occurred and exit with /// Print an error message that an internal error occurred and exit with
/// EXIT_ERROR. /// EXIT_ERROR.
extern void message_bug(void) lzma_attribute((noreturn)); extern void message_bug(void) lzma_attribute((__noreturn__));
/// Print a message that establishing signal handlers failed, and exit with /// Print a message that establishing signal handlers failed, and exit with
/// exit status ERROR. /// exit status ERROR.
extern void message_signal_handler(void) lzma_attribute((noreturn)); extern void message_signal_handler(void) lzma_attribute((__noreturn__));
/// Convert lzma_ret to a string. /// Convert lzma_ret to a string.
@ -116,11 +116,11 @@ extern void message_try_help(void);
/// Prints the version number to stdout and exits with exit status SUCCESS. /// Prints the version number to stdout and exits with exit status SUCCESS.
extern void message_version(void) lzma_attribute((noreturn)); extern void message_version(void) lzma_attribute((__noreturn__));
/// Print the help message. /// Print the help message.
extern void message_help(bool long_help) lzma_attribute((noreturn)); extern void message_help(bool long_help) lzma_attribute((__noreturn__));
/// \brief Set the total number of files to be processed /// \brief Set the total number of files to be processed

View File

@ -150,7 +150,7 @@ enum {
static void static void
set_delta(void *options, uint32_t key, uint64_t value, set_delta(void *options, uint32_t key, uint64_t value,
const char *valuestr lzma_attribute((unused))) const char *valuestr lzma_attribute((__unused__)))
{ {
lzma_options_delta *opt = options; lzma_options_delta *opt = options;
switch (key) { switch (key) {
@ -194,7 +194,7 @@ enum {
static void static void
set_bcj(void *options, uint32_t key, uint64_t value, set_bcj(void *options, uint32_t key, uint64_t value,
const char *valuestr lzma_attribute((unused))) const char *valuestr lzma_attribute((__unused__)))
{ {
lzma_options_bcj *opt = options; lzma_options_bcj *opt = options;
switch (key) { switch (key) {
@ -241,7 +241,7 @@ enum {
}; };
static void lzma_attribute((noreturn)) static void lzma_attribute((__noreturn__))
error_lzma_preset(const char *valuestr) error_lzma_preset(const char *valuestr)
{ {
message_fatal(_("Unsupported LZMA1/LZMA2 preset: %s"), valuestr); message_fatal(_("Unsupported LZMA1/LZMA2 preset: %s"), valuestr);

View File

@ -179,7 +179,7 @@ signals_exit(void)
// console window. // console window.
static BOOL WINAPI static BOOL WINAPI
signal_handler(DWORD type lzma_attribute((unused))) signal_handler(DWORD type lzma_attribute((__unused__)))
{ {
// Since we don't get a signal number which we could raise() at // Since we don't get a signal number which we could raise() at
// signals_exit() like on POSIX, just set the exit status to // signals_exit() like on POSIX, just set the exit status to

View File

@ -21,12 +21,6 @@
static char *custom_suffix = NULL; static char *custom_suffix = NULL;
struct suffix_pair {
const char *compressed;
const char *uncompressed;
};
/// \brief Test if the char is a directory separator /// \brief Test if the char is a directory separator
static bool static bool
is_dir_sep(char c) is_dir_sep(char c)
@ -86,7 +80,10 @@ test_suffix(const char *suffix, const char *src_name, size_t src_len)
static char * static char *
uncompressed_name(const char *src_name, const size_t src_len) uncompressed_name(const char *src_name, const size_t src_len)
{ {
static const struct suffix_pair suffixes[] = { static const struct {
const char *compressed;
const char *uncompressed;
} suffixes[] = {
{ ".xz", "" }, { ".xz", "" },
{ ".txz", ".tar" }, // .txz abbreviation for .txt.gz is rare. { ".txz", ".tar" }, // .txz abbreviation for .txt.gz is rare.
{ ".lzma", "" }, { ".lzma", "" },
@ -145,25 +142,25 @@ static char *
compressed_name(const char *src_name, const size_t src_len) compressed_name(const char *src_name, const size_t src_len)
{ {
// The order of these must match the order in args.h. // The order of these must match the order in args.h.
static const struct suffix_pair all_suffixes[][3] = { static const char *const all_suffixes[][3] = {
{ {
{ ".xz", "" }, ".xz",
{ ".txz", ".tar" }, ".txz",
{ NULL, NULL } NULL
}, { }, {
{ ".lzma", "" }, ".lzma",
{ ".tlz", ".tar" }, ".tlz",
{ NULL, NULL } NULL
/* /*
}, { }, {
{ ".gz", "" }, ".gz",
{ ".tgz", ".tar" }, ".tgz",
{ NULL, NULL } NULL
*/ */
}, { }, {
// --format=raw requires specifying the suffix // --format=raw requires specifying the suffix
// manually or using stdout. // manually or using stdout.
{ NULL, NULL } NULL
} }
}; };
@ -171,14 +168,22 @@ compressed_name(const char *src_name, const size_t src_len)
assert(opt_format != FORMAT_AUTO); assert(opt_format != FORMAT_AUTO);
const size_t format = opt_format - 1; const size_t format = opt_format - 1;
const struct suffix_pair *const suffixes = all_suffixes[format]; const char *const *suffixes = all_suffixes[format];
for (size_t i = 0; suffixes[i].compressed != NULL; ++i) { for (size_t i = 0; suffixes[i] != NULL; ++i) {
if (test_suffix(suffixes[i].compressed, src_name, src_len) if (test_suffix(suffixes[i], src_name, src_len) != 0) {
!= 0) {
message_warning(_("%s: File already has `%s' " message_warning(_("%s: File already has `%s' "
"suffix, skipping"), src_name, "suffix, skipping"), src_name,
suffixes[i].compressed); suffixes[i]);
return NULL;
}
}
if (custom_suffix != NULL) {
if (test_suffix(custom_suffix, src_name, src_len) != 0) {
message_warning(_("%s: File already has `%s' "
"suffix, skipping"), src_name,
custom_suffix);
return NULL; return NULL;
} }
} }
@ -193,7 +198,7 @@ compressed_name(const char *src_name, const size_t src_len)
} }
const char *suffix = custom_suffix != NULL const char *suffix = custom_suffix != NULL
? custom_suffix : suffixes[0].compressed; ? custom_suffix : suffixes[0];
const size_t suffix_len = strlen(suffix); const size_t suffix_len = strlen(suffix);
char *dest_name = xmalloc(src_len + suffix_len + 1); char *dest_name = xmalloc(src_len + suffix_len + 1);

View File

@ -20,11 +20,11 @@
/// \brief Safe realloc() that never returns NULL /// \brief Safe realloc() that never returns NULL
extern void *xrealloc(void *ptr, size_t size) extern void *xrealloc(void *ptr, size_t size)
lzma_attribute((malloc)) lzma_attr_alloc_size(2); lzma_attribute((__malloc__)) lzma_attr_alloc_size(2);
/// \brief Safe strdup() that never returns NULL /// \brief Safe strdup() that never returns NULL
extern char *xstrdup(const char *src) lzma_attribute((malloc)); extern char *xstrdup(const char *src) lzma_attribute((__malloc__));
/// \brief Fancy version of strtoull() /// \brief Fancy version of strtoull()
@ -102,7 +102,7 @@ extern const char *uint64_to_nicestr(uint64_t value,
/// A maximum of *left bytes is written starting from *pos. *pos and *left /// A maximum of *left bytes is written starting from *pos. *pos and *left
/// are updated accordingly. /// are updated accordingly.
extern void my_snprintf(char **pos, size_t *left, const char *fmt, ...) extern void my_snprintf(char **pos, size_t *left, const char *fmt, ...)
lzma_attribute((format(printf, 3, 4))); lzma_attribute((__format__(__printf__, 3, 4)));
/// \brief Check if filename is empty and print an error message /// \brief Check if filename is empty and print an error message

View File

@ -866,7 +866,7 @@ This is equivalent to specifying \fB\-\-memlimit\-compress=\fIlimit
\fB\-\-memlimit\-decompress=\fIlimit\fR. \fB\-\-memlimit\-decompress=\fIlimit\fR.
.TP .TP
.B \-\-no\-adjust .B \-\-no\-adjust
Display an error and exit if the compression settings exceed the Display an error and exit if the compression settings exceed
the memory usage limit. the memory usage limit.
The default is to adjust the settings downwards so The default is to adjust the settings downwards so
that the memory usage limit is not exceeded. that the memory usage limit is not exceeded.

View File

@ -40,7 +40,7 @@
static unsigned int display_errors = 2; static unsigned int display_errors = 2;
static void lzma_attribute((format(printf, 1, 2))) static void lzma_attribute((__format__(__printf__, 1, 2)))
my_errorf(const char *fmt, ...) my_errorf(const char *fmt, ...)
{ {
va_list ap; va_list ap;
@ -57,7 +57,7 @@ my_errorf(const char *fmt, ...)
} }
static void lzma_attribute((noreturn)) static void lzma_attribute((__noreturn__))
help(void) help(void)
{ {
printf( printf(
@ -81,7 +81,7 @@ PACKAGE_NAME " home page: <" PACKAGE_URL ">\n", progname);
} }
static void lzma_attribute((noreturn)) static void lzma_attribute((__noreturn__))
version(void) version(void)
{ {
printf(TOOL_FORMAT "dec (" PACKAGE_NAME ") " LZMA_VERSION_STRING "\n" printf(TOOL_FORMAT "dec (" PACKAGE_NAME ") " LZMA_VERSION_STRING "\n"

View File

@ -87,6 +87,10 @@
uncompressed with dictionary reset, and third is LZMA with new uncompressed with dictionary reset, and third is LZMA with new
properties but without dictionary reset. properties but without dictionary reset.
good-1-lzma2-5.xz has an empty LZMA2 stream with only the end of
payload marker. XZ Utils 5.0.1 and older incorrectly see this file
as corrupt.
good-1-3delta-lzma2.xz has three Delta filters and LZMA2. good-1-3delta-lzma2.xz has three Delta filters and LZMA2.

Binary file not shown.

View File

@ -133,7 +133,7 @@ Building XZ Utils
Using a snapshot from the Git repository Using a snapshot from the Git repository
To use a snapshot, the build system files need to be generated with To use a snapshot, the build system files need to be generated with
autogen.sh or "autoreconf -fi" before trying to build using the the autogen.sh or "autoreconf -fi" before trying to build using the
above build instructions. You can install the relevant extra packages above build instructions. You can install the relevant extra packages
from MinGW or use Cygwin or use e.g. a GNU/Linux system to create a from MinGW or use Cygwin or use e.g. a GNU/Linux system to create a
source package with the required build system files. source package with the required build system files.