mirror of
https://github.com/PCSX2/xz.git
synced 2026-02-05 03:41:17 +01:00
Compare commits
14 Commits
v5.1.0alph
...
v5.0.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7232fcf96b | ||
|
|
5fbce0b8d9 | ||
|
|
03ebd1bbb3 | ||
|
|
7bd0a5e7cc | ||
|
|
f71c4e16e9 | ||
|
|
316cbe2446 | ||
|
|
9311774c49 | ||
|
|
4a42aaee28 | ||
|
|
ce56f63c41 | ||
|
|
e6baedddcf | ||
|
|
b7afd3e22a | ||
|
|
3e564704bc | ||
|
|
2964d8d691 | ||
|
|
37c25658ef |
@@ -118,7 +118,7 @@ FULL_PATH_NAMES = YES
|
||||
# If left blank the directory from which doxygen is run is used as the
|
||||
# path to strip.
|
||||
|
||||
STRIP_FROM_PATH =
|
||||
STRIP_FROM_PATH = @top_srcdir@/src
|
||||
|
||||
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
|
||||
# the path mentioned in the documentation of a class, which tells
|
||||
|
||||
@@ -27,6 +27,11 @@ dist_doc_DATA = \
|
||||
doc/xz-file-format.txt \
|
||||
doc/lzma-file-format.txt
|
||||
|
||||
examplesdir = $(docdir)/examples
|
||||
dist_examples_DATA = \
|
||||
doc/examples/xz_pipe_comp.c \
|
||||
doc/examples/xz_pipe_decomp.c
|
||||
|
||||
EXTRA_DIST = \
|
||||
extra \
|
||||
dos \
|
||||
|
||||
14
NEWS
14
NEWS
@@ -2,6 +2,20 @@
|
||||
XZ Utils User-Visible Changes
|
||||
=============================
|
||||
|
||||
5.0.1 (2011-01-29)
|
||||
|
||||
* xz --force now (de)compresses files that have setuid, setgid,
|
||||
or sticky bit set and files that have multiple hard links.
|
||||
The man page had it documented this way already, but the code
|
||||
had a bug.
|
||||
|
||||
* gzip and bzip2 support in xzdiff was fixed.
|
||||
|
||||
* Portability fixes
|
||||
|
||||
* Minor fix to Czech translation
|
||||
|
||||
|
||||
5.0.0 (2010-10-23)
|
||||
|
||||
Only the most important changes compared to 4.999.9beta are listed
|
||||
|
||||
2
THANKS
2
THANKS
@@ -22,6 +22,7 @@ has been important. :-) In alphabetical order:
|
||||
- Gilles Espinasse
|
||||
- Denis Excoffier
|
||||
- Mike Frysinger
|
||||
- Juan Manuel Guerrero
|
||||
- Joachim Henke
|
||||
- Peter Ivanov
|
||||
- Jouk Jansen
|
||||
@@ -46,6 +47,7 @@ has been important. :-) In alphabetical order:
|
||||
- Mikko Pouru
|
||||
- Robert Readman
|
||||
- Bernhard Reutner-Fischer
|
||||
- Cristian Rodríguez
|
||||
- Christian von Roques
|
||||
- Jukka Salmi
|
||||
- Alexandre Sauvé
|
||||
|
||||
@@ -283,7 +283,7 @@ if test "x$enable_assembler" = xyes; then
|
||||
case $host_os in
|
||||
# Darwin should work too but only if not creating universal
|
||||
# binaries. Solaris x86 could work too but I cannot test.
|
||||
linux* | *bsd* | mingw* | cygwin*)
|
||||
linux* | *bsd* | mingw* | cygwin* | *djgpp*)
|
||||
case $host_cpu in
|
||||
i?86) enable_assembler=x86 ;;
|
||||
x86_64) enable_assembler=x86_64 ;;
|
||||
|
||||
88
po/cs.po
88
po/cs.po
@@ -6,8 +6,8 @@ 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"
|
||||
"PO-Revision-Date: 2010-09-17 18:54+0200\n"
|
||||
"POT-Creation-Date: 2010-12-03 11:25+0100\n"
|
||||
"PO-Revision-Date: 2010-12-03 11:32+0100\n"
|
||||
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
||||
"Language-Team: Czech <diskuze@lists.l10n.cz>\n"
|
||||
"Language: cs\n"
|
||||
@@ -160,7 +160,7 @@ msgstr "%s: Selhalo zavření souboru: %s"
|
||||
#, 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"
|
||||
"%s: Selhalo nastavení pozice při pokusu o vytvoření souboru řídké matice: %s"
|
||||
|
||||
#: src/xz/file_io.c:821
|
||||
#, c-format
|
||||
@@ -427,59 +427,59 @@ 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"
|
||||
|
||||
#: 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 +490,18 @@ msgstr ""
|
||||
"Komprimuje nebo dekomprimuje SOUBORy ve formátu xz.\n"
|
||||
"\n"
|
||||
|
||||
#: src/xz/message.c:1096
|
||||
#: 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 +513,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,7 +521,7 @@ 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"
|
||||
@@ -533,7 +533,7 @@ msgstr ""
|
||||
" -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"
|
||||
@@ -543,7 +543,7 @@ msgid ""
|
||||
"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"
|
||||
" --no-sparse nevytvářet při dekomprimaci soubory řídkých matic\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"
|
||||
@@ -553,7 +553,7 @@ msgstr ""
|
||||
" --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 +561,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"
|
||||
@@ -574,7 +574,7 @@ msgstr ""
|
||||
"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"
|
||||
@@ -586,7 +586,7 @@ msgstr ""
|
||||
" 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"
|
||||
@@ -595,7 +595,7 @@ msgstr ""
|
||||
" -e, --extreme zkusit zlepšit poměr komprimace využitím více času\n"
|
||||
" procesoru; nemá vliv na paměťové nároky dekomprimace"
|
||||
|
||||
#: src/xz/message.c:1144
|
||||
#: src/xz/message.c:1139
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
" --memlimit-compress=LIMIT\n"
|
||||
@@ -613,7 +613,7 @@ msgstr ""
|
||||
"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"
|
||||
@@ -624,7 +624,7 @@ msgstr ""
|
||||
"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):"
|
||||
@@ -633,7 +633,7 @@ msgstr ""
|
||||
"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 "
|
||||
@@ -673,7 +673,7 @@ msgstr ""
|
||||
" 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 +695,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"
|
||||
@@ -708,7 +708,7 @@ msgstr ""
|
||||
"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,7 +716,7 @@ 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"
|
||||
@@ -727,18 +727,18 @@ msgstr ""
|
||||
" -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
|
||||
#: 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"
|
||||
@@ -748,7 +748,7 @@ msgstr ""
|
||||
"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"
|
||||
@@ -757,7 +757,7 @@ msgstr ""
|
||||
"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)"
|
||||
@@ -766,11 +766,11 @@ msgstr ""
|
||||
" -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"
|
||||
@@ -783,12 +783,12 @@ msgstr ""
|
||||
#. for this package. Please add _another line_ saying
|
||||
#. "Report translation bugs to <...>\n" with the email or WWW
|
||||
#. address for translation bugs. Thanks.
|
||||
#: src/xz/message.c: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"
|
||||
|
||||
@@ -65,6 +65,9 @@
|
||||
#ifndef PRIu32
|
||||
# define PRIu32 "u"
|
||||
#endif
|
||||
#ifndef PRIx32
|
||||
# define PRIx32 "x"
|
||||
#endif
|
||||
#ifndef PRIX32
|
||||
# define PRIX32 "X"
|
||||
#endif
|
||||
@@ -76,6 +79,9 @@
|
||||
# ifndef PRIu64
|
||||
# define PRIu64 "llu"
|
||||
# endif
|
||||
# ifndef PRIx64
|
||||
# define PRIx64 "llx"
|
||||
# endif
|
||||
# ifndef PRIX64
|
||||
# define PRIX64 "llX"
|
||||
# endif
|
||||
@@ -86,6 +92,9 @@
|
||||
# ifndef PRIu64
|
||||
# define PRIu64 "lu"
|
||||
# endif
|
||||
# ifndef PRIx64
|
||||
# define PRIx64 "lx"
|
||||
# endif
|
||||
# ifndef PRIX64
|
||||
# define PRIX64 "lX"
|
||||
# endif
|
||||
@@ -171,4 +180,10 @@ typedef unsigned char _Bool;
|
||||
# define ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0]))
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) || __GNUC__ > 4
|
||||
# define lzma_attr_alloc_size(x) __attribute__((__alloc_size__(x)))
|
||||
#else
|
||||
# define lzma_attr_alloc_size(x)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -24,7 +24,7 @@ liblzma_la_CPPFLAGS = \
|
||||
-I$(top_srcdir)/src/liblzma/simple \
|
||||
-I$(top_srcdir)/src/common \
|
||||
-DTUKLIB_SYMBOL_PREFIX=lzma_
|
||||
liblzma_la_LDFLAGS = -no-undefined -version-info 5:0:0
|
||||
liblzma_la_LDFLAGS = -no-undefined -version-info 5:1:0
|
||||
|
||||
include $(srcdir)/common/Makefile.inc
|
||||
include $(srcdir)/check/Makefile.inc
|
||||
|
||||
@@ -412,6 +412,9 @@ typedef struct {
|
||||
*
|
||||
* This function is available only if LZMA1 or LZMA2 encoder has been enabled
|
||||
* when building liblzma.
|
||||
*
|
||||
* \return On success, false is returned. If the preset is not
|
||||
* supported, true is returned.
|
||||
*/
|
||||
extern LZMA_API(lzma_bool) lzma_lzma_preset(
|
||||
lzma_options_lzma *options, uint32_t preset) lzma_nothrow;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
*/
|
||||
#define LZMA_VERSION_MAJOR 5
|
||||
#define LZMA_VERSION_MINOR 0
|
||||
#define LZMA_VERSION_PATCH 0
|
||||
#define LZMA_VERSION_PATCH 1
|
||||
#define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE
|
||||
|
||||
#ifndef LZMA_VERSION_COMMIT
|
||||
|
||||
@@ -205,7 +205,7 @@ struct lzma_internal_s {
|
||||
|
||||
/// Allocates memory
|
||||
extern void *lzma_alloc(size_t size, lzma_allocator *allocator)
|
||||
lzma_attribute((malloc));
|
||||
lzma_attribute((malloc)) lzma_attr_alloc_size(1);
|
||||
|
||||
/// Frees memory
|
||||
extern void lzma_free(void *ptr, lzma_allocator *allocator);
|
||||
|
||||
@@ -74,9 +74,9 @@ if test $# -eq 1; then
|
||||
*[-.]xz | *[-.]lzma | *.t[lx]z)
|
||||
;;
|
||||
*[-.]bz2 | *.tbz | *.tbz2)
|
||||
xz1=$bzip2;;
|
||||
xz1=bzip2;;
|
||||
*[-.][zZ] | *_z | *[-.]gz | *.t[ag]z)
|
||||
xz1=$gzip;;
|
||||
xz1=gzip;;
|
||||
*)
|
||||
echo >&2 "$0: $1: Unknown compressed file name suffix"
|
||||
exit 2;;
|
||||
@@ -95,12 +95,12 @@ if test $# -eq 1; then
|
||||
)
|
||||
elif test $# -eq 2; then
|
||||
case $1 in
|
||||
*[-.]bz2 | *.tbz | *.tbz2) xz1=$bzip2;;
|
||||
*[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz1=$gzip;;
|
||||
*[-.]bz2 | *.tbz | *.tbz2) xz1=bzip2;;
|
||||
*[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz1=gzip;;
|
||||
esac
|
||||
case $2 in
|
||||
*[-.]bz2 | *.tbz | *.tbz2) xz2=$bzip2;;
|
||||
*[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz2=$gzip;;
|
||||
*[-.]bz2 | *.tbz | *.tbz2) xz2=bzip2;;
|
||||
*[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz2=gzip;;
|
||||
esac
|
||||
case $1 in
|
||||
*[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
|
||||
|
||||
@@ -457,15 +457,14 @@ io_open_src_real(file_pair *pair)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (reg_files_only) {
|
||||
if (!S_ISREG(pair->src_st.st_mode)) {
|
||||
message_warning(_("%s: Not a regular file, "
|
||||
"skipping"), pair->src_name);
|
||||
goto error;
|
||||
}
|
||||
if (reg_files_only && !S_ISREG(pair->src_st.st_mode)) {
|
||||
message_warning(_("%s: Not a regular file, skipping"),
|
||||
pair->src_name);
|
||||
goto error;
|
||||
}
|
||||
|
||||
// These are meaningless on Windows.
|
||||
#ifndef TUKLIB_DOSLIKE
|
||||
if (reg_files_only && !opt_force) {
|
||||
if (pair->src_st.st_mode & (S_ISUID | S_ISGID)) {
|
||||
// gzip rejects setuid and setgid files even
|
||||
// when --force was used. bzip2 doesn't check
|
||||
@@ -495,8 +494,8 @@ io_open_src_real(file_pair *pair)
|
||||
"skipping"), pair->src_name);
|
||||
goto error;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
return false;
|
||||
|
||||
|
||||
@@ -27,6 +27,30 @@ struct suffix_pair {
|
||||
};
|
||||
|
||||
|
||||
/// \brief Test if the char is a directory separator
|
||||
static bool
|
||||
is_dir_sep(char c)
|
||||
{
|
||||
#ifdef TUKLIB_DOSLIKE
|
||||
return c == '/' || c == '\\' || c == ':';
|
||||
#else
|
||||
return c == '/';
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/// \brief Test if the string contains a directory separator
|
||||
static bool
|
||||
has_dir_sep(const char *str)
|
||||
{
|
||||
#ifdef TUKLIB_DOSLIKE
|
||||
return strpbrk(str, "/\\:") != NULL;
|
||||
#else
|
||||
return strchr(str, '/') != NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/// \brief Checks if src_name has given compressed_suffix
|
||||
///
|
||||
/// \param suffix Filename suffix to look for
|
||||
@@ -44,7 +68,8 @@ test_suffix(const char *suffix, const char *src_name, size_t src_len)
|
||||
// The filename must have at least one character in addition to
|
||||
// the suffix. src_name may contain path to the filename, so we
|
||||
// need to check for directory separator too.
|
||||
if (src_len <= suffix_len || src_name[src_len - suffix_len - 1] == '/')
|
||||
if (src_len <= suffix_len
|
||||
|| is_dir_sep(src_name[src_len - suffix_len - 1]))
|
||||
return 0;
|
||||
|
||||
if (strcmp(suffix, src_name + src_len - suffix_len) == 0)
|
||||
@@ -199,9 +224,9 @@ suffix_get_dest_name(const char *src_name)
|
||||
extern void
|
||||
suffix_set(const char *suffix)
|
||||
{
|
||||
// Empty suffix and suffixes having a slash are rejected. Such
|
||||
// suffixes would break things later.
|
||||
if (suffix[0] == '\0' || strchr(suffix, '/') != NULL)
|
||||
// Empty suffix and suffixes having a directory separator are
|
||||
// rejected. Such suffixes would break things later.
|
||||
if (suffix[0] == '\0' || has_dir_sep(suffix))
|
||||
message_fatal(_("%s: Invalid filename suffix"), optarg);
|
||||
|
||||
// Replace the old custom_suffix (if any) with the new suffix.
|
||||
|
||||
@@ -19,11 +19,12 @@
|
||||
|
||||
|
||||
/// \brief Safe realloc() that never returns NULL
|
||||
extern void *xrealloc(void *ptr, size_t size);
|
||||
extern void *xrealloc(void *ptr, size_t size)
|
||||
lzma_attribute((malloc)) lzma_attr_alloc_size(2);
|
||||
|
||||
|
||||
/// \brief Safe strdup() that never returns NULL
|
||||
extern char *xstrdup(const char *src);
|
||||
extern char *xstrdup(const char *src) lzma_attribute((malloc));
|
||||
|
||||
|
||||
/// \brief Fancy version of strtoull()
|
||||
|
||||
@@ -161,7 +161,7 @@ fi
|
||||
|
||||
# Copy the headers, the .def file, and the docs.
|
||||
# They are the same for all architectures and builds.
|
||||
mkdir -pv pkg/{include/lzma,doc/manuals}
|
||||
mkdir -pv pkg/{include/lzma,doc/{manuals,examples}}
|
||||
txtcp pkg/include "" src/liblzma/api/lzma.h
|
||||
txtcp pkg/include/lzma "" src/liblzma/api/lzma/*.h
|
||||
txtcp pkg/doc "" src/liblzma/liblzma.def
|
||||
@@ -169,6 +169,7 @@ txtcp pkg/doc .txt AUTHORS COPYING NEWS README THANKS TODO
|
||||
txtcp pkg/doc "" doc/*.txt windows/README-Windows.txt
|
||||
txtcp pkg/doc/manuals "" doc/man/txt/{xz,xzdec,lzmainfo}.txt
|
||||
cp -v doc/man/pdf-*/{xz,xzdec,lzmainfo}-*.pdf pkg/doc/manuals
|
||||
txtcp pkg/doc/examples "" doc/examples/*
|
||||
|
||||
if [ -f windows/COPYING-Windows.txt ]; then
|
||||
txtcp pkg/doc "" windows/COPYING-Windows.txt
|
||||
|
||||
Reference in New Issue
Block a user