aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog111
-rw-r--r--TODO17
-rw-r--r--po/cs.po298
-rw-r--r--po/de.po267
-rw-r--r--po/it.po271
-rw-r--r--po/xz.pot736
-rw-r--r--src/common/sysdefs.h5
-rw-r--r--src/liblzma/api/lzma.h4
-rw-r--r--src/liblzma/api/lzma/base.h45
-rw-r--r--src/liblzma/api/lzma/bcj.h4
-rw-r--r--src/liblzma/api/lzma/block.h4
-rw-r--r--src/liblzma/api/lzma/container.h26
-rw-r--r--src/liblzma/api/lzma/filter.h51
-rw-r--r--src/liblzma/api/lzma/hardware.h3
-rw-r--r--src/liblzma/api/lzma/index.h28
-rw-r--r--src/liblzma/api/lzma/index_hash.h2
-rw-r--r--src/liblzma/api/lzma/lzma.h50
-rw-r--r--src/liblzma/api/lzma/stream_flags.h8
-rw-r--r--src/liblzma/api/lzma/version.h8
-rw-r--r--src/liblzma/api/lzma/vli.h31
-rw-r--r--src/liblzma/common/common.c14
-rw-r--r--src/liblzma/common/filter_encoder.c2
-rw-r--r--src/liblzma/common/filter_encoder.h4
-rw-r--r--src/liblzma/common/index.c2
-rw-r--r--src/liblzma/common/index_decoder.c1
-rw-r--r--src/liblzma/common/index_encoder.c1
-rw-r--r--src/liblzma/lzma/lzma2_decoder.c1
-rw-r--r--src/liblzma/lzma/lzma_decoder.c4
-rw-r--r--src/liblzma/lzma/lzma_encoder.c2
-rw-r--r--src/xz/message.c45
-rw-r--r--src/xz/message.h6
-rw-r--r--src/xz/signals.c8
32 files changed, 1377 insertions, 682 deletions
diff --git a/ChangeLog b/ChangeLog
index c42458decf3c..66775f3b68a7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,114 @@
+commit e45929260cd902036efd40c5610a8d0a50d5712b
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Sat Oct 23 17:25:52 2010 +0300
+
+ Build: Fix mydist rule when .git doesn't exist.
+
+commit 6e1326fcdf6b6209949be57cfe3ad4b781b65168
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Sat Oct 23 14:15:35 2010 +0300
+
+ Add NEWS for 5.0.0.
+
+commit b667a3ef6338a2c1db7b7706b1f6c99ea392221c
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Sat Oct 23 14:02:53 2010 +0300
+
+ Bump version to 5.0.0 and liblzma version-info to 5:0:0.
+
+commit 8c947e9291691629714dafb4536c718b6cc24fbd
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Sat Oct 23 12:30:54 2010 +0300
+
+ liblzma: Make lzma_code() check the reserved members in lzma_stream.
+
+ If any of the reserved members in lzma_stream are non-zero
+ or non-NULL, LZMA_OPTIONS_ERROR is returned. It is possible
+ that a new feature in the future is indicated by just setting
+ a reserved member to some other value, so the old liblzma
+ version need to catch it as an unsupported feature.
+
+commit e61d85e082743ebd2dd0ff28fc0a82482ede0538
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Sat Oct 23 12:26:33 2010 +0300
+
+ Windows: Use MinGW's stdio functions.
+
+ The non-standard ones from msvcrt.dll appear to work
+ most of the time with XZ Utils, but there are some
+ corner cases where things may go very wrong. So it's
+ good to use the better replacements provided by
+ MinGW(-w64) runtime.
+
+commit 23e23f1dc029146714c9a98313ab3ea93d71a2fc
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Sat Oct 23 12:21:32 2010 +0300
+
+ liblzma: Use 512 as INDEX_GROUP_SIZE.
+
+ This lets compiler use shifting instead of 64-bit division.
+
+commit 613939fc82603b75b59eee840871a05bc8dd08e0
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Sat Oct 23 12:20:11 2010 +0300
+
+ liblzma: A few ABI tweaks to reserve space in structures.
+
+commit 68b83f252df3d27480a9f6f03445d16f6506fef1
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Thu Oct 21 23:16:11 2010 +0300
+
+ xz: Make sure that message_strm() can never return NULL.
+
+commit d09c5753e33ff96ee57edb6d1e98e34041203695
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Thu Oct 21 23:06:31 2010 +0300
+
+ liblzma: Update the comments in the API headers.
+
+ Adding support for LZMA_FINISH for Index encoding and
+ decoding needed tiny additions to the relevant .c files too.
+
+commit 33c1c0e102eb529588503b8beea0903a45488fad
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Tue Oct 19 12:08:30 2010 +0300
+
+ Update INSTALL.generic.
+
+commit 0076e03641f201c4b77dddd5a6db5880be19a78c
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Tue Oct 19 11:44:37 2010 +0300
+
+ Clean up a few FIXMEs and TODOs.
+
+ lzma_chunk_size() was commented out because it is
+ currently useless.
+
+commit ce34ec4f54ff8b753da236f371ad8dd23c8135c9
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Tue Oct 19 10:21:08 2010 +0300
+
+ Update docs.
+
+commit f0fa880d247e73264d2c04fe31fb3412318a0026
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Tue Oct 12 15:13:30 2010 +0300
+
+ xz: Avoid raise() also on OpenVMS.
+
+ This is similar to DOS/DJGPP that killing the program
+ with a signal will print a backtrace or a similar message.
+
+commit ac462b1c47c451f5c62e428306314c4bdad8ae7f
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: Mon Oct 11 21:26:19 2010 +0300
+
+ xz: Avoid SA_RESTART for portability reasons.
+
+ SA_RESTART is not as portable as I had hoped. It's missing
+ at least from OpenVMS, QNX, and DJGPP). Luckily we can do
+ fine without SA_RESTART.
+
commit d52b411716a614c202e89ba732492efb9916cd3f
Author: Lasse Collin <lasse.collin@tukaani.org>
Date: Sun Oct 10 17:58:58 2010 +0300
diff --git a/TODO b/TODO
index 9fac1b341956..55fc47556030 100644
--- a/TODO
+++ b/TODO
@@ -18,15 +18,20 @@ Known bugs
XZ Utils compress some files significantly worse than LZMA Utils.
This is due to faster compression presets used by XZ Utils, and
- can be worked around by using "xz --extreme". However, the presets
- need some tweaking and maybe this issue can be minimized without
- making the typical case too much slower.
+ can often be worked around by using "xz --extreme". With some files
+ --extreme isn't enough though: it's most likely with files that
+ compress extremely well, so going from compression ratio of 0.003
+ to 0.004 means big relative increase in the compressed file size.
xz doesn't quote unprintable characters when it displays file names
given on the command line.
tuklib_exit() doesn't block signals => EINTR is possible.
+ SIGTSTP is not handled. If xz is stopped, the estimated remaining
+ time and calculated (de)compression speed won't make sense in the
+ progress indicator (xz --verbose).
+
Missing features
----------------
@@ -41,11 +46,13 @@ Missing features
Buffer-to-buffer coding could use less RAM (especially when
decompressing LZMA1 or LZMA2).
- I/O library is not implemented. It will possibly be named libzzf.
+ I/O library is not implemented (similar to gzopen() in zlib).
+ It will be a separate library that supports uncompressed, .gz,
+ .bz2, .lzma, and .xz files.
lzma_strerror() to convert lzma_ret to human readable form?
This is tricky, because the same error codes are used with
- slightly different meanings.
+ slightly different meanings, and this cannot be fixed anymore.
Documentation
diff --git a/po/cs.po b/po/cs.po
index a60a96f3b34f..5bebf6e4661f 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: xz-utils\n"
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
-"POT-Creation-Date: 2010-09-17 18:33+0200\n"
+"POT-Creation-Date: 2010-10-23 17:48+0300\n"
"PO-Revision-Date: 2010-09-17 18:54+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <diskuze@lists.l10n.cz>\n"
@@ -30,8 +30,7 @@ msgstr "%s: Neznámý typ kontroly integrity"
#: src/xz/args.c:382
msgid "Only one file can be specified with `--files' or `--files0'."
-msgstr ""
-"Spolu s přepínači „--files“ nebo „--files0“ může být zadán pouze jeden soubor"
+msgstr "Spolu s přepínači „--files“ nebo „--files0“ může být zadán pouze jeden soubor"
#: src/xz/args.c:445
#, c-format
@@ -52,8 +51,7 @@ msgstr "Použití přednastavení v režimu raw je nevhodné."
#: src/xz/coder.c:131
msgid "The exact options of the presets may vary between software versions."
-msgstr ""
-"Přesné volby u přednastavení se mohou lišit mezi různými verzemi softwaru."
+msgstr "Přesné volby u přednastavení se mohou lišit mezi různými verzemi softwaru."
#: src/xz/coder.c:157
msgid "The .lzma format supports only the LZMA1 filter"
@@ -74,12 +72,8 @@ msgstr "Dekomprimace bude vyžadovat %s MiB paměti."
#: 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 ""
-"Přizpůsobit velikost slovníku LZMA%c z %s MiB na %s MiB, tak aby nebylo "
-"překročeno omezení použitelné paměti %s MiB"
+msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB"
+msgstr "Přizpůsobit velikost slovníku LZMA%c z %s MiB na %s MiB, tak aby nebylo překročeno omezení použitelné paměti %s MiB"
#. TRANSLATORS: When compression or decompression finishes,
#. and xz is going to remove the source file, xz first checks
@@ -159,8 +153,7 @@ msgstr "%s: Selhalo zavření souboru: %s"
#: src/xz/file_io.c:762 src/xz/file_io.c:946
#, c-format
msgid "%s: Seeking failed when trying to create a sparse file: %s"
-msgstr ""
-"%s: Selhalo nastavení pozice při pokusu o vytvoření záložního souboru: %s"
+msgstr "%s: Selhalo nastavení pozice při pokusu o vytvoření záložního souboru: %s"
#: src/xz/file_io.c:821
#, c-format
@@ -319,12 +312,10 @@ msgstr " Zarovnání proudu: %s\n"
#: src/xz/list.c:693
msgid ""
" Streams:\n"
-" Stream Blocks CompOffset UncompOffset CompSize "
-"UncompSize Ratio Check Padding"
+" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding"
msgstr ""
" Proudy:\n"
-" Proud Bloky KomprPozice NekomprPozice KomprVelikost "
-"NekomprVelikost Poměr Kontrola Zarovnání"
+" Proud Bloky KomprPozice NekomprPozice KomprVelikost NekomprVelikost Poměr Kontrola Zarovnání"
#. TRANSLATORS: The second line is column headings. All
#. except Check are right aligned; Check is left aligned.
@@ -332,12 +323,10 @@ msgstr ""
#, c-format
msgid ""
" Blocks:\n"
-" Stream Block CompOffset UncompOffset TotalSize "
-"UncompSize Ratio Check"
+" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check"
msgstr ""
" Bloky:\n"
-" Proud Blok KomprPozice NekomprPozice CelkVelikost "
-"NekomprVelikost Poměr Kontrola"
+" Proud Blok KomprPozice NekomprPozice CelkVelikost NekomprVelikost Poměr Kontrola"
#. TRANSLATORS: These are additional column headings
#. for the most verbose listing mode. CheckVal
@@ -408,78 +397,69 @@ msgstr "%s: Neočekávaný konec vstupu při čtení názvů souborů"
#: 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: Byl nalezen nulový znak při čtení názvů souborů; nechtěli jste náhodou "
-"použít „--files0“ místo „--files“?"
+msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?"
+msgstr "%s: Byl nalezen nulový znak při čtení názvů souborů; nechtěli jste náhodou použít „--files0“ místo „--files“?"
#: src/xz/main.c:174
msgid "Compression and decompression with --robot are not supported yet."
msgstr "Komprimace a dekomprimace s přepínačem --robot není zatím podporovaná."
#: src/xz/main.c:231
-msgid ""
-"Cannot read data from standard input when reading filenames from standard "
-"input"
-msgstr ""
-"Ze standardního vstupu nelze číst data, když se ze standardního vstupu "
-"načítají názvy souborů"
+msgid "Cannot read data from standard input when reading filenames from standard input"
+msgstr "Ze standardního vstupu nelze číst data, když se ze standardního vstupu načítají názvy souborů"
-#: src/xz/message.c:800 src/xz/message.c:844
+#: src/xz/message.c:792 src/xz/message.c:842
msgid "Internal error (bug)"
msgstr "Interní chyba"
-#: src/xz/message.c:807
+#: src/xz/message.c:799
msgid "Cannot establish signal handlers"
msgstr "Nelze ustanovit ovladač signálu"
-#: src/xz/message.c:816
+#: src/xz/message.c:808
msgid "No integrity check; not verifying file integrity"
msgstr "Žádná kontrola integrity; integrita souboru se nebude ověřovat"
-#: src/xz/message.c:819
+#: src/xz/message.c:811
msgid "Unsupported type of integrity check; not verifying file integrity"
-msgstr ""
-"Nepodporovaný typ kontroly integrity; integrita souboru se nebude ověřovat"
+msgstr "Nepodporovaný typ kontroly integrity; integrita souboru se nebude ověřovat"
-#: src/xz/message.c:826
+#: src/xz/message.c:818
msgid "Memory usage limit reached"
msgstr "Dosaženo omezení použitelné paměti"
-#: src/xz/message.c:829
+#: src/xz/message.c:821
msgid "File format not recognized"
msgstr "Formát souboru nebyl rozpoznán"
-#: src/xz/message.c:832
+#: src/xz/message.c:824
msgid "Unsupported options"
msgstr "Nepodporovaná volba"
-#: src/xz/message.c:835
+#: src/xz/message.c:827
msgid "Compressed data is corrupt"
msgstr "Komprimovaná data jsou poškozená"
-#: src/xz/message.c:838
+#: src/xz/message.c:830
msgid "Unexpected end of input"
msgstr "Neočekávaný konec vstupu"
-#: src/xz/message.c:886
+#: src/xz/message.c:881
#, c-format
msgid "%s MiB of memory is required. The limit is %s."
msgstr "Je vyžadováno %s MiB paměti. Limit je %s."
-#: src/xz/message.c:1053
+#: src/xz/message.c:1048
#, c-format
msgid "%s: Filter chain: %s\n"
msgstr "%s: Omezující filtr: %s\n"
-#: src/xz/message.c:1063
+#: src/xz/message.c:1058
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Zkuste „%s --help“ pro více informací"
-#: src/xz/message.c:1089
+#: src/xz/message.c:1084
#, c-format
msgid ""
"Usage: %s [OPTION]... [FILE]...\n"
@@ -490,18 +470,15 @@ msgstr ""
"Komprimuje nebo dekomprimuje SOUBORy ve formátu xz.\n"
"\n"
-#: src/xz/message.c:1096
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-"Povinné argumenty pro dlouhé přepínače jsou povinné rovněž pro krátké "
-"přepínače.\n"
+#: src/xz/message.c:1091
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr "Povinné argumenty pro dlouhé přepínače jsou povinné rovněž pro krátké přepínače.\n"
-#: src/xz/message.c:1100
+#: src/xz/message.c:1095
msgid " Operation mode:\n"
msgstr "Operační režim:\n"
-#: src/xz/message.c:1103
+#: src/xz/message.c:1098
msgid ""
" -z, --compress force compression\n"
" -d, --decompress force decompression\n"
@@ -513,7 +490,7 @@ msgstr ""
" -t, --test testovat integritu komprimovaného souboru\n"
" -l, --list vypsat informace o souborech .xz"
-#: src/xz/message.c:1109
+#: src/xz/message.c:1104
msgid ""
"\n"
" Operation modifiers:\n"
@@ -521,39 +498,33 @@ msgstr ""
"\n"
"Modifikátory operací:\n"
-#: src/xz/message.c:1112
+#: 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 zachovat (nemazat) vstupní soubory\n"
-" -f, --force vynutit přepis výstupního souboru a de/komprimovat "
-"odkazy\n"
-" -c, --stdout zapisovat na standardní výstup a nemazat vstupní "
-"soubory"
+" -f, --force vynutit přepis výstupního souboru a de/komprimovat odkazy\n"
+" -c, --stdout zapisovat na standardní výstup a nemazat vstupní soubory"
-#: src/xz/message.c:1118
+#: 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"
+" filenames must be terminated with the newline character\n"
" --files0[=FILE] like --files but use the null character as terminator"
msgstr ""
" --no-sparse nevytvářet při dekomprimaci záložní soubory\n"
" -S, --suffix=.PRIP použít u komprimovaných souborů příponu „.PRIP“\n"
-" --files[=SOUBOR] číst názvy souborů, které se mají zpracovat, ze "
-"SOUBORu;\n"
-" pokud není SOUBOR zadán, čte se ze standardního "
-"vstupu;\n"
+" --files[=SOUBOR] číst názvy souborů, které se mají zpracovat, ze SOUBORu;\n"
+" pokud není SOUBOR zadán, čte se ze standardního vstupu;\n"
" názvy souborů musí být zakončeny znakem nového řádku\n"
-" --files0[=SOUBOR] stejné jako --files, ale použít k zakončování nulový "
-"znak"
+" --files0[=SOUBOR] stejné jako --files, ale použít k zakončování nulový znak"
-#: src/xz/message.c:1126
+#: src/xz/message.c:1121
msgid ""
"\n"
" Basic file format and compression options:\n"
@@ -561,7 +532,7 @@ msgstr ""
"\n"
"Základní přepínače pro formát souboru a komprimaci:\n"
-#: src/xz/message.c:1128
+#: 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"
@@ -570,76 +541,62 @@ msgid ""
msgstr ""
" -F, --format=FORMÁT formát souboru k zakódování nebo dekódování; možné\n"
" hodnoty jsou „auto“ (výchozí), „xz“, „lzma“ a „raw“\n"
-" -C, --check=KONTROLA typ kontroly integrity: „none“ (používejte s "
-"rozmyslem),\n"
+" -C, --check=KONTROLA typ kontroly integrity: „none“ (používejte s rozmyslem),\n"
" „crc32“, „crc64“ (výchozí) nebo „sha256“"
-#: src/xz/message.c:1135
+#: 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!"
+" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
+" decompressor memory usage into account before using 7-9!"
msgstr ""
-" -0 .. -9 přednastavení komprimace; výchozí je 6; než "
-"použijete\n"
-" hodnoty 7 – 9, vezměte do úvahy množství použité "
-"paměti"
+" -0 .. -9 přednastavení komprimace; výchozí je 6; než použijete\n"
+" hodnoty 7 – 9, vezměte do úvahy množství použité paměti"
-#: src/xz/message.c:1139
+#: src/xz/message.c:1134
msgid ""
-" -e, --extreme try to improve compression ratio by using more CPU "
-"time;\n"
+" -e, --extreme try to improve compression ratio by using more CPU time;\n"
" does not affect decompressor memory requirements"
msgstr ""
" -e, --extreme zkusit zlepšit poměr komprimace využitím více času\n"
" procesoru; nemá vliv na paměťové nároky dekomprimace"
-#: src/xz/message.c:1144
+#: 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"
+" 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"
" nastaví omezení použitelné paměti pro komprimaci,\n"
-" dekomprimaci nebo obojí; LIMIT je v bajtech, % z "
-"paměti\n"
+" dekomprimaci nebo obojí; LIMIT je v bajtech, % z paměti\n"
" RAM nebo 0 pro výchozí"
-#: src/xz/message.c:1151
+#: 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"
+" --no-adjust if compression settings exceed the memory usage limit,\n"
+" give an error instead of adjusting the settings downwards"
msgstr ""
-" --no-adjust pokud nastavení komprimace přesáhne omezení "
-"použitelné\n"
+" --no-adjust pokud nastavení komprimace přesáhne omezení použitelné\n"
" paměti, předat chybu namísto snížení nastavení"
-#: src/xz/message.c:1157
+#: src/xz/message.c:1152
msgid ""
"\n"
" Custom filter chain for compression (alternative for using presets):"
msgstr ""
"\n"
-"Vlastní omezující filtr pro komprimaci (alternativa k použití "
-"přednastavených):"
+"Vlastní omezující filtr pro komprimaci (alternativa k použití přednastavených):"
-#: src/xz/message.c:1166
+#: 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"
+" --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"
@@ -647,33 +604,24 @@ msgid ""
" 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)"
+" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n"
+" depth=NUM maximum search depth; 0=automatic (default)"
msgstr ""
"\n"
-" --lzma1[=VOLBY] LZMA1 nebo LZMA2; VOLBY je čárkou oddělovaný seznam "
-"žádné\n"
-" --lzma2[=VOLBY] nebo více následujících voleb (platné hodnoty; "
-"výchozí):\n"
-" preset=PŘE změnit volby na PŘEdnastavené (0 – 9"
-"[e])\n"
-" dict=POČ velikost slovníku (4 KiB – 1536 MiB; 8 "
-"MiB)\n"
-" lc=POČ počet kontextových bitů literálu (0 – 4; "
-"3)\n"
-" lp=POČ počet pozičních bitů literálu (0 – 4; "
-"0)\n"
+" --lzma1[=VOLBY] LZMA1 nebo LZMA2; VOLBY je čárkou oddělovaný seznam žádné\n"
+" --lzma2[=VOLBY] nebo více následujících voleb (platné hodnoty; výchozí):\n"
+" preset=PŘE změnit volby na PŘEdnastavené (0 – 9[e])\n"
+" dict=POČ velikost slovníku (4 KiB – 1536 MiB; 8 MiB)\n"
+" lc=POČ počet kontextových bitů literálu (0 – 4; 3)\n"
+" lp=POČ počet pozičních bitů literálu (0 – 4; 0)\n"
" pb=POČ počet pozičních bitů (0 – 4; 2)\n"
" mode=REŽIM režim komprimace (fast, normal; normal)\n"
" nice=NUM příznivá délka shody (2 – 273; 64)\n"
-" mf=NÁZEV hledání shod (hc3, hc4, bt2, bt3, bt4; "
-"bt4)\n"
+" mf=NÁZEV hledání shod (hc3, hc4, bt2, bt3, bt4; bt4)\n"
" depth=POČ maximální hloubka prohledávání;\n"
" 0 = automaticky (výchozí)"
-#: src/xz/message.c:1181
+#: src/xz/message.c:1176
msgid ""
"\n"
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
@@ -695,7 +643,7 @@ msgstr ""
" Platné volby pro všechny filtry BCJ:\n"
" start=POČ počáteční posun pro převody (výchozí=0)"
-#: src/xz/message.c:1193
+#: src/xz/message.c:1188
msgid ""
"\n"
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
@@ -704,11 +652,10 @@ msgid ""
msgstr ""
"\n"
" --delta[=VOLBY] Filtr Delta; platné VOLBY (platné hodnoty; výchozí):\n"
-" dist=POČ vzdálenost mezi bajty, které jsou "
-"odečítány\n"
+" dist=POČ vzdálenost mezi bajty, které jsou odečítány\n"
" jeden od druhého (1 – 256; 1)"
-#: src/xz/message.c:1201
+#: src/xz/message.c:1196
msgid ""
"\n"
" Other options:\n"
@@ -716,79 +663,71 @@ msgstr ""
"\n"
" Ostatní přepínače:\n"
-#: src/xz/message.c:1204
+#: src/xz/message.c:1199
msgid ""
-" -q, --quiet suppress warnings; specify twice to suppress errors "
-"too\n"
+" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
" -v, --verbose be verbose; specify twice for even more verbose"
msgstr ""
-" -q, --quiet potlačit varování; zadáním dvakrát, potlačíte i "
-"chyby\n"
+" -q, --quiet potlačit varování; zadáním dvakrát, potlačíte i chyby\n"
" -v, --verbose podrobnější zprávy; zadáním dvakrát, budou ještě\n"
" podrobnější"
-#: src/xz/message.c:1209
+#: src/xz/message.c:1204
msgid " -Q, --no-warn make warnings not affect the exit status"
msgstr " -Q, --no-warn způsobí, že varování neovlivní stav ukončení"
-#: src/xz/message.c:1211
-msgid ""
-" --robot use machine-parsable messages (useful for scripts)"
+#: src/xz/message.c:1206
+msgid " --robot use machine-parsable messages (useful for scripts)"
msgstr ""
" --robot použít strojově analyzovatelné zprávy (užitečné pro\n"
" skripty)"
-#: src/xz/message.c:1214
+#: src/xz/message.c:1209
msgid ""
-" --info-memory display the total amount of RAM and the currently "
-"active\n"
+" --info-memory display the total amount of RAM and the currently active\n"
" memory usage limits, and exit"
msgstr ""
-" --info-memory zobrazit celkové množství paměti RAM a současné "
-"aktivní\n"
+" --info-memory zobrazit celkové množství paměti RAM a současné aktivní\n"
" omezení použitelné paměti a skončit"
-#: src/xz/message.c:1217
+#: 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 zobrazit krátkou nápovědu (vypíše jen základní "
-"přepínače)\n"
+" -h, --help zobrazit krátkou nápovědu (vypíše jen základní přepínače)\n"
" -H, --long-help zobrazit tuto úplnou nápovědu a skončit"
-#: src/xz/message.c:1221
+#: 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 zobrazit tuto zkrácenou nápovědu a skončit\n"
-" -H, --long-help zobrazit úplnou nápovědu (vypíše i pokročilé "
-"přepínače)"
+" -H, --long-help zobrazit úplnou nápovědu (vypíše i pokročilé přepínače)"
-#: src/xz/message.c:1226
+#: src/xz/message.c:1221
msgid " -V, --version display the version number and exit"
msgstr " -V, --version zobrazit číslo verze a skončit"
-#: src/xz/message.c:1228
+#: src/xz/message.c:1223
msgid ""
"\n"
"With no FILE, or when FILE is -, read standard input.\n"
msgstr ""
"\n"
-"Pokud SOUBOR není zadán nebo pokud je -, bude se číst ze standardního "
-"vstupu.\n"
+"Pokud SOUBOR není zadán nebo pokud je -, bude se číst ze standardního vstupu.\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:1234
+#: src/xz/message.c:1229
#, c-format
msgid "Report bugs to <%s> (in English or Finnish).\n"
msgstr "Chyby hlaste na <%s> (v angličtině nebo finštině).\n"
-#: src/xz/message.c:1236
+#: src/xz/message.c:1231
#, c-format
msgid "%s home page: <%s>\n"
msgstr "Domovská stránka %s: <%s>\n"
@@ -824,11 +763,8 @@ msgstr "Vybraný vyhledávač shod vyžaduje minimálně nice=%<PRIu32>"
#: src/xz/suffix.c:79 src/xz/suffix.c:164
#, c-format
-msgid ""
-"%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
-msgstr ""
-"%s: S přepínačem --format=raw je vyžadován --sufix=.PRIP, vyjma zápisu do "
-"standardního výstupu"
+msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
+msgstr "%s: S přepínačem --format=raw je vyžadován --sufix=.PRIP, vyjma zápisu do standardního výstupu"
#: src/xz/suffix.c:99
#, c-format
@@ -857,9 +793,7 @@ msgstr "%s: Neplatná jednotka s předponou"
#: src/xz/util.c:105
msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)."
-msgstr ""
-"Platné jednotky s předponami jsou „KiB“ (2^10 B), „MiB“ (2^20 B) a "
-"„GiB“ (2^30 B)."
+msgstr "Platné jednotky s předponami jsou „KiB“ (2^10 B), „MiB“ (2^20 B) a „GiB“ (2^30 B)."
#: src/xz/util.c:122
#, c-format
@@ -893,49 +827,37 @@ msgstr "Neznámá chyba"
#~ msgstr "%s MiB (%s bajtů)\n"
#~ msgid ""
-#~ " -e, --extreme use more CPU time when encoding to increase "
-#~ "compression\n"
+#~ " -e, --extreme use more CPU time when encoding to increase compression\n"
#~ " ratio without increasing memory usage of the decoder"
#~ msgstr ""
-#~ " -e, --extreme využít více procesorového času pro kódování, čímž "
-#~ "se\n"
-#~ " zvýší kompresní poměr bez zvýšení paměti použité "
-#~ "kodérem"
+#~ " -e, --extreme využít více procesorového času pro kódování, čímž se\n"
+#~ " zvýší kompresní poměr bez zvýšení paměti použité kodérem"
#~ msgid ""
-#~ " -M, --memory=NUM use roughly NUM bytes of memory at maximum; 0 "
-#~ "indicates\n"
+#~ " -M, --memory=NUM use roughly NUM bytes of memory at maximum; 0 indicates\n"
#~ " the default setting, which is 40 % of total RAM"
#~ msgstr ""
-#~ " -M, --memory=POČ použít zhruba POČ bajtů paměti jako maximum; 0 "
-#~ "znamená\n"
-#~ " výchozí nastavení, což je 40% celkového množství "
-#~ "paměti"
+#~ " -M, --memory=POČ použít zhruba POČ bajtů paměti jako maximum; 0 znamená\n"
+#~ " výchozí nastavení, což je 40% celkového množství paměti"
#~ msgid ""
#~ "\n"
-#~ " --subblock[=OPTS] Subblock filter; valid OPTS (valid values; "
-#~ "default):\n"
+#~ " --subblock[=OPTS] Subblock filter; valid OPTS (valid values; default):\n"
#~ " size=NUM number of bytes of data per subblock\n"
#~ " (1 - 256Mi; 4Ki)\n"
-#~ " rle=NUM run-length encoder chunk size (0-256; "
-#~ "0)"
+#~ " rle=NUM run-length encoder chunk size (0-256; 0)"
#~ msgstr ""
#~ "\n"
-#~ " --subblock[=VOLBY] Subblokový filtr; platné VOLBY (platné hodnoty; "
-#~ "výchozí):\n"
+#~ " --subblock[=VOLBY] Subblokový filtr; platné VOLBY (platné hodnoty; výchozí):\n"
#~ " size=POČ počet bajtů dat na subblok\n"
#~ " (1 - 256 Mi; 4 Ki)\n"
-#~ " rle=POČ velikost dávky pro kodér run-length "
-#~ "(0-256; 0)"
+#~ " rle=POČ velikost dávky pro kodér run-length (0-256; 0)"
#~ msgid ""
-#~ "On this system and configuration, this program will use a maximum of "
-#~ "roughly\n"
+#~ "On this system and configuration, this program will use a maximum of roughly\n"
#~ "%s MiB RAM and "
#~ msgstr ""
-#~ "Na tomto systému a s tímto nastavením použije tento program maximum ze "
-#~ "zhruba\n"
+#~ "Na tomto systému a s tímto nastavením použije tento program maximum ze zhruba\n"
#~ "%s MiB RAM a "
#~ msgid ""
diff --git a/po/de.po b/po/de.po
index d88b8cd8a5ec..2cf17c636ac8 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,10 +6,11 @@ msgid ""
msgstr ""
"Project-Id-Version: XZ Utils 4.999.9beta\n"
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
-"POT-Creation-Date: 2010-09-11 17:07+0200\n"
+"POT-Creation-Date: 2010-10-23 17:48+0300\n"
"PO-Revision-Date: 2010-09-07 20:27+0200\n"
"Last-Translator: <maan@systemlinux.org>\n"
"Language-Team: German\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -27,8 +28,7 @@ msgstr "%s: Integritäts-Check Typ nicht unterstützt"
#: src/xz/args.c:382
msgid "Only one file can be specified with `--files' or `--files0'."
-msgstr ""
-"Nur ein file kann als Argument für --files oder --files0 angegeben werden."
+msgstr "Nur ein file kann als Argument für --files oder --files0 angegeben werden."
#: src/xz/args.c:445
#, c-format
@@ -41,8 +41,7 @@ msgstr "Maximal vier Filter möglich"
#: src/xz/coder.c:108
msgid "Memory usage limit is too low for the given filter setup."
-msgstr ""
-"Das Speicher Limit ist zu niedrig für die gegebene Filter Konfiguration."
+msgstr "Das Speicher Limit ist zu niedrig für die gegebene Filter Konfiguration."
#: src/xz/coder.c:129
msgid "Using a preset in raw mode is discouraged."
@@ -50,9 +49,7 @@ msgstr "Verwendung der Voreinstellung im raw Modus wird nicht empfohlen."
#: src/xz/coder.c:131
msgid "The exact options of the presets may vary between software versions."
-msgstr ""
-"Die genauen Optionen der Voreinstellung können zwischen Software Versionen "
-"variieren."
+msgstr "Die genauen Optionen der Voreinstellung können zwischen Software Versionen variieren."
#: src/xz/coder.c:157
msgid "The .lzma format supports only the LZMA1 filter"
@@ -73,12 +70,8 @@ msgstr "Dekompression wird %s MiB Speicher brauchen."
#: 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 ""
-"Passte LZMA%c Wörterbuch Größe von %s MiB to %s MiB an, um nicht das "
-"Speicher Nutzungslimit von %s MiB zu übersteigen"
+msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB"
+msgstr "Passte LZMA%c Wörterbuch Größe von %s MiB to %s MiB an, um nicht das Speicher Nutzungslimit von %s MiB zu übersteigen"
#. TRANSLATORS: When compression or decompression finishes,
#. and xz is going to remove the source file, xz first checks
@@ -93,8 +86,7 @@ msgstr ""
#: src/xz/file_io.c:137
#, c-format
msgid "%s: File seems to have been moved, not removing"
-msgstr ""
-"%s: Datei scheint umbenannt worden zu sein, daher wird sie nicht gelöscht"
+msgstr "%s: Datei scheint umbenannt worden zu sein, daher wird sie nicht gelöscht"
#: src/xz/file_io.c:144 src/xz/file_io.c:590
#, c-format
@@ -149,8 +141,7 @@ msgstr "%s: Eingabedatei hat mehr als einen hard link, überspringe"
#: src/xz/file_io.c:714
#, c-format
msgid "Error restoring the O_APPEND flag to standard output: %s"
-msgstr ""
-"Fehler beim Wiederherstellen des O_APPEND flags bei Standard Output: %s"
+msgstr "Fehler beim Wiederherstellen des O_APPEND flags bei Standard Output: %s"
#: src/xz/file_io.c:726
#, c-format
@@ -160,8 +151,7 @@ msgstr "%s: Fehler beim Schießen der Datei: %s"
#: src/xz/file_io.c:762 src/xz/file_io.c:946
#, c-format
msgid "%s: Seeking failed when trying to create a sparse file: %s"
-msgstr ""
-"%s: Positionierungsfehler beim Versuch eine sparse Datei zu erzeugen: %s"
+msgstr "%s: Positionierungsfehler beim Versuch eine sparse Datei zu erzeugen: %s"
#: src/xz/file_io.c:821
#, c-format
@@ -212,7 +202,7 @@ msgstr "Kein"
#. 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.
+#. you need space for one extra letter, but don't use spaces.
#: src/xz/list.c:69
msgid "Unknown-2"
msgstr "Unbek.2"
@@ -320,12 +310,10 @@ msgstr " Strom Auffüllung: %s\n"
#: src/xz/list.c:693
msgid ""
" Streams:\n"
-" Stream Blocks CompOffset UncompOffset CompSize "
-"UncompSize Ratio Check Padding"
+" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding"
msgstr ""
" Ströme:\n"
-" Strom Blöcke KompOffset UnkompOffset KompGröße "
-"UnkompGröße Verh. Check Auffüllung"
+" Strom Blöcke KompOffset UnkompOffset KompGröße UnkompGröße Verh. Check Auffüllung"
#. TRANSLATORS: The second line is column headings. All
#. except Check are right aligned; Check is left aligned.
@@ -333,12 +321,10 @@ msgstr ""
#, c-format
msgid ""
" Blocks:\n"
-" Stream Block CompOffset UncompOffset TotalSize "
-"UncompSize Ratio Check"
+" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check"
msgstr ""
" Blöcke:\n"
-" Strom Block KompOffset UnkompOffset TotalGröße "
-"UnkompGröße Verh. Check"
+" Strom Block KompOffset UnkompOffset TotalGröße UnkompGröße Verh. Check"
#. TRANSLATORS: These are additional column headings
#. for the most verbose listing mode. CheckVal
@@ -390,8 +376,7 @@ msgstr " Anzahl Dateien: %s\n"
#: src/xz/list.c:1072
msgid "--list works only on .xz files (--format=xz or --format=auto)"
-msgstr ""
-"--list funktioniert nur mit .xz Dateien (--format=xz oder --format=auto)"
+msgstr "--list funktioniert nur mit .xz Dateien (--format=xz oder --format=auto)"
#: src/xz/list.c:1078
msgid "--list does not support reading from standard input"
@@ -409,79 +394,69 @@ msgstr "%s: Unerwartetes Ende beim Lesen der Dateinamen"
#: 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: Null Charakter gefunden beim Lesen der Dateinamen; Meinten Sie `--"
-"files0' statt `--files'?"
+msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?"
+msgstr "%s: Null Charakter gefunden beim Lesen der Dateinamen; Meinten Sie `--files0' statt `--files'?"
#: src/xz/main.c:174
msgid "Compression and decompression with --robot are not supported yet."
msgstr "Kompression und Dekompression mit --robot ist noch nicht unterstützt."
#: src/xz/main.c:231
-msgid ""
-"Cannot read data from standard input when reading filenames from standard "
-"input"
-msgstr ""
-"Lesen der Standardeingabe ist nicht möglich, wenn die Dateinamen auch von "
-"der Standardeingabe gelesen werden"
+msgid "Cannot read data from standard input when reading filenames from standard input"
+msgstr "Lesen der Standardeingabe ist nicht möglich, wenn die Dateinamen auch von der Standardeingabe gelesen werden"
-#: src/xz/message.c:800 src/xz/message.c:844
+#: src/xz/message.c:792 src/xz/message.c:842
msgid "Internal error (bug)"
msgstr "Interner Fehler (Bug)"
-#: src/xz/message.c:807
+#: src/xz/message.c:799
msgid "Cannot establish signal handlers"
msgstr "Kann Signal Routine nicht setzen"
-#: src/xz/message.c:816
+#: src/xz/message.c:808
msgid "No integrity check; not verifying file integrity"
msgstr "Kein Integritäts-Check; werde Datei-Integrität nicht überprüfen"
-#: src/xz/message.c:819
+#: src/xz/message.c:811
msgid "Unsupported type of integrity check; not verifying file integrity"
-msgstr ""
-"Typ des Integritäts-Checks nicht unterstützt; werde Datei-Integrität nicht "
-"überprüfen"
+msgstr "Typ des Integritäts-Checks nicht unterstützt; werde Datei-Integrität nicht überprüfen"
-#: src/xz/message.c:826
+#: src/xz/message.c:818
msgid "Memory usage limit reached"
msgstr "Speicher-Limit erreicht"
-#: src/xz/message.c:829
+#: src/xz/message.c:821
msgid "File format not recognized"
msgstr "Datei Format nicht erkannt"
-#: src/xz/message.c:832
+#: src/xz/message.c:824
msgid "Unsupported options"
msgstr "Optionen nicht unterstützt"
-#: src/xz/message.c:835
+#: src/xz/message.c:827
msgid "Compressed data is corrupt"
msgstr "Komprimierte Daten sind korrupt"
-#: src/xz/message.c:838
+#: src/xz/message.c:830
msgid "Unexpected end of input"
msgstr "Unerwartetes Eingabe Ende"
-#: src/xz/message.c:886
+#: src/xz/message.c:881
#, c-format
msgid "%s MiB of memory is required. The limit is %s."
msgstr "%s MiB Speicher wird benötigt. Limit ist %s."
-#: src/xz/message.c:1053
+#: src/xz/message.c:1048
#, c-format
msgid "%s: Filter chain: %s\n"
msgstr "%s: Filter Kette: %s\n"
-#: src/xz/message.c:1063
+#: src/xz/message.c:1058
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Versuchen Sie `%s --help' für mehr Informationen."
-#: src/xz/message.c:1089
+#: src/xz/message.c:1084
#, c-format
msgid ""
"Usage: %s [OPTION]... [FILE]...\n"
@@ -492,18 +467,17 @@ msgstr ""
"Komprimiert oder dekomprimiert .xz DATEI(EN).\n"
"\n"
-#: src/xz/message.c:1096
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
+#: src/xz/message.c:1091
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Obligatorische Argumente für lange Optionen sind auch für kurze Optionen\n"
"zwingend.\n"
-#: src/xz/message.c:1100
+#: src/xz/message.c:1095
msgid " Operation mode:\n"
msgstr " Operationsmodus:\n"
-#: src/xz/message.c:1103
+#: src/xz/message.c:1098
msgid ""
" -z, --compress force compression\n"
" -d, --decompress force decompression\n"
@@ -515,7 +489,7 @@ msgstr ""
" -t, --test überprüfe Datei Integrität\n"
" -l, --list liste Datei Informationen"
-#: src/xz/message.c:1109
+#: src/xz/message.c:1104
msgid ""
"\n"
" Operation modifiers:\n"
@@ -523,7 +497,7 @@ msgstr ""
"\n"
" Operationsmodifikatoren:\n"
-#: src/xz/message.c:1112
+#: 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"
@@ -535,14 +509,13 @@ msgstr ""
" -c, --stdout schreibe nach Standard Output und lösche nicht die\n"
" Eingabedateien"
-#: src/xz/message.c:1118
+#: 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"
+" filenames must be terminated with the newline character\n"
" --files0[=FILE] like --files but use the null character as terminator"
msgstr ""
" --no-sparse erzeuge keine sparse Datei beim Dekomprimieren\n"
@@ -551,10 +524,9 @@ msgstr ""
" DATEI nicht angegeben wurde, werden Dateinamen\n"
" von Standard Input gelesen. Dateinamen müssen mit\n"
" einem Zeilenumbruch voneinander getrennt werden\n"
-" --files0=[DATEI] wie --files, aber benutze den Null Charakter als "
-"Trenner"
+" --files0=[DATEI] wie --files, aber benutze den Null Charakter als Trenner"
-#: src/xz/message.c:1126
+#: src/xz/message.c:1121
msgid ""
"\n"
" Basic file format and compression options:\n"
@@ -562,76 +534,62 @@ msgstr ""
"\n"
" Grundlegende Optionen für Dateiformat und Kompression:\n"
-#: src/xz/message.c:1128
+#: 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=FMT Dateiformat zur Kodierung oder Dekodierung; "
-"mögliche\n"
-" Werte sind `auto' (Voreinstellung), `xz', `lzma' "
-"und\n"
+" -F, --format=FMT Dateiformat zur Kodierung oder Dekodierung; mögliche\n"
+" Werte sind `auto' (Voreinstellung), `xz', `lzma' und\n"
" `raw'\n"
-" -C, --check=CHECK Typ des Integritätschecks: `none' (Vorsicht), "
-"`crc32',\n"
+" -C, --check=CHECK Typ des Integritätschecks: `none' (Vorsicht), `crc32',\n"
" `crc64' (Voreinstellung), oder `sha256'"
-#: src/xz/message.c:1135
+#: 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!"
+" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
+" decompressor memory usage into account before using 7-9!"
msgstr ""
-" -0 .. -9 Kompressionseinstellung; Voreinstellung is 6. "
-"Beachten\n"
-" Sie den Speicherverbrauch des Komprimieres *und* "
-"des\n"
+" -0 .. -9 Kompressionseinstellung; Voreinstellung is 6. Beachten\n"
+" Sie den Speicherverbrauch des Komprimieres *und* des\n"
" Dekomprimierers, wenn Sie 7-9 benutzen!"
-#: src/xz/message.c:1139
+#: src/xz/message.c:1134
msgid ""
-" -e, --extreme try to improve compression ratio by using more CPU "
-"time;\n"
+" -e, --extreme try to improve compression ratio by using more CPU time;\n"
" does not affect decompressor memory requirements"
msgstr ""
-" -e, --extreme Versuche durch stärkere CPU Nutzung das "
-"Kompressions-\n"
+" -e, --extreme Versuche durch stärkere CPU Nutzung das Kompressions-\n"
" verhältnis zu verbessern. Das beeinflusst nicht den\n"
" Speicherbedarf des Dekomprimierers."
-#: src/xz/message.c:1144
+#: 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"
+" 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 Setze Speicher Nutzungslimit für Kompression,\n"
-" Dekompression, oder beides; LIMIT ist in bytes, % "
-"RAM,\n"
+" Dekompression, oder beides; LIMIT ist in bytes, % RAM,\n"
" oder 0 für Grundeinstellungen."
-#: src/xz/message.c:1151
+#: 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"
+" --no-adjust if compression settings exceed the memory usage limit,\n"
+" give an error instead of adjusting the settings downwards"
msgstr ""
" --no-adjust Wenn die Kompressionseinstellungen das Speicher\n"
-" Nutzungslimit übersteigen, erzeuge einen Fehler "
-"statt\n"
+" Nutzungslimit übersteigen, erzeuge einen Fehler statt\n"
" die Einstellungen nach unten anzupassen."
-#: src/xz/message.c:1157
+#: src/xz/message.c:1152
msgid ""
"\n"
" Custom filter chain for compression (alternative for using presets):"
@@ -639,13 +597,11 @@ msgstr ""
"\n"
" User-definierte Filter Kette für Kompression (alternativ zu Voreinstellung):"
-#: src/xz/message.c:1166
+#: 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"
+" --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"
@@ -653,37 +609,28 @@ msgid ""
" 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)"
+" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n"
+" depth=NUM maximum search depth; 0=automatic (default)"
msgstr ""
"\n"
" --lzma1[=OPTIONEN] LZMA1 oder LZMA2; OPTIONEN ist eine durch Kommata\n"
-" --lzma2[=OPTIONEN] getrennte Liste bestehend aus den folgenden "
-"Optionen\n"
+" --lzma2[=OPTIONEN] getrennte Liste bestehend aus den folgenden Optionen\n"
" (zulässige Werte; Voreinstellung):\n"
-" preset=NUM Setze Optionen zurück zu "
-"Voreinstellung\n"
+" preset=NUM Setze Optionen zurück zu Voreinstellung\n"
" (0-9[e])\n"
-" dict=NUM Wörterbuch Größe (4 KiB - 1536 MiB; 8 "
-"MiB)\n"
-" lc=NUM Anzahl der Literal Kontext Bits (0-4; "
-"3)\n"
-" lp=NUM Anzahl der Literal Positionsbits (0-4; "
-"0)\n"
+" dict=NUM Wörterbuch Größe (4 KiB - 1536 MiB; 8 MiB)\n"
+" lc=NUM Anzahl der Literal Kontext Bits (0-4; 3)\n"
+" lp=NUM Anzahl der Literal Positionsbits (0-4; 0)\n"
" pb=NUM Anzahl der Positionsbits (0-4; 2)\n"
-" mode=MODUS Kompressionsmodus (fast, normal; "
-"normal)\n"
+" mode=MODUS Kompressionsmodus (fast, normal; normal)\n"
" nice=NUM Nice-Länge eines Treffers (2-273; 64)\n"
" mf=NAME Algorithmus zum Auffinden von\n"
-" Übereinstimmungen (hc3, hc4, bt2, bt3, "
-"bt4;\n"
+" Übereinstimmungen (hc3, hc4, bt2, bt3, bt4;\n"
" bt4)\n"
" depth=NUM Maximale Suchtiefe; 0=automatisch\n"
" (Voreinstellung)"
-#: src/xz/message.c:1181
+#: src/xz/message.c:1176
msgid ""
"\n"
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
@@ -706,7 +653,7 @@ msgstr ""
" start=NUM Start-Offset für Konversion\n"
" (Voreinstellung=0)"
-#: src/xz/message.c:1193
+#: src/xz/message.c:1188
msgid ""
"\n"
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
@@ -716,11 +663,10 @@ msgstr ""
"\n"
" --delta[=OPTIONEN] Delta Filter; zulässige Optionen (gültige Werte;\n"
" Voreinstellung):\n"
-" dist=NUM Abstand zwischen den Bytes, die "
-"voneinander\n"
+" dist=NUM Abstand zwischen den Bytes, die voneinander\n"
" subtrahiert werden (1-256; 1)"
-#: src/xz/message.c:1201
+#: src/xz/message.c:1196
msgid ""
"\n"
" Other options:\n"
@@ -728,37 +674,33 @@ msgstr ""
"\n"
" Andere Optionen:\n"
-#: src/xz/message.c:1204
+#: src/xz/message.c:1199
msgid ""
-" -q, --quiet suppress warnings; specify twice to suppress errors "
-"too\n"
+" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
" -v, --verbose be verbose; specify twice for even more verbose"
msgstr ""
" -q, --quiet unterdrücke Warnungen; benutze diese Option zweimal\n"
" um auch Fehlermeldungen zu unterdrücken\n"
-" -v, --verbose sei gesprächig; benutze diese Option zweimal um "
-"noch\n"
+" -v, --verbose sei gesprächig; benutze diese Option zweimal um noch\n"
" gesprächiger zu sein"
-#: src/xz/message.c:1209
+#: src/xz/message.c:1204
msgid " -Q, --no-warn make warnings not affect the exit status"
msgstr " -Q, --no-warn Warnungen verändern nicht den exit status"
-#: src/xz/message.c:1211
-msgid ""
-" --robot use machine-parsable messages (useful for scripts)"
+#: src/xz/message.c:1206
+msgid " --robot use machine-parsable messages (useful for scripts)"
msgstr ""
" --robot benutze Maschinen-lesbare Meldungen (nützlich für\n"
" Skripte)"
-#: src/xz/message.c:1214
+#: src/xz/message.c:1209
msgid ""
-" --info-memory display the total amount of RAM and the currently "
-"active\n"
+" --info-memory display the total amount of RAM and the currently active\n"
" memory usage limits, and exit"
msgstr " --info-memory zeige Speicherlimit an und terminiere"
-#: src/xz/message.c:1217
+#: 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"
@@ -767,21 +709,20 @@ msgstr ""
" Optionen)\n"
" -H, --long-help zeige diese lange Hilfe an und terminiere"
-#: src/xz/message.c:1221
+#: 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 zeige diese kurze Hilfe an und terminiere\n"
-" -H, --long-help zeige die lange Hilfe an (zeigt auch "
-"fortgeschrittene\n"
+" -H, --long-help zeige die lange Hilfe an (zeigt auch fortgeschrittene\n"
" Optionen an)"
-#: src/xz/message.c:1226
+#: src/xz/message.c:1221
msgid " -V, --version display the version number and exit"
msgstr " -V, --version zeige Versionsnummer an und terminiere"
-#: src/xz/message.c:1228
+#: src/xz/message.c:1223
msgid ""
"\n"
"With no FILE, or when FILE is -, read standard input.\n"
@@ -794,15 +735,14 @@ msgstr ""
#. for this package. Please add _another line_ saying
#. "Report translation bugs to <...>\n" with the email or WWW
#. address for translation bugs. Thanks.
-#: src/xz/message.c:1234
+#: src/xz/message.c:1229
#, c-format
msgid "Report bugs to <%s> (in English or Finnish).\n"
msgstr ""
"Melde Bugs an <%s> (in englisch oder finnisch).\n"
-"Melde Übersetzungsfehler an <maan@systemlinux.org> (in englisch oder "
-"deutsch).\n"
+"Melde Übersetzungsfehler an <maan@systemlinux.org> (in englisch oder deutsch).\n"
-#: src/xz/message.c:1236
+#: src/xz/message.c:1231
#, c-format
msgid "%s home page: <%s>\n"
msgstr "%s Homepage: <%s>\n"
@@ -810,9 +750,7 @@ msgstr "%s Homepage: <%s>\n"
#: src/xz/options.c:86
#, c-format
msgid "%s: Options must be `name=value' pairs separated with commas"
-msgstr ""
-"%s: Optionen müssen in der Form `Name=Wert` gegeben werden, getrennt durch "
-"Kommata"
+msgstr "%s: Optionen müssen in der Form `Name=Wert` gegeben werden, getrennt durch Kommata"
#: src/xz/options.c:93
#, c-format
@@ -836,17 +774,12 @@ msgstr "Die Summe aus lc und lp darf höchstens 4 sein"
#: src/xz/options.c:359
#, c-format
msgid "The selected match finder requires at least nice=%<PRIu32>"
-msgstr ""
-"Der ausgewählte Algorithmus zum Auffinden von Übereinstimmungen braucht "
-"mindestens nice=%<PRIu32>"
+msgstr "Der ausgewählte Algorithmus zum Auffinden von Übereinstimmungen braucht mindestens nice=%<PRIu32>"
#: src/xz/suffix.c:79 src/xz/suffix.c:164
#, c-format
-msgid ""
-"%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
-msgstr ""
-"%s: Mit --format=raw ist --sufix=.SUF notwendig, falls nicht nach stdout "
-"geschrieben wird"
+msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
+msgstr "%s: Mit --format=raw ist --sufix=.SUF notwendig, falls nicht nach stdout geschrieben wird"
#: src/xz/suffix.c:99
#, c-format
diff --git a/po/it.po b/po/it.po
index 8e096dd4eaef..4f9ef0ddd483 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,10 +7,11 @@ msgid ""
msgstr ""
"Project-Id-Version: xz-utils\n"
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
-"POT-Creation-Date: 2010-09-10 14:50+0300\n"
+"POT-Creation-Date: 2010-10-23 17:48+0300\n"
"PO-Revision-Date: 2010-09-16 21:32+0200\n"
"Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
+"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -43,9 +44,7 @@ msgstr "Il numero massimo di filtri è quattro"
#: src/xz/coder.c:108
msgid "Memory usage limit is too low for the given filter setup."
-msgstr ""
-"Il limite dell'uso della memoria è troppo basso per l'impostazione del "
-"filtro dato."
+msgstr "Il limite dell'uso della memoria è troppo basso per l'impostazione del filtro dato."
#: src/xz/coder.c:129
msgid "Using a preset in raw mode is discouraged."
@@ -53,8 +52,7 @@ msgstr "Non è consigliato usare un preset nella modalità raw."
#: src/xz/coder.c:131
msgid "The exact options of the presets may vary between software versions."
-msgstr ""
-"Le opzioni esatte per i preset possono variare tra le versioni del software."
+msgstr "Le opzioni esatte per i preset possono variare tra le versioni del software."
#: src/xz/coder.c:157
msgid "The .lzma format supports only the LZMA1 filter"
@@ -75,12 +73,8 @@ msgstr "L'estrazione necessita di %s MiB di memoria."
#: 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 ""
-"Regolata la dimensione del dizionario LZMA%c da %s MiB a %s MiB per non "
-"superare il limite dell'uso della memoria di %s MiB"
+msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB"
+msgstr "Regolata la dimensione del dizionario LZMA%c da %s MiB a %s MiB per non superare il limite dell'uso della memoria di %s MiB"
#. TRANSLATORS: When compression or decompression finishes,
#. and xz is going to remove the source file, xz first checks
@@ -160,8 +154,7 @@ msgstr "%s: chiusura del file non riuscita: %s"
#: src/xz/file_io.c:762 src/xz/file_io.c:946
#, c-format
msgid "%s: Seeking failed when trying to create a sparse file: %s"
-msgstr ""
-"%s: posizionamento non riuscito nel tentativo di creare un file sparso: %s"
+msgstr "%s: posizionamento non riuscito nel tentativo di creare un file sparso: %s"
#: src/xz/file_io.c:821
#, c-format
@@ -212,7 +205,7 @@ msgstr "Nessuno"
#. 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.
+#. you need space for one extra letter, but don't use spaces.
#: src/xz/list.c:69
msgid "Unknown-2"
msgstr "Sconosc2"
@@ -320,12 +313,10 @@ msgstr " Padding dello stream: %s\n"
#: src/xz/list.c:693
msgid ""
" Streams:\n"
-" Stream Blocks CompOffset UncompOffset CompSize "
-"UncompSize Ratio Check Padding"
+" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding"
msgstr ""
"Stream:\n"
-" Stream Blocc. Offset comp. Offset estr. Dim. comp. Dim. "
-"estratto Rapp. Contr Padding"
+" Stream Blocc. Offset comp. Offset estr. Dim. comp. Dim. estratto Rapp. Contr Padding"
#. TRANSLATORS: The second line is column headings. All
#. except Check are right aligned; Check is left aligned.
@@ -333,12 +324,10 @@ msgstr ""
#, c-format
msgid ""
" Blocks:\n"
-" Stream Block CompOffset UncompOffset TotalSize "
-"UncompSize Ratio Check"
+" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check"
msgstr ""
" Blocchi:\n"
-" Stream Blocc. Offset comp. Offset estratto Dim. tot. Dim. "
-"estratto Rapp. Contr"
+" Stream Blocc. Offset comp. Offset estratto Dim. tot. Dim. estratto Rapp. Contr"
#. TRANSLATORS: These are additional column headings
#. for the most verbose listing mode. CheckVal
@@ -408,80 +397,69 @@ msgstr "%s: fine dell'input durante la lettura dei nomi dei file non attesa"
#: 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: nessun carattere trovato durante la lettura dei nomi dei file; forse si "
-"intendeva usare \"--files0\" invece di \"--files\"?"
+msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?"
+msgstr "%s: nessun carattere trovato durante la lettura dei nomi dei file; forse si intendeva usare \"--files0\" invece di \"--files\"?"
#: src/xz/main.c:174
msgid "Compression and decompression with --robot are not supported yet."
msgstr "La compressione e l'estrazione con --robot non sono ancora supportate."
#: src/xz/main.c:231
-msgid ""
-"Cannot read data from standard input when reading filenames from standard "
-"input"
-msgstr ""
-"Impossibile leggere i dati dallo standard input durante la lettura dei nomi "
-"dei file dallo standard input"
+msgid "Cannot read data from standard input when reading filenames from standard input"
+msgstr "Impossibile leggere i dati dallo standard input durante la lettura dei nomi dei file dallo standard input"
-#: src/xz/message.c:800 src/xz/message.c:844
+#: src/xz/message.c:792 src/xz/message.c:842
msgid "Internal error (bug)"
msgstr "Errore interno (bug)"
-#: src/xz/message.c:807
+#: src/xz/message.c:799
msgid "Cannot establish signal handlers"
msgstr "Impossibile stabilire i gestori dei segnali"
-#: src/xz/message.c:816
+#: src/xz/message.c:808
msgid "No integrity check; not verifying file integrity"
-msgstr ""
-"Nessun controllo d'integrità; l'integrità del file non viene verificata"
+msgstr "Nessun controllo d'integrità; l'integrità del file non viene verificata"
-#: src/xz/message.c:819
+#: src/xz/message.c:811
msgid "Unsupported type of integrity check; not verifying file integrity"
-msgstr ""
-"Tipo di controllo di integrità non supportato; l'integrità del file non "
-"viene verificata"
+msgstr "Tipo di controllo di integrità non supportato; l'integrità del file non viene verificata"
-#: src/xz/message.c:826
+#: src/xz/message.c:818
msgid "Memory usage limit reached"
msgstr "Limite di utilizzo della memoria raggiunto"
-#: src/xz/message.c:829
+#: src/xz/message.c:821
msgid "File format not recognized"
msgstr "Formato di file non riconosciuto"
-#: src/xz/message.c:832
+#: src/xz/message.c:824
msgid "Unsupported options"
msgstr "Opzioni non supportate"
-#: src/xz/message.c:835
+#: src/xz/message.c:827
msgid "Compressed data is corrupt"
msgstr "I dati compressi sono danneggiati"
-#: src/xz/message.c:838
+#: src/xz/message.c:830
msgid "Unexpected end of input"
msgstr "Fine dell'input non attesa"
-#: src/xz/message.c:886
+#: src/xz/message.c:881
#, c-format
msgid "%s MiB of memory is required. The limit is %s."
msgstr "%s MiB di memoria sono richiesti. Il limite è %s."
-#: src/xz/message.c:1053
+#: src/xz/message.c:1048
#, c-format
msgid "%s: Filter chain: %s\n"
msgstr "%s: catena di filtri: %s\n"
-#: src/xz/message.c:1063
+#: src/xz/message.c:1058
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Provare \"%s --help\" per maggiori informazioni."
-#: src/xz/message.c:1089
+#: src/xz/message.c:1084
#, c-format
msgid ""
"Usage: %s [OPTION]... [FILE]...\n"
@@ -492,18 +470,15 @@ msgstr ""
"Comprime o estrae i FILE nel formato .xz.\n"
"\n"
-#: src/xz/message.c:1096
-msgid ""
-"Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle "
-"brevi.\n"
+#: src/xz/message.c:1091
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle brevi.\n"
-#: src/xz/message.c:1100
+#: src/xz/message.c:1095
msgid " Operation mode:\n"
msgstr " Modalità di operazione:\n"
-#: src/xz/message.c:1103
+#: src/xz/message.c:1098
msgid ""
" -z, --compress force compression\n"
" -d, --decompress force decompression\n"
@@ -515,7 +490,7 @@ msgstr ""
" -t, --test Verifica l'integrità dei file compressi\n"
" -l, --list Elenca informazioni sui file .xz"
-#: src/xz/message.c:1109
+#: src/xz/message.c:1104
msgid ""
"\n"
" Operation modifiers:\n"
@@ -523,40 +498,35 @@ msgstr ""
"\n"
" Modificatori di operazioni:\n"
-#: src/xz/message.c:1112
+#: 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 Mantiene (non elimina) i file di input\n"
-" -f, --force Forza la sovrascrittura dell'output e comprime/estrae "
-"i\n"
+" -f, --force Forza la sovrascrittura dell'output e comprime/estrae i\n"
" collegamenti\n"
-" -c, --stdout Scrive sullo standard output e non elimina i file di "
-"input"
+" -c, --stdout Scrive sullo standard output e non elimina i file di input"
-#: src/xz/message.c:1118
+#: 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"
+" filenames must be terminated with the newline character\n"
" --files0[=FILE] like --files but use the null character as terminator"
msgstr ""
" --no-sparse Non crea file sparsi durante l'estrazione\n"
" -S, --suffix=.SUF Usa il suffisso \".SUF\" sui file compressi\n"
" --files=[FILE] Legge i nomi dei file da elaborare da FILE; se FILE è\n"
-" omesso, i nomi dei file sono letti dallo standard "
-"input;\n"
-" i nomi dei file devono essere terminati con un "
-"carattere\n"
+" omesso, i nomi dei file sono letti dallo standard input;\n"
+" i nomi dei file devono essere terminati con un carattere\n"
" di newline\n"
" --files0=[FILE] Come --files ma usa il carattere null come terminatore"
-#: src/xz/message.c:1126
+#: src/xz/message.c:1121
msgid ""
"\n"
" Basic file format and compression options:\n"
@@ -564,76 +534,62 @@ msgstr ""
"\n"
" Formato file di base e opzioni di compressione:\n"
-#: src/xz/message.c:1128
+#: 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=FMT Formato file per codificare o decodificare; i "
-"possibili\n"
-" valori sono \"auto\" (predefinito) \"xz\", \"lzma\" e "
-"\"raw\"\n"
-" -C, --check=CHECK Tipo di verifica integrità: \"none\" (usare con "
-"attenzione),\n"
+" -F, --format=FMT Formato file per codificare o decodificare; i possibili\n"
+" valori sono \"auto\" (predefinito) \"xz\", \"lzma\" e \"raw\"\n"
+" -C, --check=CHECK Tipo di verifica integrità: \"none\" (usare con attenzione),\n"
" \"crc32\", \"crc64\" (predefinito) o \"sha256\""
-#: src/xz/message.c:1135
+#: 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!"
+" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
+" decompressor memory usage into account before using 7-9!"
msgstr ""
-" -0 ... -9 Preset di compressione; predefinito è 6; tenere a "
-"mente\n"
-" l'utilizzo di memoria per comprimere ed estrarre "
-"prima\n"
+" -0 ... -9 Preset di compressione; predefinito è 6; tenere a mente\n"
+" l'utilizzo di memoria per comprimere ed estrarre prima\n"
" di usare 7-9"
-#: src/xz/message.c:1139
+#: src/xz/message.c:1134
msgid ""
-" -e, --extreme try to improve compression ratio by using more CPU "
-"time;\n"
+" -e, --extreme try to improve compression ratio by using more CPU time;\n"
" does not affect decompressor memory requirements"
msgstr ""
" -e, --extreme Tenta di migliorare il rapporto di compressione\n"
-" utilizzando più tempo di CPU; non cambia i requisiti "
-"di\n"
+" utilizzando più tempo di CPU; non cambia i requisiti di\n"
" memoria in fase di estrazione"
-#: src/xz/message.c:1144
+#: 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"
+" 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"
" Imposta il limite di utilizzo della memoria per la\n"
-" compressione, l'estrazione o entrambe; LIMIT è in "
-"byte,\n"
+" compressione, l'estrazione o entrambe; LIMIT è in byte,\n"
" % della memoria RAM oppure 0 per il valore predefinito"
-#: src/xz/message.c:1151
+#: 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"
+" --no-adjust if compression settings exceed the memory usage limit,\n"
+" give an error instead of adjusting the settings downwards"
msgstr ""
-" --no-adjust Se le impostazioni di compressione eccedono il limite "
-"di\n"
+" --no-adjust Se le impostazioni di compressione eccedono il limite di\n"
" utilizzo della memoria, lancia un errore invece di\n"
" utilizzare valori più piccoli"
-#: src/xz/message.c:1157
+#: src/xz/message.c:1152
msgid ""
"\n"
" Custom filter chain for compression (alternative for using presets):"
@@ -642,13 +598,11 @@ msgstr ""
" Catena di filtri personalizzati per la compressione (alternative per\n"
" l'utilizzo di preset):"
-#: src/xz/message.c:1166
+#: 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"
+" --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"
@@ -656,24 +610,17 @@ msgid ""
" 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)"
+" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n"
+" depth=NUM maximum search depth; 0=automatic (default)"
msgstr ""
"\n"
-" --lzma1[=OPZ] LZMA1 o LZMA2; OPZ è un elenco separato da virgole di "
-"zero\n"
-" --lzma2[=OPZ] o più delle seguenti opzioni (valori validi; "
-"predefinito):\n"
-" preset=NUM Reimposta le opzioni al preset NUM (0-9"
-"[e])\n"
+" --lzma1[=OPZ] LZMA1 o LZMA2; OPZ è un elenco separato da virgole di zero\n"
+" --lzma2[=OPZ] o più delle seguenti opzioni (valori validi; predefinito):\n"
+" preset=NUM Reimposta le opzioni al preset NUM (0-9[e])\n"
" dict=NUM Dimensione del dizionario\n"
" (4KiB - 1536MiB; 8MiB)\n"
-" lc=NUM Numero di bit letterali di contesto (0-4; "
-"3)\n"
-" lp=NUM Numero di bit letterali di posizione (0-"
-"4; 0)\n"
+" lc=NUM Numero di bit letterali di contesto (0-4; 3)\n"
+" lp=NUM Numero di bit letterali di posizione (0-4; 0)\n"
" pb=NUM Numero di bit di posizione (0-4; 2)\n"
" mode=MODE Modalità di compressione\n"
" (fast, normal; normal)\n"
@@ -681,11 +628,10 @@ msgstr ""
" (2-273; 64)\n"
" mf=NAME Strumento per cercare corrispondenze\n"
" (hc3, hc4, bt2, bt3, bt4; bt4)\n"
-" depth=NUM Profondità massima di ricerca; "
-"0=automatica\n"
+" depth=NUM Profondità massima di ricerca; 0=automatica\n"
" (predefinito)"
-#: src/xz/message.c:1181
+#: src/xz/message.c:1176
msgid ""
"\n"
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
@@ -708,7 +654,7 @@ msgstr ""
" start=NUM Offset iniziale per le conversioni\n"
" (predefinito=0)"
-#: src/xz/message.c:1193
+#: src/xz/message.c:1188
msgid ""
"\n"
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
@@ -720,7 +666,7 @@ msgstr ""
" dist=NUM Distanza tra byte sottratti\n"
" gli uni dagli altri (1-256; 1)"
-#: src/xz/message.c:1201
+#: src/xz/message.c:1196
msgid ""
"\n"
" Other options:\n"
@@ -728,39 +674,33 @@ msgstr ""
"\n"
" Altre opzioni:\n"
-#: src/xz/message.c:1204
+#: src/xz/message.c:1199
msgid ""
-" -q, --quiet suppress warnings; specify twice to suppress errors "
-"too\n"
+" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
" -v, --verbose be verbose; specify twice for even more verbose"
msgstr ""
-" -q, --quiet Sopprime gli avvisi; specificare due volte per "
-"sopprimere\n"
+" -q, --quiet Sopprime gli avvisi; specificare due volte per sopprimere\n"
" anche gli errori\n"
-" -v, --verbose Output prolisso; specificare due volte per output "
-"ancora\n"
+" -v, --verbose Output prolisso; specificare due volte per output ancora\n"
" più prolisso"
-#: src/xz/message.c:1209
+#: src/xz/message.c:1204
msgid " -Q, --no-warn make warnings not affect the exit status"
msgstr " -Q, --no-warn Gli avvisi non influenzano lo stato d'uscita"
-#: src/xz/message.c:1211
-msgid ""
-" --robot use machine-parsable messages (useful for scripts)"
+#: src/xz/message.c:1206
+msgid " --robot use machine-parsable messages (useful for scripts)"
msgstr " --robot Usa messaggi analizzabili (utile per gli script)"
-#: src/xz/message.c:1214
+#: src/xz/message.c:1209
msgid ""
-" --info-memory display the total amount of RAM and the currently "
-"active\n"
+" --info-memory display the total amount of RAM and the currently active\n"
" memory usage limits, and exit"
msgstr ""
-" --info-memory Visualizza la quantità totale di RAM, il limite "
-"attuale\n"
+" --info-memory Visualizza la quantità totale di RAM, il limite attuale\n"
" attivo di utilizzo della memore ed esce"
-#: src/xz/message.c:1217
+#: 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"
@@ -768,7 +708,7 @@ msgstr ""
" -h, --help Stampa l'aiuto breve (elenca solo le opzioni di base)\n"
" -H, --long-help Stampa questo lungo aiuto ed esce"
-#: src/xz/message.c:1221
+#: 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)"
@@ -776,11 +716,11 @@ msgstr ""
" -h, --help Stampa questo breve aiuto ed esce\n"
" -H, --long-help Stampa l'aiuto lungo (elenca anche le opzioni avanzate)"
-#: src/xz/message.c:1226
+#: src/xz/message.c:1221
msgid " -V, --version display the version number and exit"
msgstr " -V, --version Stampa il numero della versione ed esce"
-#: src/xz/message.c:1228
+#: src/xz/message.c:1223
msgid ""
"\n"
"With no FILE, or when FILE is -, read standard input.\n"
@@ -792,14 +732,14 @@ msgstr ""
#. for this package. Please add _another line_ saying
#. "Report translation bugs to <...>\n" with the email or WWW
#. address for translation bugs. Thanks.
-#: src/xz/message.c:1234
+#: src/xz/message.c:1229
#, c-format
msgid "Report bugs to <%s> (in English or Finnish).\n"
msgstr ""
"Segnalare i bug a <%s> (in inglese o finlandese).\n"
"Segnalare i bug di traduzione a <tp@lists.linux.it>.\n"
-#: src/xz/message.c:1236
+#: src/xz/message.c:1231
#, c-format
msgid "%s home page: <%s>\n"
msgstr "Sito web di %s: <%s>\n"
@@ -807,8 +747,7 @@ msgstr "Sito web di %s: <%s>\n"
#: src/xz/options.c:86
#, c-format
msgid "%s: Options must be `name=value' pairs separated with commas"
-msgstr ""
-"%s: le opzioni devono essere coppie \"nome=valore\" separate da virgole"
+msgstr "%s: le opzioni devono essere coppie \"nome=valore\" separate da virgole"
#: src/xz/options.c:93
#, c-format
@@ -832,17 +771,12 @@ msgstr "La somma di lc e lp non deve superare 4"
#: src/xz/options.c:359
#, c-format
msgid "The selected match finder requires at least nice=%<PRIu32>"
-msgstr ""
-"Lo strumento per cercare corrispondenze selezionato richiede almeno nice=%"
-"<PRIu32>"
+msgstr "Lo strumento per cercare corrispondenze selezionato richiede almeno nice=%<PRIu32>"
#: src/xz/suffix.c:79 src/xz/suffix.c:164
#, c-format
-msgid ""
-"%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
-msgstr ""
-"%s: con --format=raw, --suffix=.SUF è richiesto a meno che non si scriva "
-"sullo stdout"
+msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
+msgstr "%s: con --format=raw, --suffix=.SUF è richiesto a meno che non si scriva sullo stdout"
#: src/xz/suffix.c:99
#, c-format
@@ -871,15 +805,12 @@ msgstr "%s: suffisso del moltiplicatore non valido"
#: src/xz/util.c:105
msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)."
-msgstr ""
-"I suffissi validi sono \"KiB\" (2^10), \"MiB\" (2^20), e \"GiB\" (2^30)."
+msgstr "I suffissi validi sono \"KiB\" (2^10), \"MiB\" (2^20), e \"GiB\" (2^30)."
#: src/xz/util.c:122
#, c-format
msgid "Value of the option `%s' must be in the range [%<PRIu64>, %<PRIu64>]"
-msgstr ""
-"Il valore dell'opzione \"%s\" deve essere nell'intervallo [%<PRIu64>, %"
-"<PRIu64>]"
+msgstr "Il valore dell'opzione \"%s\" deve essere nell'intervallo [%<PRIu64>, %<PRIu64>]"
#: src/xz/util.c:247
msgid "Empty filename, skipping"
diff --git a/po/xz.pot b/po/xz.pot
new file mode 100644
index 000000000000..80631f6bc844
--- /dev/null
+++ b/po/xz.pot
@@ -0,0 +1,736 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
+"POT-Creation-Date: 2010-10-23 17:48+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#: src/xz/args.c:333
+#, c-format
+msgid "%s: Unknown file format type"
+msgstr ""
+
+#: src/xz/args.c:356 src/xz/args.c:364
+#, c-format
+msgid "%s: Unsupported integrity check type"
+msgstr ""
+
+#: src/xz/args.c:382
+msgid "Only one file can be specified with `--files' or `--files0'."
+msgstr ""
+
+#: src/xz/args.c:445
+#, c-format
+msgid "The environment variable %s contains too many arguments"
+msgstr ""
+
+#: src/xz/coder.c:95
+msgid "Maximum number of filters is four"
+msgstr ""
+
+#: src/xz/coder.c:108
+msgid "Memory usage limit is too low for the given filter setup."
+msgstr ""
+
+#: src/xz/coder.c:129
+msgid "Using a preset in raw mode is discouraged."
+msgstr ""
+
+#: src/xz/coder.c:131
+msgid "The exact options of the presets may vary between software versions."
+msgstr ""
+
+#: src/xz/coder.c:157
+msgid "The .lzma format supports only the LZMA1 filter"
+msgstr ""
+
+#: src/xz/coder.c:165
+msgid "LZMA1 cannot be used with the .xz format"
+msgstr ""
+
+#: src/xz/coder.c:182
+msgid "Unsupported filter chain or filter options"
+msgstr ""
+
+#: src/xz/coder.c:190
+#, c-format
+msgid "Decompression will need %s MiB of memory."
+msgstr ""
+
+#: 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 ""
+
+#. 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 ""
+
+#: src/xz/file_io.c:144 src/xz/file_io.c:590
+#, c-format
+msgid "%s: Cannot remove: %s"
+msgstr ""
+
+#: src/xz/file_io.c:169
+#, c-format
+msgid "%s: Cannot set the file owner: %s"
+msgstr ""
+
+#: src/xz/file_io.c:175
+#, c-format
+msgid "%s: Cannot set the file group: %s"
+msgstr ""
+
+#: src/xz/file_io.c:194
+#, c-format
+msgid "%s: Cannot set the file permissions: %s"
+msgstr ""
+
+#: src/xz/file_io.c:337 src/xz/file_io.c:420
+#, c-format
+msgid "%s: Is a symbolic link, skipping"
+msgstr ""
+
+#: src/xz/file_io.c:455
+#, c-format
+msgid "%s: Is a directory, skipping"
+msgstr ""
+
+#: src/xz/file_io.c:462
+#, c-format
+msgid "%s: Not a regular file, skipping"
+msgstr ""
+
+#: src/xz/file_io.c:479
+#, c-format
+msgid "%s: File has setuid or setgid bit set, skipping"
+msgstr ""
+
+#: src/xz/file_io.c:486
+#, c-format
+msgid "%s: File has sticky bit set, skipping"
+msgstr ""
+
+#: src/xz/file_io.c:493
+#, c-format
+msgid "%s: Input file has more than one hard link, skipping"
+msgstr ""
+
+#: src/xz/file_io.c:714
+#, c-format
+msgid "Error restoring the O_APPEND flag to standard output: %s"
+msgstr ""
+
+#: src/xz/file_io.c:726
+#, c-format
+msgid "%s: Closing the file failed: %s"
+msgstr ""
+
+#: src/xz/file_io.c:762 src/xz/file_io.c:946
+#, c-format
+msgid "%s: Seeking failed when trying to create a sparse file: %s"
+msgstr ""
+
+#: src/xz/file_io.c:821
+#, c-format
+msgid "%s: Read error: %s"
+msgstr ""
+
+#: src/xz/file_io.c:844
+#, c-format
+msgid "%s: Error seeking the file: %s"
+msgstr ""
+
+#: src/xz/file_io.c:854
+#, c-format
+msgid "%s: Unexpected end of file"
+msgstr ""
+
+#: src/xz/file_io.c:904
+#, c-format
+msgid "%s: Write error: %s"
+msgstr ""
+
+#: src/xz/hardware.c:100
+msgid "Disabled"
+msgstr ""
+
+#. 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 ""
+
+#: src/xz/hardware.c:121
+msgid "Memory usage limit for compression: "
+msgstr ""
+
+#: src/xz/hardware.c:123
+msgid "Memory usage limit for decompression: "
+msgstr ""
+
+#. 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 ""
+
+#. 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 ""
+
+#: src/xz/list.c:70
+msgid "Unknown-3"
+msgstr ""
+
+#: src/xz/list.c:72
+msgid "Unknown-5"
+msgstr ""
+
+#: src/xz/list.c:73
+msgid "Unknown-6"
+msgstr ""
+
+#: src/xz/list.c:74
+msgid "Unknown-7"
+msgstr ""
+
+#: src/xz/list.c:75
+msgid "Unknown-8"
+msgstr ""
+
+#: src/xz/list.c:76
+msgid "Unknown-9"
+msgstr ""
+
+#: src/xz/list.c:78
+msgid "Unknown-11"
+msgstr ""
+
+#: src/xz/list.c:79
+msgid "Unknown-12"
+msgstr ""
+
+#: src/xz/list.c:80
+msgid "Unknown-13"
+msgstr ""
+
+#: src/xz/list.c:81
+msgid "Unknown-14"
+msgstr ""
+
+#: src/xz/list.c:82
+msgid "Unknown-15"
+msgstr ""
+
+#: src/xz/list.c:126
+#, c-format
+msgid "%s: File is empty"
+msgstr ""
+
+#: src/xz/list.c:131
+#, c-format
+msgid "%s: Too small to be a valid .xz file"
+msgstr ""
+
+#. 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 ""
+
+#: src/xz/list.c:652
+#, c-format
+msgid " Streams: %s\n"
+msgstr ""
+
+#: src/xz/list.c:654
+#, c-format
+msgid " Blocks: %s\n"
+msgstr ""
+
+#: src/xz/list.c:656
+#, c-format
+msgid " Compressed size: %s\n"
+msgstr ""
+
+#: src/xz/list.c:659
+#, c-format
+msgid " Uncompressed size: %s\n"
+msgstr ""
+
+#: src/xz/list.c:662
+#, c-format
+msgid " Ratio: %s\n"
+msgstr ""
+
+#: src/xz/list.c:664
+#, c-format
+msgid " Check: %s\n"
+msgstr ""
+
+#: src/xz/list.c:665
+#, c-format
+msgid " Stream padding: %s\n"
+msgstr ""
+
+#. 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 ""
+
+#. 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 ""
+
+#. 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 ""
+
+#: src/xz/list.c:838 src/xz/list.c:1007
+#, c-format
+msgid " Memory needed: %s MiB\n"
+msgstr ""
+
+#: src/xz/list.c:840 src/xz/list.c:1009
+#, c-format
+msgid " Sizes in headers: %s\n"
+msgstr ""
+
+#: src/xz/list.c:841 src/xz/list.c:1010
+msgid "Yes"
+msgstr ""
+
+#: src/xz/list.c:841 src/xz/list.c:1010
+msgid "No"
+msgstr ""
+
+#. 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] ""
+msgstr[1] ""
+
+#: src/xz/list.c:999
+msgid "Totals:"
+msgstr ""
+
+#: src/xz/list.c:1000
+#, c-format
+msgid " Number of files: %s\n"
+msgstr ""
+
+#: src/xz/list.c:1072
+msgid "--list works only on .xz files (--format=xz or --format=auto)"
+msgstr ""
+
+#: src/xz/list.c:1078
+msgid "--list does not support reading from standard input"
+msgstr ""
+
+#: src/xz/main.c:89
+#, c-format
+msgid "%s: Error reading filenames: %s"
+msgstr ""
+
+#: src/xz/main.c:96
+#, c-format
+msgid "%s: Unexpected end of input when reading filenames"
+msgstr ""
+
+#: 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 ""
+
+#: src/xz/main.c:174
+msgid "Compression and decompression with --robot are not supported yet."
+msgstr ""
+
+#: src/xz/main.c:231
+msgid "Cannot read data from standard input when reading filenames from standard input"
+msgstr ""
+
+#: src/xz/message.c:792 src/xz/message.c:842
+msgid "Internal error (bug)"
+msgstr ""
+
+#: src/xz/message.c:799
+msgid "Cannot establish signal handlers"
+msgstr ""
+
+#: src/xz/message.c:808
+msgid "No integrity check; not verifying file integrity"
+msgstr ""
+
+#: src/xz/message.c:811
+msgid "Unsupported type of integrity check; not verifying file integrity"
+msgstr ""
+
+#: src/xz/message.c:818
+msgid "Memory usage limit reached"
+msgstr ""
+
+#: src/xz/message.c:821
+msgid "File format not recognized"
+msgstr ""
+
+#: src/xz/message.c:824
+msgid "Unsupported options"
+msgstr ""
+
+#: src/xz/message.c:827
+msgid "Compressed data is corrupt"
+msgstr ""
+
+#: src/xz/message.c:830
+msgid "Unexpected end of input"
+msgstr ""
+
+#: src/xz/message.c:881
+#, c-format
+msgid "%s MiB of memory is required. The limit is %s."
+msgstr ""
+
+#: src/xz/message.c:1048
+#, c-format
+msgid "%s: Filter chain: %s\n"
+msgstr ""
+
+#: src/xz/message.c:1058
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr ""
+
+#: src/xz/message.c:1084
+#, c-format
+msgid ""
+"Usage: %s [OPTION]... [FILE]...\n"
+"Compress or decompress FILEs in the .xz format.\n"
+"\n"
+msgstr ""
+
+#: src/xz/message.c:1091
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+
+#: src/xz/message.c:1095
+msgid " Operation mode:\n"
+msgstr ""
+
+#: 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 ""
+
+#: src/xz/message.c:1104
+msgid ""
+"\n"
+" Operation modifiers:\n"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: src/xz/message.c:1121
+msgid ""
+"\n"
+" Basic file format and compression options:\n"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: src/xz/message.c:1152
+msgid ""
+"\n"
+" Custom filter chain for compression (alternative for using presets):"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: src/xz/message.c:1196
+msgid ""
+"\n"
+" Other options:\n"
+msgstr ""
+
+#: 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 ""
+
+#: src/xz/message.c:1204
+msgid " -Q, --no-warn make warnings not affect the exit status"
+msgstr ""
+
+#: src/xz/message.c:1206
+msgid " --robot use machine-parsable messages (useful for scripts)"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: src/xz/message.c:1221
+msgid " -V, --version display the version number and exit"
+msgstr ""
+
+#: src/xz/message.c:1223
+msgid ""
+"\n"
+"With no FILE, or when FILE is -, read standard input.\n"
+msgstr ""
+
+#. 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 ""
+
+#: src/xz/message.c:1231
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr ""
+
+#: src/xz/options.c:86
+#, c-format
+msgid "%s: Options must be `name=value' pairs separated with commas"
+msgstr ""
+
+#: src/xz/options.c:93
+#, c-format
+msgid "%s: Invalid option name"
+msgstr ""
+
+#: src/xz/options.c:113
+#, c-format
+msgid "%s: Invalid option value"
+msgstr ""
+
+#: src/xz/options.c:247
+#, c-format
+msgid "Unsupported LZMA1/LZMA2 preset: %s"
+msgstr ""
+
+#: src/xz/options.c:355
+msgid "The sum of lc and lp must not exceed 4"
+msgstr ""
+
+#: src/xz/options.c:359
+#, c-format
+msgid "The selected match finder requires at least nice=%<PRIu32>"
+msgstr ""
+
+#: src/xz/suffix.c:79 src/xz/suffix.c:164
+#, c-format
+msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
+msgstr ""
+
+#: src/xz/suffix.c:99
+#, c-format
+msgid "%s: Filename has an unknown suffix, skipping"
+msgstr ""
+
+#: src/xz/suffix.c:154
+#, c-format
+msgid "%s: File already has `%s' suffix, skipping"
+msgstr ""
+
+#: src/xz/suffix.c:205
+#, c-format
+msgid "%s: Invalid filename suffix"
+msgstr ""
+
+#: src/xz/util.c:61
+#, c-format
+msgid "%s: Value is not a non-negative decimal integer"
+msgstr ""
+
+#: src/xz/util.c:103
+#, c-format
+msgid "%s: Invalid multiplier suffix"
+msgstr ""
+
+#: src/xz/util.c:105
+msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)."
+msgstr ""
+
+#: src/xz/util.c:122
+#, c-format
+msgid "Value of the option `%s' must be in the range [%<PRIu64>, %<PRIu64>]"
+msgstr ""
+
+#: src/xz/util.c:247
+msgid "Empty filename, skipping"
+msgstr ""
+
+#: src/xz/util.c:261
+msgid "Compressed data cannot be read from a terminal"
+msgstr ""
+
+#: src/xz/util.c:274
+msgid "Compressed data cannot be written to a terminal"
+msgstr ""
+
+#: src/common/tuklib_exit.c:39
+msgid "Writing to standard output failed"
+msgstr ""
+
+#: src/common/tuklib_exit.c:42
+msgid "Unknown error"
+msgstr ""
diff --git a/src/common/sysdefs.h b/src/common/sysdefs.h
index 1e138b1c2e79..c74c6212cff5 100644
--- a/src/common/sysdefs.h
+++ b/src/common/sysdefs.h
@@ -24,6 +24,11 @@
# include <config.h>
#endif
+// Get standard-compliant stdio functions under MinGW and MinGW-w64.
+#ifdef __MINGW32__
+# define __USE_MINGW_ANSI_STDIO 1
+#endif
+
// size_t and NULL
#include <stddef.h>
diff --git a/src/liblzma/api/lzma.h b/src/liblzma/api/lzma.h
index fb593a35a07e..fb874c3e1377 100644
--- a/src/liblzma/api/lzma.h
+++ b/src/liblzma/api/lzma.h
@@ -60,8 +60,8 @@
*
* Some could argue that liblzma API should provide all the required types,
* for example lzma_uint64, LZMA_UINT64_C(n), and LZMA_UINT64_MAX. This was
- * seen unnecessary mess, since most systems already provide all the necessary
- * types and macros in the standard headers.
+ * seen as an unnecessary mess, since most systems already provide all the
+ * necessary types and macros in the standard headers.
*
* Note that liblzma API still has lzma_bool, because using stdbool.h would
* break C89 and C++ programs on many systems. sizeof(bool) in C99 isn't
diff --git a/src/liblzma/api/lzma/base.h b/src/liblzma/api/lzma/base.h
index 993626a4cdfd..43dde8d60f3d 100644
--- a/src/liblzma/api/lzma/base.h
+++ b/src/liblzma/api/lzma/base.h
@@ -281,21 +281,21 @@ typedef enum {
* Using LZMA_SYNC_FLUSH very often can dramatically reduce
* the compression ratio. With some filters (for example,
* LZMA2), fine-tuning the compression options may help
- * mitigate this problem significantly.
+ * mitigate this problem significantly (for example,
+ * match finder with LZMA2).
*
* Decoders don't support LZMA_SYNC_FLUSH.
*/
LZMA_FULL_FLUSH = 2,
/**<
- * \brief Make all the input available at output
+ * \brief Finish encoding of the current Block
*
- * Finish encoding of the current Block. All the input
- * data going to the current Block must have been given
- * to the encoder (the last bytes can still be pending in
- * next_in). Call lzma_code() with LZMA_FULL_FLUSH until
- * it returns LZMA_STREAM_END. Then continue normally with
- * LZMA_RUN or finish the Stream with LZMA_FINISH.
+ * All the input data going to the current Block must have
+ * been given to the encoder (the last bytes can still be
+ * pending in* next_in). Call lzma_code() with LZMA_FULL_FLUSH
+ * until it returns LZMA_STREAM_END. Then continue normally
+ * with LZMA_RUN or finish the Stream with LZMA_FINISH.
*
* This action is currently supported only by Stream encoder
* and easy encoder (which uses Stream encoder). If there is
@@ -306,12 +306,12 @@ typedef enum {
/**<
* \brief Finish the coding operation
*
- * Finishes the coding operation. All the input data must
- * have been given to the encoder (the last bytes can still
- * be pending in next_in). Call lzma_code() with LZMA_FINISH
- * until it returns LZMA_STREAM_END. Once LZMA_FINISH has
- * been used, the amount of input must no longer be changed
- * by the application.
+ * All the input data must have been given to the encoder
+ * (the last bytes can still be pending in next_in).
+ * Call lzma_code() with LZMA_FINISH until it returns
+ * LZMA_STREAM_END. Once LZMA_FINISH has been used,
+ * the amount of input must no longer be changed by
+ * the application.
*
* When decoding, using LZMA_FINISH is optional unless the
* LZMA_CONCATENATED flag was used when the decoder was
@@ -478,8 +478,12 @@ typedef struct {
*/
void *reserved_ptr1;
void *reserved_ptr2;
+ void *reserved_ptr3;
+ void *reserved_ptr4;
uint64_t reserved_int1;
uint64_t reserved_int2;
+ size_t reserved_int3;
+ size_t reserved_int4;
lzma_reserved_enum reserved_enum1;
lzma_reserved_enum reserved_enum2;
@@ -506,7 +510,8 @@ typedef struct {
*/
#define LZMA_STREAM_INIT \
{ NULL, 0, 0, NULL, 0, 0, NULL, NULL, \
- NULL, NULL, 0, 0, LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM }
+ NULL, NULL, NULL, NULL, 0, 0, 0, 0, \
+ LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM }
/**
@@ -554,11 +559,11 @@ extern LZMA_API(void) lzma_end(lzma_stream *strm) lzma_nothrow;
* this may give misleading information if decoding .xz Streams that have
* multiple Blocks, because each Block can have different memory requirements.
*
- * \return Rough estimate of how much memory is currently allocated
- * for the filter decoders. If no filter chain is currently
- * allocated, some non-zero value is still returned, which is
- * less than or equal to what any filter chain would indicate
- * as its memory requirement.
+ * \return How much memory is currently allocated for the filter
+ * decoders. If no filter chain is currently allocated,
+ * some non-zero value is still returned, which is less than
+ * or equal to what any filter chain would indicate as its
+ * memory requirement.
*
* If this function isn't supported by *strm or some other error
* occurs, zero is returned.
diff --git a/src/liblzma/api/lzma/bcj.h b/src/liblzma/api/lzma/bcj.h
index 82e4a440b218..8e37538ad4af 100644
--- a/src/liblzma/api/lzma/bcj.h
+++ b/src/liblzma/api/lzma/bcj.h
@@ -31,7 +31,7 @@
#define LZMA_FILTER_IA64 LZMA_VLI_C(0x06)
/**<
- * Filter for IA64 (Itanium) binaries.
+ * Filter for IA-64 (Itanium) binaries.
*/
#define LZMA_FILTER_ARM LZMA_VLI_C(0x07)
@@ -41,7 +41,7 @@
#define LZMA_FILTER_ARMTHUMB LZMA_VLI_C(0x08)
/**<
- * Filter for ARMThumb binaries.
+ * Filter for ARM-Thumb binaries.
*/
#define LZMA_FILTER_SPARC LZMA_VLI_C(0x09)
diff --git a/src/liblzma/api/lzma/block.h b/src/liblzma/api/lzma/block.h
index 8e681ed2811b..3019bf916fec 100644
--- a/src/liblzma/api/lzma/block.h
+++ b/src/liblzma/api/lzma/block.h
@@ -318,8 +318,8 @@ extern LZMA_API(lzma_ret) lzma_block_header_encode(
* The size of the Block Header must have already been decoded with
* lzma_block_header_size_decode() macro and stored to block->header_size.
*
- * block->filters must have been allocated, but not necessarily initialized.
- * Possible existing filter options are _not_ freed.
+ * block->filters must have been allocated, but they don't need to be
+ * initialized (possible existing filter options are not freed).
*
* \param block Destination for Block options.
* \param allocator lzma_allocator for custom allocator functions.
diff --git a/src/liblzma/api/lzma/container.h b/src/liblzma/api/lzma/container.h
index 0d907650fc49..83e70b44f220 100644
--- a/src/liblzma/api/lzma/container.h
+++ b/src/liblzma/api/lzma/container.h
@@ -55,13 +55,13 @@
*
* This flag doesn't affect the memory usage requirements of the decoder (at
* least not significantly). The memory usage of the encoder may be increased
- * a little but only at the lowest preset levels (0-2).
+ * a little but only at the lowest preset levels (0-3).
*/
#define LZMA_PRESET_EXTREME (UINT32_C(1) << 31)
/**
- * \brief Calculate rough memory usage of easy encoder
+ * \brief Calculate approximate memory usage of easy encoder
*
* This function is a wrapper for lzma_raw_encoder_memusage().
*
@@ -72,7 +72,7 @@ extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset)
/**
- * \brief Calculate rough decoder memory usage of a preset
+ * \brief Calculate approximate decoder memory usage of a preset
*
* This function is a wrapper for lzma_raw_decoder_memusage().
*
@@ -93,16 +93,19 @@ extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset)
* \param preset Compression preset to use. A preset consist of level
* number and zero or more flags. Usually flags aren't
* used, so preset is simply a number [0, 9] which match
- * the options -0 .. -9 of the xz command line tool.
+ * the options -0 ... -9 of the xz command line tool.
* Additional flags can be be set using bitwise-or with
* the preset level number, e.g. 6 | LZMA_PRESET_EXTREME.
* \param check Integrity check type to use. See check.h for available
- * checks. If you are unsure, use LZMA_CHECK_CRC32.
+ * checks. The xz command line tool defaults to
+ * LZMA_CHECK_CRC64, which is a good choice if you are
+ * unsure. LZMA_CHECK_CRC32 is good too as long as the
+ * uncompressed file is not many gigabytes.
*
* \return - LZMA_OK: Initialization succeeded. Use lzma_code() to
* encode your data.
* - LZMA_MEM_ERROR: Memory allocation failed.
- * - LZMA_OPTIONS_ERROR: The given compression level is not
+ * - LZMA_OPTIONS_ERROR: The given compression preset is not
* supported by this build of liblzma.
* - LZMA_UNSUPPORTED_CHECK: The given check type is not
* supported by this liblzma build.
@@ -310,7 +313,8 @@ extern LZMA_API(lzma_ret) lzma_stream_buffer_encode(
* \brief Initialize .xz Stream decoder
*
* \param strm Pointer to properly prepared lzma_stream
- * \param memlimit Rough memory usage limit as bytes
+ * \param memlimit Memory usage limit as bytes. Use UINT64_MAX
+ * to effectively disable the limiter.
* \param flags Bitwise-or of zero or more of the decoder flags:
* LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK,
* LZMA_TELL_ANY_CHECK, LZMA_CONCATENATED
@@ -318,6 +322,7 @@ extern LZMA_API(lzma_ret) lzma_stream_buffer_encode(
* \return - LZMA_OK: Initialization was successful.
* - LZMA_MEM_ERROR: Cannot allocate memory.
* - LZMA_OPTIONS_ERROR: Unsupported flags
+ * - LZMA_PROG_ERROR
*/
extern LZMA_API(lzma_ret) lzma_stream_decoder(
lzma_stream *strm, uint64_t memlimit, uint32_t flags)
@@ -332,12 +337,14 @@ extern LZMA_API(lzma_ret) lzma_stream_decoder(
* of the input file has been detected.
*
* \param strm Pointer to properly prepared lzma_stream
- * \param memlimit Rough memory usage limit as bytes
+ * \param memlimit Memory usage limit as bytes. Use UINT64_MAX
+ * to effectively disable the limiter.
* \param flags Bitwise-or of flags, or zero for no flags.
*
* \return - LZMA_OK: Initialization was successful.
* - LZMA_MEM_ERROR: Cannot allocate memory.
* - LZMA_OPTIONS_ERROR: Unsupported flags
+ * - LZMA_PROG_ERROR
*/
extern LZMA_API(lzma_ret) lzma_auto_decoder(
lzma_stream *strm, uint64_t memlimit, uint32_t flags)
@@ -353,6 +360,7 @@ extern LZMA_API(lzma_ret) lzma_auto_decoder(
*
* \return - LZMA_OK
* - LZMA_MEM_ERROR
+ * - LZMA_PROG_ERROR
*/
extern LZMA_API(lzma_ret) lzma_alone_decoder(
lzma_stream *strm, uint64_t memlimit)
@@ -379,7 +387,7 @@ extern LZMA_API(lzma_ret) lzma_alone_decoder(
* won't be read is in[in_size].
* \param out Beginning of the output buffer
* \param out_pos The next byte will be written to out[*out_pos].
- * *out_pos is updated only if encoding succeeds.
+ * *out_pos is updated only if decoding succeeds.
* \param out_size Size of the out buffer; the first byte into
* which no data is written to is out[out_size].
*
diff --git a/src/liblzma/api/lzma/filter.h b/src/liblzma/api/lzma/filter.h
index 038a93398c68..efd036f7f041 100644
--- a/src/liblzma/api/lzma/filter.h
+++ b/src/liblzma/api/lzma/filter.h
@@ -1,6 +1,6 @@
/**
* \file lzma/filter.h
- * \brief Common filter related types
+ * \brief Common filter related types and functions
*/
/*
@@ -59,11 +59,6 @@ typedef struct {
* If the filter doesn't need options, set this to NULL. If id is
* set to LZMA_VLI_UNKNOWN, options is ignored, and thus
* doesn't need be initialized.
- *
- * Some filters support changing the options in the middle of
- * the encoding process. These filters store the pointer of the
- * options structure and communicate with the application via
- * modifications of the options structure.
*/
void *options;
@@ -126,15 +121,16 @@ extern LZMA_API(lzma_ret) lzma_filters_copy(const lzma_filter *src,
/**
- * \brief Calculate rough memory requirements for raw encoder
+ * \brief Calculate approximate memory requirements for raw encoder
*
- * Because the calculation is rough, this function can be used to calculate
- * the memory requirements for Block and Stream encoders too.
+ * This function can be used to calculate the memory requirements for
+ * Block and Stream encoders too because Block and Stream encoders don't
+ * need significantly more memory than raw encoder.
*
* \param filters Array of filters terminated with
* .id == LZMA_VLI_UNKNOWN.
*
- * \return Rough number of bytes of memory required for the given
+ * \return Number of bytes of memory required for the given
* filter chain when encoding.
*/
extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters)
@@ -142,15 +138,16 @@ extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters)
/**
- * \brief Calculate rough memory requirements for raw decoder
+ * \brief Calculate approximate memory requirements for raw decoder
*
- * Because the calculation is rough, this function can be used to calculate
- * the memory requirements for Block and Stream decoders too.
+ * This function can be used to calculate the memory requirements for
+ * Block and Stream decoders too because Block and Stream decoders don't
+ * need significantly more memory than raw decoder.
*
* \param filters Array of filters terminated with
* .id == LZMA_VLI_UNKNOWN.
*
- * \return Rough number of bytes of memory required for the given
+ * \return Number of bytes of memory required for the given
* filter chain when decoding.
*/
extern LZMA_API(uint64_t) lzma_raw_decoder_memusage(const lzma_filter *filters)
@@ -251,7 +248,8 @@ extern LZMA_API(lzma_ret) lzma_filters_update(
*
* \note There is no function to calculate how big output buffer
* would surely be big enough. (lzma_stream_buffer_bound()
- * works only for lzma_stream_buffer_encode().)
+ * works only for lzma_stream_buffer_encode(); raw encoder
+ * won't necessarily meet that bound.)
*/
extern LZMA_API(lzma_ret) lzma_raw_buffer_encode(
const lzma_filter *filters, lzma_allocator *allocator,
@@ -323,9 +321,10 @@ extern LZMA_API(lzma_ret) lzma_properties_size(
* succeeds but using the same options to initialize the encoder
* will fail.
*
- * \note It is OK to skip calling this function if
- * lzma_properties_size() indicated that the size
- * of the Filter Properties field is zero.
+ * \note If lzma_properties_size() indicated that the size
+ * of the Filter Properties field is zero, calling
+ * lzma_properties_encode() is not required, but it
+ * won't do any harm either.
*/
extern LZMA_API(lzma_ret) lzma_properties_encode(
const lzma_filter *filter, uint8_t *props) lzma_nothrow;
@@ -364,11 +363,11 @@ extern LZMA_API(lzma_ret) lzma_properties_decode(
* memory to hold the encoded Filter Flags.
*
* \param size Pointer to integer to hold the calculated size
- * \param filters Filter ID and associated options whose encoded
+ * \param filter Filter ID and associated options whose encoded
* size is to be calculated
*
* \return - LZMA_OK: *size set successfully. Note that this doesn't
- * guarantee that filters->options is valid, thus
+ * guarantee that filter->options is valid, thus
* lzma_filter_flags_encode() may still fail.
* - LZMA_OPTIONS_ERROR: Unknown Filter ID or unsupported options.
* - LZMA_PROG_ERROR: Invalid options
@@ -377,7 +376,7 @@ extern LZMA_API(lzma_ret) lzma_properties_decode(
* you need to loop over every lzma_filter entry.
*/
extern LZMA_API(lzma_ret) lzma_filter_flags_size(
- uint32_t *size, const lzma_filter *filters)
+ uint32_t *size, const lzma_filter *filter)
lzma_nothrow lzma_attr_warn_unused_result;
@@ -387,7 +386,7 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_size(
* In contrast to some functions, this doesn't allocate the needed buffer.
* This is due to how this function is used internally by liblzma.
*
- * \param filters Filter ID and options to be encoded
+ * \param filter Filter ID and options to be encoded
* \param out Beginning of the output buffer
* \param out_pos out[*out_pos] is the next write position. This
* is updated by the encoder.
@@ -399,7 +398,7 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_size(
* buffer space (you should have checked it with
* lzma_filter_flags_size()).
*/
-extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filters,
+extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filter,
uint8_t *out, size_t *out_pos, size_t out_size)
lzma_nothrow lzma_attr_warn_unused_result;
@@ -407,8 +406,8 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filters,
/**
* \brief Decode Filter Flags from given buffer
*
- * The decoded result is stored into *filters. filters->options is
- * initialized but the old value is NOT free()d.
+ * The decoded result is stored into *filter. The old value of
+ * filter->options is not free()d.
*
* \return - LZMA_OK
* - LZMA_OPTIONS_ERROR
@@ -416,6 +415,6 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filters,
* - LZMA_PROG_ERROR
*/
extern LZMA_API(lzma_ret) lzma_filter_flags_decode(
- lzma_filter *filters, lzma_allocator *allocator,
+ lzma_filter *filter, lzma_allocator *allocator,
const uint8_t *in, size_t *in_pos, size_t in_size)
lzma_nothrow lzma_attr_warn_unused_result;
diff --git a/src/liblzma/api/lzma/hardware.h b/src/liblzma/api/lzma/hardware.h
index f44cb602ff90..e7dd03c3e8dd 100644
--- a/src/liblzma/api/lzma/hardware.h
+++ b/src/liblzma/api/lzma/hardware.h
@@ -39,8 +39,7 @@
*
* This function may be useful when determining a reasonable memory
* usage limit for decompressing or how much memory it is OK to use
- * for compressing. For example, the default limit used by the xz
- * command line tool is 40 % of RAM.
+ * for compressing.
*
* \return On success, the total amount of physical memory in bytes
* is returned. If the amount of RAM cannot be determined,
diff --git a/src/liblzma/api/lzma/index.h b/src/liblzma/api/lzma/index.h
index 5ea12e359e5d..16bacc287dfc 100644
--- a/src/liblzma/api/lzma/index.h
+++ b/src/liblzma/api/lzma/index.h
@@ -136,6 +136,13 @@ typedef struct {
*
* This offset is relative to the beginning of the lzma_index
* (i.e. usually the beginning of the .xz file).
+ *
+ * When doing random-access reading, it is possible that
+ * the target offset is not exactly at Block boundary. One
+ * will need to compare the target offset against
+ * uncompressed_file_offset or uncompressed_stream_offset,
+ * and possibly decode and throw away some amount of data
+ * before reaching the target offset.
*/
lzma_vli uncompressed_file_offset;
@@ -166,14 +173,8 @@ typedef struct {
* \brief Uncompressed size of this Block
*
* You should pass this to the Block decoder if you will
- * decode this Block.
- *
- * When doing random-access reading, it is possible that
- * the target offset is not exactly at Block boundary. One
- * will need to compare the target offset against
- * uncompressed_file_offset or uncompressed_stream_offset,
- * and possibly decode and throw away some amount of data
- * before reaching the target offset.
+ * decode this Block. It will allow the Block decoder to
+ * validate the uncompressed size.
*/
lzma_vli uncompressed_size;
@@ -181,7 +182,8 @@ typedef struct {
* \brief Unpadded size of this Block
*
* You should pass this to the Block decoder if you will
- * decode this Block.
+ * decode this Block. It will allow the Block decoder to
+ * validate the unpadded size.
*/
lzma_vli unpadded_size;
@@ -583,7 +585,9 @@ extern LZMA_API(lzma_index *) lzma_index_dup(
* \param strm Pointer to properly prepared lzma_stream
* \param i Pointer to lzma_index which should be encoded.
*
- * The only valid action value for lzma_code() is LZMA_RUN.
+ * The valid `action' values for lzma_code() are LZMA_RUN and LZMA_FINISH.
+ * It is enough to use only one of them (you can choose freely; use LZMA_RUN
+ * to support liblzma versions older than 5.0.0).
*
* \return - LZMA_OK: Initialization succeeded, continue with lzma_code().
* - LZMA_MEM_ERROR
@@ -608,7 +612,9 @@ extern LZMA_API(lzma_ret) lzma_index_encoder(
* \param memlimit How much memory the resulting lzma_index is
* allowed to require.
*
- * The only valid action value for lzma_code() is LZMA_RUN.
+ * The valid `action' values for lzma_code() are LZMA_RUN and LZMA_FINISH.
+ * It is enough to use only one of them (you can choose freely; use LZMA_RUN
+ * to support liblzma versions older than 5.0.0).
*
* \return - LZMA_OK: Initialization succeeded, continue with lzma_code().
* - LZMA_MEM_ERROR
diff --git a/src/liblzma/api/lzma/index_hash.h b/src/liblzma/api/lzma/index_hash.h
index 94726e7beeae..fa2e048d552d 100644
--- a/src/liblzma/api/lzma/index_hash.h
+++ b/src/liblzma/api/lzma/index_hash.h
@@ -1,6 +1,6 @@
/**
* \file lzma/index_hash.h
- * \brief Validates Index by using a hash function
+ * \brief Validate Index by using a hash function
*
* Hashing makes it possible to use constant amount of memory to validate
* Index of arbitrary size.
diff --git a/src/liblzma/api/lzma/lzma.h b/src/liblzma/api/lzma/lzma.h
index 9d31a5ce51bc..8d5fdb6e5cad 100644
--- a/src/liblzma/api/lzma/lzma.h
+++ b/src/liblzma/api/lzma/lzma.h
@@ -46,6 +46,10 @@
* Match finder has major effect on both speed and compression ratio.
* Usually hash chains are faster than binary trees.
*
+ * If you will use LZMA_SYNC_FLUSH often, the hash chains may be a better
+ * choice, because binary trees get much higher compression ratio penalty
+ * with LZMA_SYNC_FLUSH.
+ *
* The memory usage formulas are only rough estimates, which are closest to
* reality when dict_size is a power of two. The formulas are more complex
* in reality, and can also change a little between liblzma versions. Use
@@ -173,6 +177,7 @@ extern LZMA_API(lzma_bool) lzma_mode_is_supported(lzma_mode mode)
* Since LZMA1 and LZMA2 share most of the code, it's simplest to share
* the options structure too. For encoding, all but the reserved variables
* need to be initialized unless specifically mentioned otherwise.
+ * lzma_lzma_preset() can be used to get a good starting point.
*
* For raw decoding, both LZMA1 and LZMA2 need dict_size, preset_dict, and
* preset_dict_size (if preset_dict != NULL). LZMA1 needs also lc, lp, and pb.
@@ -255,7 +260,13 @@ typedef struct {
* eight-bit byte (also known as `literal') are taken into
* account when predicting the bits of the next literal.
*
- * \todo Example
+ * E.g. in typical English text, an upper-case letter is
+ * often followed by a lower-case letter, and a lower-case
+ * letter is usually followed by another lower-case letter.
+ * In the US-ASCII character set, the highest three bits are 010
+ * for upper-case letters and 011 for lower-case letters.
+ * When lc is at least 3, the literal coding can take advantage of
+ * this property in the uncompressed data.
*
* There is a limit that applies to literal context bits and literal
* position bits together: lc + lp <= 4. Without this limit the
@@ -275,12 +286,9 @@ typedef struct {
/**
* \brief Number of literal position bits
*
- * How many of the lowest bits of the current position (number
- * of bytes from the beginning of the uncompressed data) in the
- * uncompressed data is taken into account when predicting the
- * bits of the next literal (a single eight-bit byte).
- *
- * \todo Example
+ * lp affects what kind of alignment in the uncompressed data is
+ * assumed when encoding literals. A literal is a single 8-bit byte.
+ * See pb below for more information about alignment.
*/
uint32_t lp;
# define LZMA_LP_DEFAULT 0
@@ -288,14 +296,22 @@ typedef struct {
/**
* \brief Number of position bits
*
- * How many of the lowest bits of the current position in the
- * uncompressed data is taken into account when estimating
- * probabilities of matches. A match is a sequence of bytes for
- * which a matching sequence is found from the dictionary and
- * thus can be stored as distance-length pair.
+ * pb affects what kind of alignment in the uncompressed data is
+ * assumed in general. The default means four-byte alignment
+ * (2^ pb =2^2=4), which is often a good choice when there's
+ * no better guess.
*
- * Example: If most of the matches occur at byte positions of
- * 8 * n + 3, that is, 3, 11, 19, ... set pb to 3, because 2**3 == 8.
+ * When the aligment is known, setting pb accordingly may reduce
+ * the file size a little. E.g. with text files having one-byte
+ * alignment (US-ASCII, ISO-8859-*, UTF-8), setting pb=0 can
+ * improve compression slightly. For UTF-16 text, pb=1 is a good
+ * choice. If the alignment is an odd number like 3 bytes, pb=0
+ * might be the best choice.
+ *
+ * Even though the assumed alignment can be adjusted with pb and
+ * lp, LZMA1 and LZMA2 still slightly favor 16-byte alignment.
+ * It might be worth taking into account when designing file formats
+ * that are likely to be often compressed with LZMA1 or LZMA2.
*/
uint32_t pb;
# define LZMA_PB_MIN 0
@@ -346,7 +362,7 @@ typedef struct {
*
* Setting depth to zero tells liblzma to use an automatic default
* value, that depends on the selected match finder and nice_len.
- * The default is in the range [10, 200] or so (it may vary between
+ * The default is in the range [4, 200] or so (it may vary between
* liblzma versions).
*
* Using a bigger depth value than the default can increase
@@ -365,8 +381,6 @@ typedef struct {
* with the currently supported options, so it is safe to leave these
* uninitialized.
*/
- void *reserved_ptr1;
- void *reserved_ptr2;
uint32_t reserved_int1;
uint32_t reserved_int2;
uint32_t reserved_int3;
@@ -379,6 +393,8 @@ typedef struct {
lzma_reserved_enum reserved_enum2;
lzma_reserved_enum reserved_enum3;
lzma_reserved_enum reserved_enum4;
+ void *reserved_ptr1;
+ void *reserved_ptr2;
} lzma_options_lzma;
diff --git a/src/liblzma/api/lzma/stream_flags.h b/src/liblzma/api/lzma/stream_flags.h
index d255bdda15f6..bbdd408263ea 100644
--- a/src/liblzma/api/lzma/stream_flags.h
+++ b/src/liblzma/api/lzma/stream_flags.h
@@ -91,8 +91,6 @@ typedef struct {
lzma_reserved_enum reserved_enum2;
lzma_reserved_enum reserved_enum3;
lzma_reserved_enum reserved_enum4;
- lzma_reserved_enum reserved_enum5;
- lzma_reserved_enum reserved_enum6;
lzma_bool reserved_bool1;
lzma_bool reserved_bool2;
lzma_bool reserved_bool3;
@@ -103,8 +101,6 @@ typedef struct {
lzma_bool reserved_bool8;
uint32_t reserved_int1;
uint32_t reserved_int2;
- uint32_t reserved_int3;
- uint32_t reserved_int4;
} lzma_stream_flags;
@@ -148,7 +144,7 @@ extern LZMA_API(lzma_ret) lzma_stream_footer_encode(
/**
* \brief Decode Stream Header
*
- * \param options Stream Header options to be encoded.
+ * \param options Target for the decoded Stream Header options.
* \param in Beginning of the input buffer of
* LZMA_STREAM_HEADER_SIZE bytes.
*
@@ -183,7 +179,7 @@ extern LZMA_API(lzma_ret) lzma_stream_header_decode(
/**
* \brief Decode Stream Footer
*
- * \param options Stream Header options to be encoded.
+ * \param options Target for the decoded Stream Header options.
* \param in Beginning of the input buffer of
* LZMA_STREAM_HEADER_SIZE bytes.
*
diff --git a/src/liblzma/api/lzma/version.h b/src/liblzma/api/lzma/version.h
index 0f7c2d3737db..25e8a8201faf 100644
--- a/src/liblzma/api/lzma/version.h
+++ b/src/liblzma/api/lzma/version.h
@@ -20,10 +20,10 @@
/*
* Version number split into components
*/
-#define LZMA_VERSION_MAJOR 4
-#define LZMA_VERSION_MINOR 999
-#define LZMA_VERSION_PATCH 9
-#define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_BETA
+#define LZMA_VERSION_MAJOR 5
+#define LZMA_VERSION_MINOR 0
+#define LZMA_VERSION_PATCH 0
+#define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE
#ifndef LZMA_VERSION_COMMIT
# define LZMA_VERSION_COMMIT ""
diff --git a/src/liblzma/api/lzma/vli.h b/src/liblzma/api/lzma/vli.h
index 57e3d3882b5e..9ad13f2e2fc4 100644
--- a/src/liblzma/api/lzma/vli.h
+++ b/src/liblzma/api/lzma/vli.h
@@ -29,7 +29,7 @@
/**
- * \brief Maximum supported value of variable-length integer
+ * \brief Maximum supported value of a variable-length integer
*/
#define LZMA_VLI_MAX (UINT64_MAX / 2)
@@ -39,11 +39,10 @@
#define LZMA_VLI_UNKNOWN UINT64_MAX
/**
- * \brief Maximum supported length of variable length integers
+ * \brief Maximum supported encoded length of variable length integers
*/
#define LZMA_VLI_BYTES_MAX 9
-
/**
* \brief VLI constant suffix
*/
@@ -53,19 +52,19 @@
/**
* \brief Variable-length integer type
*
- * This will always be unsigned integer. Valid VLI values are in the range
- * [0, LZMA_VLI_MAX]. Unknown value is indicated with LZMA_VLI_UNKNOWN,
- * which is the maximum value of the underlaying integer type.
+ * Valid VLI values are in the range [0, LZMA_VLI_MAX]. Unknown value is
+ * indicated with LZMA_VLI_UNKNOWN, which is the maximum value of the
+ * underlaying integer type.
*
- * In future, even if lzma_vli is defined to be something other than uint64_t,
- * it is guaranteed that 2 * LZMA_VLI_MAX will not overflow lzma_vli.
- * This simplifies integer overflow detection.
+ * lzma_vli will be uint64_t for the foreseeable future. If a bigger size
+ * is needed in the future, it is guaranteed that 2 * LZMA_VLI_MAX will
+ * not overflow lzma_vli. This simplifies integer overflow detection.
*/
typedef uint64_t lzma_vli;
/**
- * \brief Simple macro to validate variable-length integer
+ * \brief Validate a variable-length integer
*
* This is useful to test that application has given acceptable values
* for example in the uncompressed_size and compressed_size variables.
@@ -88,9 +87,9 @@ typedef uint64_t lzma_vli;
*
* \param vli Integer to be encoded
* \param vli_pos How many VLI-encoded bytes have already been written
- * out. When starting to encode a new integer, *vli_pos
- * must be set to zero. To use single-call encoding,
- * set vli_pos to NULL.
+ * out. When starting to encode a new integer in
+ * multi-call mode, *vli_pos must be set to zero.
+ * To use single-call encoding, set vli_pos to NULL.
* \param out Beginning of the output buffer
* \param out_pos The next byte will be written to out[*out_pos].
* \param out_size Size of the out buffer; the first byte into
@@ -126,9 +125,9 @@ extern LZMA_API(lzma_ret) lzma_vli_encode(lzma_vli vli, size_t *vli_pos,
* initialize it to zero when *vli_pos == 0, so
* application isn't required to initialize *vli.
* \param vli_pos How many bytes have already been decoded. When
- * starting to decode a new integer, *vli_pos must
- * be initialized to zero. To use single-call decoding,
- * set this to NULL.
+ * starting to decode a new integer in multi-call
+ * mode, *vli_pos must be initialized to zero. To
+ * use single-call decoding, set vli_pos to NULL.
* \param in Beginning of the input buffer
* \param in_pos The next byte will be read from in[*in_pos].
* \param in_size Size of the input buffer; the first byte that
diff --git a/src/liblzma/common/common.c b/src/liblzma/common/common.c
index 07b1d4763f69..0408e15328b3 100644
--- a/src/liblzma/common/common.c
+++ b/src/liblzma/common/common.c
@@ -182,6 +182,20 @@ lzma_code(lzma_stream *strm, lzma_action action)
|| !strm->internal->supported_actions[action])
return LZMA_PROG_ERROR;
+ // Check if unsupported members have been set to non-zero or non-NULL,
+ // which would indicate that some new feature is wanted.
+ if (strm->reserved_ptr1 != NULL
+ || strm->reserved_ptr2 != NULL
+ || strm->reserved_ptr3 != NULL
+ || strm->reserved_ptr4 != NULL
+ || strm->reserved_int1 != 0
+ || strm->reserved_int2 != 0
+ || strm->reserved_int3 != 0
+ || strm->reserved_int4 != 0
+ || strm->reserved_enum1 != LZMA_RESERVED_ENUM
+ || strm->reserved_enum2 != LZMA_RESERVED_ENUM)
+ return LZMA_OPTIONS_ERROR;
+
switch (strm->internal->sequence) {
case ISEQ_RUN:
switch (action) {
diff --git a/src/liblzma/common/filter_encoder.c b/src/liblzma/common/filter_encoder.c
index 436d2cc6e424..635d81223472 100644
--- a/src/liblzma/common/filter_encoder.c
+++ b/src/liblzma/common/filter_encoder.c
@@ -226,6 +226,7 @@ lzma_raw_encoder_memusage(const lzma_filter *filters)
}
+/*
extern LZMA_API(lzma_vli)
lzma_chunk_size(const lzma_filter *filters)
{
@@ -247,6 +248,7 @@ lzma_chunk_size(const lzma_filter *filters)
return max;
}
+*/
extern LZMA_API(lzma_ret)
diff --git a/src/liblzma/common/filter_encoder.h b/src/liblzma/common/filter_encoder.h
index a978932def75..5bc137f64584 100644
--- a/src/liblzma/common/filter_encoder.h
+++ b/src/liblzma/common/filter_encoder.h
@@ -16,8 +16,8 @@
#include "common.h"
-// FIXME !!! Public API
-extern lzma_vli lzma_chunk_size(const lzma_filter *filters);
+// FIXME: Might become a part of the public API once finished.
+// extern lzma_vli lzma_chunk_size(const lzma_filter *filters);
extern lzma_ret lzma_raw_encoder_init(
diff --git a/src/liblzma/common/index.c b/src/liblzma/common/index.c
index 3941e28ba724..ddb9d3643623 100644
--- a/src/liblzma/common/index.c
+++ b/src/liblzma/common/index.c
@@ -18,7 +18,7 @@
///
/// This should be big enough to avoid making lots of tiny allocations
/// but small enough to avoid too much unused memory at once.
-#define INDEX_GROUP_SIZE 500
+#define INDEX_GROUP_SIZE 512
/// \brief How many Records can be allocated at once at maximum
diff --git a/src/liblzma/common/index_decoder.c b/src/liblzma/common/index_decoder.c
index 86a22971b064..a6bc650e046c 100644
--- a/src/liblzma/common/index_decoder.c
+++ b/src/liblzma/common/index_decoder.c
@@ -291,6 +291,7 @@ lzma_index_decoder(lzma_stream *strm, lzma_index **i, uint64_t memlimit)
lzma_next_strm_init(index_decoder_init, strm, i, memlimit);
strm->internal->supported_actions[LZMA_RUN] = true;
+ strm->internal->supported_actions[LZMA_FINISH] = true;
return LZMA_OK;
}
diff --git a/src/liblzma/common/index_encoder.c b/src/liblzma/common/index_encoder.c
index 706f1fd79905..c10d7afa06b4 100644
--- a/src/liblzma/common/index_encoder.c
+++ b/src/liblzma/common/index_encoder.c
@@ -209,6 +209,7 @@ lzma_index_encoder(lzma_stream *strm, const lzma_index *i)
lzma_next_strm_init(lzma_index_encoder_init, strm, i);
strm->internal->supported_actions[LZMA_RUN] = true;
+ strm->internal->supported_actions[LZMA_FINISH] = true;
return LZMA_OK;
}
diff --git a/src/liblzma/lzma/lzma2_decoder.c b/src/liblzma/lzma/lzma2_decoder.c
index b4c2f2d5ba70..f38879ce17cd 100644
--- a/src/liblzma/lzma/lzma2_decoder.c
+++ b/src/liblzma/lzma/lzma2_decoder.c
@@ -191,7 +191,6 @@ lzma2_decode(lzma_coder *restrict coder, lzma_dict *restrict dict,
case SEQ_COPY: {
// Copy from input to the dictionary as is.
- // FIXME Can copy too much?
dict_write(dict, in, in_pos, in_size, &coder->compressed_size);
if (coder->compressed_size != 0)
return LZMA_OK;
diff --git a/src/liblzma/lzma/lzma_decoder.c b/src/liblzma/lzma/lzma_decoder.c
index 4329e0199273..9979bb4261b8 100644
--- a/src/liblzma/lzma/lzma_decoder.c
+++ b/src/liblzma/lzma/lzma_decoder.c
@@ -656,7 +656,8 @@ lzma_decode(lzma_coder *restrict coder, lzma_dict *restrict dictptr,
}
case SEQ_EOPM:
- // TODO Comment
+ // LZMA1 stream with
+ // end-of-payload marker.
rc_normalize(SEQ_EOPM);
ret = LZMA_STREAM_END;
goto out;
@@ -856,7 +857,6 @@ lzma_decoder_reset(lzma_coder *coder, const void *opt)
// NOTE: We assume that lc/lp/pb are valid since they were
// successfully decoded with lzma_lzma_decode_properties().
- // FIXME?
// Calculate pos_mask. We don't need pos_bits as is for anything.
coder->pos_mask = (1U << options->pb) - 1;
diff --git a/src/liblzma/lzma/lzma_encoder.c b/src/liblzma/lzma/lzma_encoder.c
index 0fe992d510a1..0b9ee9e15079 100644
--- a/src/liblzma/lzma/lzma_encoder.c
+++ b/src/liblzma/lzma/lzma_encoder.c
@@ -334,7 +334,7 @@ lzma_lzma_encode(lzma_coder *restrict coder, lzma_mf *restrict mf,
// With LZMA2 we need to take care that compressed size of
// a chunk doesn't get too big.
- // TODO
+ // FIXME? Check if this could be improved.
if (limit != UINT32_MAX
&& (mf->read_pos - mf->read_ahead >= limit
|| *out_pos + rc_pending(&coder->rc)
diff --git a/src/xz/message.c b/src/xz/message.c
index 3f2b813d7c7a..38cce4a1b0fd 100644
--- a/src/xz/message.c
+++ b/src/xz/message.c
@@ -77,6 +77,17 @@ static uint64_t start_time;
// gettimeofday().
#ifdef SIGALRM
+const int message_progress_sigs[] = {
+ SIGALRM,
+#ifdef SIGINFO
+ SIGINFO,
+#endif
+#ifdef SIGUSR1
+ SIGUSR1,
+#endif
+ 0
+};
+
/// The signal handler for SIGALRM sets this to true. It is set back to false
/// once the progress message has been updated.
static volatile sig_atomic_t progress_needs_updating = false;
@@ -142,34 +153,15 @@ message_init(void)
*/
#ifdef SIGALRM
- // DJGPP lacks SA_RESTART, but it shouldn't give EINTR
- // in most places either.
-# if defined(__DJGPP__) && !defined(SA_RESTART)
-# define SA_RESTART 0
-# endif
-
// Establish the signal handlers which set a flag to tell us that
- // progress info should be updated. Since these signals don't
- // require any quick action, we set SA_RESTART. That way we don't
- // need to block them either in signals_block() to keep stdio
- // functions from getting EINTR.
- static const int sigs[] = {
- SIGALRM,
-#ifdef SIGINFO
- SIGINFO,
-#endif
-#ifdef SIGUSR1
- SIGUSR1,
-#endif
- };
-
+ // progress info should be updated.
struct sigaction sa;
sigemptyset(&sa.sa_mask);
- sa.sa_flags = SA_RESTART;
+ sa.sa_flags = 0;
sa.sa_handler = &progress_signal_handler;
- for (size_t i = 0; i < ARRAY_SIZE(sigs); ++i)
- if (sigaction(sigs[i], &sa, NULL))
+ for (size_t i = 0; message_progress_sigs[i] != 0; ++i)
+ if (sigaction(message_progress_sigs[i], &sa, NULL))
message_signal_handler();
#endif
@@ -841,10 +833,13 @@ message_strm(lzma_ret code)
case LZMA_STREAM_END:
case LZMA_GET_CHECK:
case LZMA_PROG_ERROR:
- return _("Internal error (bug)");
+ // Without "default", compiler will warn if new constants
+ // are added to lzma_ret, it is not too easy to forget to
+ // add the new constants to this function.
+ break;
}
- return NULL;
+ return _("Internal error (bug)");
}
diff --git a/src/xz/message.h b/src/xz/message.h
index 37e608216886..e3fca3cc42ca 100644
--- a/src/xz/message.h
+++ b/src/xz/message.h
@@ -16,10 +16,14 @@ enum message_verbosity {
V_ERROR, ///< Only error messages
V_WARNING, ///< Errors and warnings
V_VERBOSE, ///< Errors, warnings, and verbose statistics
- V_DEBUG, ///< Debugging, FIXME remove?
+ V_DEBUG, ///< Very verbose
};
+/// \brief Signals used for progress message handling
+extern const int message_progress_sigs[];
+
+
/// \brief Initializes the message functions
///
/// If an error occurs, this function doesn't return.
diff --git a/src/xz/signals.c b/src/xz/signals.c
index 7e65b2a38bf3..4d6a9da31624 100644
--- a/src/xz/signals.c
+++ b/src/xz/signals.c
@@ -71,6 +71,12 @@ signals_init(void)
for (size_t i = 0; i < ARRAY_SIZE(sigs); ++i)
sigaddset(&hooked_signals, sigs[i]);
+#ifdef SIGALRM
+ // Add also the signals from message.c to hooked_signals.
+ for (size_t i = 0; message_progress_sigs[i] != 0; ++i)
+ sigaddset(&hooked_signals, message_progress_sigs[i]);
+#endif
+
struct sigaction sa;
// All the signals that we handle we also blocked while the signal
@@ -142,7 +148,7 @@ signals_exit(void)
const int sig = exit_signal;
if (sig != 0) {
-#ifdef TUKLIB_DOSLIKE
+#if defined(TUKLIB_DOSLIKE) || defined(__VMS)
// Don't raise(), set only exit status. This avoids
// printing unwanted message about SIGINT when the user
// presses C-c.