aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-05-17Add underscores to attributes (__attribute((__foo__))).Lasse Collin25-47/+49
2011-04-18Update THANKS.Lasse Collin1-0/+2
2011-04-18xzgrep: fix typo in $0 parsingMartin Väth1-2/+2
Reported-by: Diego Elio Pettenò <flameeyes@gentoo.org> Signed-off-by: Martin Väth <vaeth@mathematik.uni-wuerzburg.de> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-04-12Remove doubled words from documentation and comments.Lasse Collin6-7/+7
Spot candidates by running these commands: git ls-files |xargs perl -0777 -n \ -e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims)' \ -e '{$n=($` =~ tr/\n/\n/ + 1); ($v=$&)=~s/\n/\\n/g; print "$ARGV:$n:$v\n"}' Thanks to Jim Meyering for the original patch.
2011-04-11liblzma: Document lzma_easy_(enc|dec)oder_memusage() better too.Lasse Collin1-0/+9
2011-04-11liblzma: Document lzma_raw_(enc|dec)oder_memusage() better.Lasse Collin1-2/+6
It didn't mention the return value that is used if an error occurs.
2011-04-11liblzma: Don't create an empty Block in lzma_stream_buffer_encode().Lasse Collin1-7/+13
Empty Block was created if the input buffer was empty. Empty Block wastes a few bytes of space, but more importantly it triggers a bug in XZ Utils 5.0.1 and older when trying to decompress such a file. 5.0.1 and older consider such files to be corrupt. I thought that no encoder creates empty Blocks when releasing 5.0.2 but I was wrong.
2011-04-11liblzma: Fix API docs to mention LZMA_UNSUPPORTED_CHECK.Lasse Collin2-0/+4
This return value was missing from the API comments of four functions.
2011-04-11liblzma: Validate encoder arguments better.Lasse Collin3-6/+20
The biggest problem was that the integrity check type wasn't validated, and e.g. lzma_easy_buffer_encode() would create a corrupt .xz Stream if given an unsupported Check ID. Luckily applications don't usually try to use an unsupport Check ID, so this bug is unlikely to cause many real-world problems.
2011-04-09Update THANKS.Lasse Collin1-0/+1
2011-04-09liblzma: Add missing #ifdefs to filter_common.c.Lasse Collin1-3/+3
Passing --disable-decoders to configure broke a few encoders due to missing #ifdefs in filter_common.c. Thanks to Jason Gorski for the patch.
2011-04-05liblzma: Fix a memory leak in stream_encoder.c.Lasse Collin1-1/+1
It leaks old filter options structures (hundred bytes or so) every time the lzma_stream is reinitialized. With the xz tool, this happens when compressing multiple files.
2011-04-01Bumped version and liblzma soname to 5.0.2.larhzu/v5.0.2Lasse Collin2-2/+2
2011-04-01Updated NEWS for 5.0.2.Lasse Collin1-0/+18
2011-03-31Update INSTALL with another note about IRIX.Lasse Collin1-0/+4
2011-03-31Tests: Add a new file to test empty LZMA2 streams.Lasse Collin2-0/+4
2011-03-31liblzma: Fix decoding of LZMA2 streams having no uncompressed data.Lasse Collin1-4/+4
The decoder considered empty LZMA2 streams to be corrupt. This shouldn't matter much with .xz files, because no encoder creates empty LZMA2 streams in .xz. This bug is more likely to cause problems in applications that use raw LZMA2 streams.
2011-03-24Scripts: Better fix for xzgrep.Lasse Collin1-2/+6
Now it uses "grep -q". Thanks to Gregory Margo.
2011-03-24Updated THANKS.Lasse Collin1-0/+1
2011-03-24Scripts: Fix xzgrep -l.Lasse Collin1-2/+2
It didn't work at all. It tried to use the -q option for grep, but it appended it after "--". This works around it by redirecting to /dev/null. The downside is that this can be slower with big files compared to proper use of "grep -q". Thanks to Gregory Margo.
2011-02-04xz: Clean up suffix.c.Lasse Collin1-24/+20
struct suffix_pair isn't needed in compresed_name() so get rid of it there.
2011-02-04xz: Check if the file already has custom suffix when compressing.Lasse Collin1-0/+9
Now "xz -S .test foo.test" refuses to compress the file because it already has the suffix .test. The man page had it documented this way already.
2011-02-02Updated THANKS.Lasse Collin1-0/+1
2011-02-02Translations: Add Polish translation.Lasse Collin2-0/+826
Thanks to Jakub Bogusz.
2011-02-02Updated THANKS.Lasse Collin1-0/+1
2011-01-28Bump package version and liblzma soname to 5.0.1.larhzu/v5.0.1Lasse Collin2-2/+2
2011-01-28Update NEWS for 5.0.1.Lasse Collin1-0/+14
2011-01-26xz: Fix --force on setuid/setgid/sticky and multi-hardlink files.Lasse Collin1-8/+7
xz didn't compress setuid/setgid/sticky files and files with multiple hard links even with --force. This bug was introduced in 23ac2c44c3ac76994825adb7f9a8f719f78b5ee4. Thanks to Charles Wilson.
2011-01-18Updated THANKS.Lasse Collin1-0/+1
2011-01-18Add alloc_size and malloc attributes to a few functions.Lasse Collin3-3/+10
Thanks to Cristian Rodríguez for the original patch.
2010-12-13Scripts: Fix gzip and bzip2 support in xzdiff.Lasse Collin1-6/+6
2010-12-12Build: Enable ASM on DJGPP by default.Lasse Collin1-1/+1
2010-12-12Updated THANKS.Lasse Collin1-0/+1
2010-12-12Add missing PRIx32 and PRIx64 compatibility definitions.Lasse Collin1-0/+9
This fixes portability to systems that lack C99 inttypes.h. Thanks to Juan Manuel Guerrero.
2010-12-12DOS-like: Treat \ and : as directory separators in addition to /.Lasse Collin1-4/+29
Juan Manuel Guerrero had fixed this in his XZ Utils port to DOS/DJGPP. The bug affects also Windows and OS/2.
2010-12-07Translations: Fix Czech translation of "sparse file".Lasse Collin1-44/+44
Thanks to Petr Hubený and Marek Černocký.
2010-11-15liblzma: Document the return value of lzma_lzma_preset().Lasse Collin1-0/+3
2010-11-13Simplify paths in generated API docsJonathan Nieder1-1/+1
Currently the file list generated by Doxygen has src/ at the beginning of each path. Paths like common/sysdefs.h and liblzma/api/lzma.h are easier to read without such a prefix. Builds from a separate build directory with mkdir build cd build ../configure doxygen Doxyfile include an even longer prefix /home/someone/src/xz/src; this patch has the nice side-effect of eliminating that prefix, too. Fixes: http://bugs.debian.org/572273
2010-10-26Build: Copy the example programs to $docdir/examples.Lasse Collin2-1/+7
The example programs by Daniel Mealha Cabrita were included in the git repository, but I had forgot to add them to Makefile.am. Thus, they didn't get included in the source package at all by "make dist".
2010-10-23Build: Fix mydist rule when .git doesn't exist.larhzu/v5.0.0Lasse Collin1-0/+1
2010-10-23Add NEWS for 5.0.0.Lasse Collin1-0/+62
2010-10-23Bump version to 5.0.0 and liblzma version-info to 5:0:0.Lasse Collin2-5/+5
2010-10-23liblzma: Make lzma_code() check the reserved members in lzma_stream.Lasse Collin1-0/+14
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.
2010-10-23Windows: Use MinGW's stdio functions.Lasse Collin1-0/+5
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.
2010-10-23liblzma: Use 512 as INDEX_GROUP_SIZE.Lasse Collin1-1/+1
This lets compiler use shifting instead of 64-bit division.
2010-10-23liblzma: A few ABI tweaks to reserve space in structures.Lasse Collin3-7/+8
2010-10-21xz: Make sure that message_strm() can never return NULL.Lasse Collin1-2/+5
2010-10-21liblzma: Update the comments in the API headers.Lasse Collin14-107/+136
Adding support for LZMA_FINISH for Index encoding and decoding needed tiny additions to the relevant .c files too.
2010-10-19Update INSTALL.generic.Lasse Collin1-18/+81
2010-10-19Clean up a few FIXMEs and TODOs.Lasse Collin6-7/+8
lzma_chunk_size() was commented out because it is currently useless.
2010-10-19Update docs.Lasse Collin4-143/+172
2010-10-12xz: Avoid raise() also on OpenVMS.Lasse Collin1-1/+1
This is similar to DOS/DJGPP that killing the program with a signal will print a backtrace or a similar message.
2010-10-11xz: Avoid SA_RESTART for portability reasons.Lasse Collin3-23/+25
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.
2010-10-10xz: Use "%"PRIu32 instead of "%d" in a format string.Lasse Collin1-1/+1
2010-10-10test_files.sh: Fix the first line.Lasse Collin1-1/+1
For some reason this prevented running the test only on OS/2 and even on that it broke only recently. Thanks to Elbert Pol.
2010-10-10lzmainfo: Use "%"PRIu32 instead of "%u" for uint32_t.Lasse Collin1-1/+1
2010-10-10lzmainfo: Use fileno(stdin) instead of STDIN_FILENO.Lasse Collin1-1/+1
2010-10-09lzmainfo: Use setmode() on DOS-like systems.Lasse Collin1-0/+9
2010-10-09OS/2 and DOS: Be less verbose on signals.Lasse Collin1-0/+7
Calling raise() to kill xz when user has pressed C-c is a bit verbose on OS/2 and DOS/DJGPP. Instead of calling raise(), set only the exit status to 1.
2010-10-09DOS: Update the Makefile, config.h and README.Lasse Collin3-243/+86
This is now simpler and builds only xz.exe.
2010-10-09Windows: Put some license info into README-Windows.txt.Lasse Collin1-4/+4
2010-10-09Windows: Fix a diagnostics bug in build.bash.Lasse Collin1-1/+1
2010-10-09lzmainfo: Add Windows resource file.Lasse Collin2-0/+21
2010-10-09Add missing public domain notice to lzmadec_w32res.rc.Lasse Collin1-0/+7
2010-10-09Windows: Update common_w32res.rc.Lasse Collin1-6/+3
2010-10-09Windows: Make build.bash prefer MinGW-w32 over MinGW.Lasse Collin1-9/+9
This is simply for licensing reasons. The 64-bit version will be built with MinGW-w64 anyway (at least for now), so using it also for 32-bit build allows using the same copyright notice about the MinGW-w64/w32 runtime. Note that using MinGW would require a copyright notice too, because its runtime is not in the public domain either even though MinGW's home page claims that it is public domain. See <http://marc.info/?l=mingw-users&m=126489506214078>.
2010-10-09Windows: Copy COPYING-Windows.txt (if it exists) to the package.Lasse Collin1-2/+12
Also, put README-Windows.txt to the doc directory like the other documentation files.
2010-10-08Windows: Fix build.bash again.Lasse Collin1-3/+4
630a8beda34af0ac153c8051b1bf01230558e422 wasn't good.
2010-10-08Use LZMA_VERSION_STRING instead of PACKAGE_VERSION.Lasse Collin1-1/+1
Those are the same thing, and the former makes it a bit easier to build the code with other build systems, because one doesn't need to update the version number into custom config.h. This change affects only lzmainfo. Other tools were already using LZMA_VERSION_STRING.
2010-10-08configure.ac: Remove two unused defines.Lasse Collin1-4/+0
2010-10-08Make tests accommodate missing xz or xzdec.Lasse Collin2-19/+56
2010-10-08Build: Add options to disable individual command line tools.Lasse Collin5-40/+93
2010-10-07Windows: Make build.bash work without --enable-dynamic=no.Lasse Collin1-2/+2
2010-10-05Build: Remove the static/dynamic tricks.Lasse Collin6-91/+5
Most distros want xz linked against shared liblzma, so it doesn't help much to require --enable-dynamic for that. Those who want to avoid PIC on x86-32 to get better performance, can still do it e.g. by using --disable-shared to compile xz and then another pass to compile shared liblzma. Part of these static/dynamic tricks were needed for Windows in the past. Nowadays we rely on GCC and binutils to do the right thing with auto-import. If the Autotooled build system needs to support some other toolchain on Windows in the future, this may need some rethinking.
2010-10-05configure.ac: Silence a warning from Autoconf 2.68.Lasse Collin1-1/+1
2010-10-04A few more languages files to the xz man page.Lasse Collin1-21/+24
Thanks to Jonathan Nieder.
2010-10-02Update the FAQ.Lasse Collin1-4/+100
2010-10-02liblzma: Small fixes to comments in the API headers.Lasse Collin1-3/+7
2010-09-28Create the PDF versions of the man pages better.Lasse Collin2-6/+66
2010-09-28Move version.sh to build-aux.Lasse Collin4-4/+4
2010-09-28Update .gitignore.Lasse Collin1-1/+9
2010-09-28Fix accomodate -> accommodate on the xz man page.Lasse Collin1-1/+1
2010-09-27Major man page updates.Lasse Collin7-641/+1435
Lots of content was updated on the xz man page. Technical improvements: - Start a new sentence on a new line. - Use fairly short lines. - Use constant-width font for examples (where supported). - Some minor cleanups. Thanks to Jonathan Nieder for some language fixes.
2010-09-26Fix the preset -3e.Lasse Collin1-0/+1
depth=0 was missing.
2010-09-23Add translations.bash and translation notes to README.Lasse Collin2-4/+192
translations.bash prints some messages from xz, which hopefully makes it a bit easier to test translations.
2010-09-17xz: Update the Czech translation.Lasse Collin1-71/+131
Thanks to Marek Černocký.
2010-09-16xz: Add Italian translation.Lasse Collin3-0/+905
Thanks to Milo Casagrande and Lorenzo De Liso.
2010-09-15xz: Edit a translators comment.Lasse Collin1-1/+1
2010-09-14xz: Add German translation.Lasse Collin3-0/+905
Thanks to Andre Noll.
2010-09-10Updated README.Lasse Collin1-2/+0
2010-09-10Updated INSTALL.Lasse Collin1-3/+4
2010-09-10Updated the git repository address in ChangeLog.Lasse Collin1-1/+1
2010-09-10xz: Add a comment to translators about "literal context bits".Lasse Collin1-0/+4
2010-09-10xz: Multiple fixes.Lasse Collin12-187/+424
The code assumed that printing numbers with thousand separators and decimal points would always produce only US-ASCII characters. This was used for buffer sizes (with snprintf(), no overflows) and aligning columns of the progress indicator and --list. That assumption was wrong (e.g. LC_ALL=fi_FI.UTF-8 with glibc), so multibyte character support was added in this commit. The old way is used if the operating system doesn't have enough multibyte support (e.g. lacks wcwidth()). The sizes of buffers were increased to accomodate multibyte characters. I don't know how big they should be exactly, but they aren't used for anything critical, so it's not too bad. If they still aren't big enough, I hopefully get a bug report. snprintf() takes care of avoiding buffer overflows. Some static buffers were replaced with buffers allocated on stack. double_to_str() was removed. uint64_to_str() and uint64_to_nicestr() now share the static buffer and test for thousand separator support. Integrity check names "None" and "Unknown-N" (2 <= N <= 15) were marked to be translated. I had forgot these, plus they wouldn't have worked correctly anyway before this commit, because printing tables with multibyte strings didn't work. Thanks to Marek Černocký for reporting the bug about misaligned table columns in --list output.
2010-09-08Update the Czech translation.Lasse Collin1-201/+454
Thanks to Marek Černocký.
2010-09-07xz: Add a note to translators.Lasse Collin1-0/+2
2010-09-07Fix use of N_() and ngettext().Lasse Collin2-4/+4
I had somehow thought that N_() is usually used as shorthand for ngettext(). This also fixes a missing \n from a call to ngettext().
2010-09-06Add missing files to POTFILES.in.Lasse Collin1-0/+3
2010-09-06xz: Improve a comment.Lasse Collin1-3/+4
2010-09-05xz: Update the comment about NetBSD in file_io.c.Lasse Collin1-4/+4
Thanks to Joerg Sonnenberger.
2010-09-05xz: Use an array instead of pointer for stdin_filename.Lasse Collin2-2/+2
Thanks Joerg Sonnenberger.
2010-09-05xz: Hopefully ease translating the messages in list.c.Lasse Collin1-10/+23
2010-09-04xz: Fix grammar.Lasse Collin1-2/+1
2010-09-04xz: Use lzma_lzma_preset() to initialize the options structure.Lasse Collin1-12/+2
2010-09-04Don't set lc=4 with --extreme.Lasse Collin1-1/+0
This should reduce the cases where --extreme makes compression worse. On the other hand, some other files may now benefit slightly less from --extreme.
2010-09-04xz: Minor improvements to --help and --long-help.Lasse Collin1-12/+12
2010-09-04Adjust memory limits in test_compress.shJonathan Nieder1-1/+1
Testing compression at level -4 now requires 48 MiB of free store at compression time and 5 MiB at decompression time. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
2010-09-03xz: Make -vv show also decompressor memory usage.Lasse Collin1-0/+7
2010-09-03Tweak the compression presets -0 .. -5.Lasse Collin1-10/+19
"Extreme" mode might need some further tweaking still. Docs were not updated yet.
2010-09-03liblzma: Adjust default depth calculation for HC3 and HC4.Lasse Collin1-3/+4
It was 8 + nice_len / 4, now it is 4 + nice_len / 4. This allows faster settings at lower nice_len values, even though it seems that I won't use automatic depth calcuation with HC3 and HC4 in the presets.
2010-09-03xz: Make --help two lines shorter.Lasse Collin1-2/+5
At least for now, the --help option doesn't list any options that take arguments, so "Mandatory arguments to..." can be omitted.
2010-09-02xz: Make setting a preset override a custom filter chain.Lasse Collin1-0/+9
This is more logical behavior than ignoring preset level options once a custom filter chain has been specified.
2010-09-02xz: Always warn if adjusting dictionary size due to memlimit.Lasse Collin1-19/+9
2010-08-10Fix test_compress.sh.Lasse Collin1-3/+3
It broke when --memory option was removed from xzdec. Thanks to Jonathan Nieder.
2010-08-07Disable the memory usage limiter by default.Lasse Collin10-448/+373
For several people, the limiter causes bigger problems that it solves, so it is better to have it disabled by default. Those who want to have a limiter by default need to enable it via the environment variable XZ_DEFAULTS. Support for environment variable XZ_DEFAULTS was added. It is parsed before XZ_OPT and technically identical with it. The intended uses differ quite a bit though; see the man page. The memory usage limit can now be set separately for compression and decompression using --memlimit-compress and --memlimit-decompress. To set both at once, -M or --memlimit can be used. --memory was retained as a legacy alias for --memlimit for backwards compatibility. The semantics of --info-memory were changed in backwards incompatible way. Compatibility wasn't meaningful due to changes in the memory usage limiter functionality. The memory usage limiter info is no longer shown at the bottom of xz --long -help. The memory usage limiter support for removed completely from xzdec. xz's man page was updated to match the above changes. Various unrelated fixes were also made to the man page.
2010-08-06Add missing const to a global constant in xz.Lasse Collin2-2/+2
2010-07-28Language fixes for man pages.Lasse Collin2-5/+5
Thanks to A. Costa and Jonathan Nieder.
2010-07-27Windows: Add a note about building a Git repository snapshotLasse Collin1-0/+9
2010-07-27Windows: build.sh is a bash script so name it correctly.Lasse Collin3-7/+7
2010-07-27Windows: Don't strip liblzma.a too much.Lasse Collin1-1/+2
2010-07-13Updated THANKS.Lasse Collin1-0/+1
2010-07-13Add two simple example programs.Lasse Collin2-0/+242
Hopefully these help a bit when learning the basics of liblzma API. I plan to write detailed examples about both basic and advanced features with lots of comments, but these two examples are good have right now. The examples were written by Daniel Mealha Cabrita. Thanks.
2010-06-15Add --no-adjust.Lasse Collin5-9/+28
2010-06-11Updated THANKS.Lasse Collin1-0/+1
2010-06-11Clarify the description of the default memlimit in the man page.Lasse Collin1-2/+2
Thanks to Denis Excoffier.
2010-06-11Fix string to uint64_t conversion.Lasse Collin2-4/+19
Thanks to Denis Excoffier for the bug report.
2010-06-11Put the git commit to the filename in mydist rule.Lasse Collin1-1/+5
2010-06-02Fix compiling with -Werror.Lasse Collin1-2/+2
2010-06-02Silence a bogus Valgrind warning.Lasse Collin1-1/+5
When using -O2 with GCC, it liked to swap two comparisons in one "if" statement. It's otherwise fine except that the latter part, which is seemingly never executed, got executed (nothing wrong with that) and then triggered warning in Valgrind about conditional jump depending on uninitialized variable. A few people find this annoying so do things a bit differently to avoid the warning.
2010-06-02Fix a Windows-specific FIXME in signal handling code.Lasse Collin3-13/+48
2010-06-02Adjust SA_RESTART workaround.Lasse Collin1-7/+7
I want to get a bug report if something else than DJGPP lacks SA_RESTART.
2010-06-01xz man page updates.Lasse Collin1-19/+366
- Concatenating .xz files and padding - List mode - Robot mode - A few examples (but many more are needed)
2010-06-01Major update to xz --list.Lasse Collin1-181/+471
2010-06-01Rename message_filters_get() to message_filters_to_str().Lasse Collin2-3/+3
2010-06-01Fix a comment.Lasse Collin1-1/+1
2010-05-27Fix lzma_block_compressed_size().Lasse Collin1-3/+3
2010-05-27Take Cygwin into account in some #if lines.Lasse Collin2-3/+3
This change is no-op, but good to have just in case for the future.
2010-05-27Remove references to the Subblock filter in xz and tests.Lasse Collin2-32/+0
Thanks to Jonathan Nieder.
2010-05-27Remove unused chunk_size.c.Lasse Collin1-67/+0
Thanks to Jonathan Nieder for the reminder.
2010-05-27Use my_min() instead of MIN() in src/xz/list.cJonathan Nieder1-1/+1
This should have been done in 920a69a8d8e4203c5edddd829d932130eac188ea.
2010-05-26Rename MIN() and MAX() to my_min() and my_max().Lasse Collin16-31/+31
This should avoid some minor portability issues.
2010-05-26Fix compilation of debug/known_sizes.c.Lasse Collin1-1/+1
2010-05-26Remove references to Subblock filter in debug/sync_flush.c.Lasse Collin1-13/+0
2010-05-26Better #error message.Lasse Collin1-2/+2
2010-05-26Remove the Subblock filter code for now.Lasse Collin19-2105/+4
The spec isn't finished and the code didn't compile anymore. It won't be included in XZ Utils 5.0.0. It's easy to get it back once the spec is done.
2010-05-16Split message_filters().Lasse Collin3-69/+134
message_filters_to_str() converts the filter chain to a string. message_filters_show() replaces the original message_filters(). uint32_to_optstr() was also added to show the dictionary size in nicer format when possible.
2010-05-14Omit lzma_restrict from the API headers.Lasse Collin3-21/+7
It isn't really useful so omitting it makes things shorter and slightly more readable.
2010-05-10Updated INSTALL.Lasse Collin1-5/+0
2010-05-10Updated THANKS.Lasse Collin1-0/+1
2010-05-10Updates to tuklib_physmem and tuklib_cpucores.Lasse Collin4-11/+141
Don't use #error to generate compile error, because some compilers actually don't take it as an error. This fixes tuklib_physmem on IRIX. Fix incorrect error check for sysconf() return values. Add AIX, HP-UX, and Tru64 specific code to detect the amount RAM. Add HP-UX specific code to detect the number of CPU cores. Thanks a lot to Peter O'Gorman for initial patches, testing, and debugging these fixes.
2010-04-12Show both elapsed time and estimated remaining time in xz -v.Lasse Collin2-48/+39
The extra space for showing both has been taken from the sizes field. If the sizes grow big, bigger units than MiB will be used. It makes it slightly difficult to see that progress is still happening with huge files, but it should be OK in practice. Thanks to Trent W. Buck for <http://bugs.debian.org/574583> and Jonathan Nieder for suggestions how to fix it.
2010-03-31Add a simple tip to faq.txt about tar and xz.Lasse Collin2-0/+7
Thanks to Gilles Espinasse.
2010-03-22Updated THANKS.Lasse Collin1-0/+1
2010-03-07Fix xzgrep to not break if filenames have spaces or quotes.Lasse Collin1-1/+1
Thanks to someone who reported the bug on IRC.
2010-03-07Treat all integer multiplier suffixes as base-2.Lasse Collin3-76/+67
Originally both base-2 and base-10 were supported, but since there seems to be little need for base-10 in XZ Utils, treat everything as base-2 and also be more relaxed about the case of the first letter of the suffix. Now xz will accept e.g. KiB, Ki, k, K, kB, and KB, and interpret them all as 1024. The recommended spelling of the suffixes are still KiB, MiB, and GiB.
2010-03-07Consistently round up the memory usage limit in messages.Lasse Collin2-4/+8
It still feels a bit wrong to round 1 byte to 1 MiB but at least it is now done consistently so that the same byte value is always rounded the same way to MiB.
2010-03-07Change the default of --enable-assume-ram from 32 to 128 MiB.Lasse Collin2-8/+8
This is to allow files created with "xz -9" to be decompressed if the amount of RAM cannot be determined.
2010-03-07Increase the default memory usage limit on "low-memory" systems.Lasse Collin4-34/+80
Previously the default limit was always 40 % of RAM. The new limit is a little bit more complex: - If 40 % of RAM is at least 80 MiB, 40 % of RAM is used as the limit. - If 80 % of RAM is over 80 MiB, 80 MiB is used as the limit. - Otherwise 80 % of RAM is used as the limit. This should make it possible to decompress files created with "xz -9" on more systems. Swapping is generally more expected on systems with less RAM, so higher default limit on them shouldn't cause too bad surprises in terms of heavy swapping. Instead, the higher default limit should reduce the number of bad surprises when it used to prevent decompression of files created with "xz -9". The DoS prevention system shouldn't be a DoS itself. Note that even with the new default limit, a system with 64 MiB RAM cannot decompress files created with "xz -9" without user overriding the limit. This should be OK, because if xz is going to need more memory than the system has RAM, it will run very very slowly and thus it's good that user has to override the limit in that case.
2010-03-06Updated THANKS.Lasse Collin1-0/+1
2010-03-06Fix missing initialization in lzma_strm_init().Lasse Collin1-0/+1
With bad luck, lzma_code() could return LZMA_BUF_ERROR when it shouldn't. This has been here since the early days of liblzma. It got triggered by the modifications made to the xz tool in commit 18c10c30d2833f394cd7bce0e6a821044b15832f but only when decompressing .lzma files. Somehow I managed to miss testing that with Valgrind earlier. This fixes <http://bugs.gentoo.org/show_bug.cgi?id=305591>. Thanks to Rafał Mużyło for helping to debug it on IRC.
2010-02-12Collection of language fixes to comments and docs.Lasse Collin47-77/+77
Thanks to Jonathan Nieder.
2010-02-12Fix jl -> jb in ASM files.Lasse Collin2-3/+3
2010-02-12Use __APPLE__ instead of __MACH__ in ASM files.Lasse Collin2-8/+8
This allows the files to work on HURD. Thanks to Jonathan Nieder.
2010-02-07Subtle change to liblzma Block handling API.Lasse Collin2-22/+20
lzma_block.version has to be initialized even for lzma_block_header_decode(). This way a future version of liblzma won't allocate memory in a way that an old application doesn't know how to free it. The subtlety of this change is that all current apps using lzma_block_header_decode() will keep working for now, because the only possible version value is zero, and lzma_block_header_decode() unconditionally sets the version to zero even now. Unless fixed, these apps will break in the future if a new version of the Block options is ever needed.
2010-02-02Fix wrong assertion.Lasse Collin1-2/+3
This was added in 455e68c030fde8a8c2f5e254c3b3ab9489bf3735.
2010-02-01Updated TODO.Lasse Collin1-4/+0
2010-02-01Fix typos in comments.Lasse Collin2-2/+2
2010-02-01Fix signal handling for --list.Lasse Collin1-5/+14
2010-02-01Fix compression of symlinks with --force.Lasse Collin1-1/+13
xz --force accepted symlinks, but didn't remove them after successful compression. Instead, an error message was displayed.
2010-02-01Fix a comment.Lasse Collin1-3/+2
2010-01-31Updated THANKS.Lasse Collin1-0/+1
2010-01-31Updated TODO.Lasse Collin1-6/+11
2010-01-31Mention TODO in README.Lasse Collin1-0/+1
2010-01-31Updated INSTALL.Lasse Collin1-26/+26
2010-01-31Revise the Windows build files.Lasse Collin6-645/+435
The old Makefile + config.h was deleted, because it becomes outdated too easily and building with the Autotools based build system works fine even on Windows. windows/build.sh hasn't got much testing, but it should work to build 32-bit x86 and x86-64 versions of XZ Utils using MSYS, MinGW or MinGW-w32, and MinGW-w64. windows/INSTALL-Windows.txt describes what packages are needed and how to install them. windows/README-Windows.txt is a readme file for the binary package that build.sh hopefully builds. There are no instructions about using Autotools for now, so those using a git snapshot may want to run "autoreconf -fi && ./configure && make mydist" on a UN*X box and then copy the resulting .tar.gz to a Windows.
2010-01-31Select the default integrity check type at runtime.Lasse Collin1-5/+14
Previously it was set statically to CRC64 or CRC32 depending on options passed to the configure script.
2010-01-31Improve displaying of the memory usage limit.Lasse Collin4-13/+45
2010-01-31Don't use uninitialized sigset_t.Lasse Collin1-10/+24
If signal handlers haven't been established, then it's useless to try to block them, especially since the sigset_t used for blocking hasn't been initialized yet.
2010-01-31Delay opening the destionation file and other fixes.Lasse Collin6-125/+157
The opening of the destination file is now delayed a little. The coder is initialized, and if decompressing, the memory usage of the first Block compared against the memory usage limit before the destination file is opened. This means that if --force was used, the old "target" file won't be deleted so easily when something goes wrong very early. Thanks to Mark K for the bug report. The above fix required some changes to progress message handling. Now there is a separate function for setting and printing the filename. It is used also in list.c. list_file() now handles stdin correctly (gives an error). A useless check for user_abort was removed from file_io.c.
2010-01-29Add list.h to src/xz/Makefile.am.Lasse Collin1-0/+1
This should have been already in 0bc9eab243dee3be764b3530433a7fcdc3f7c6a1.
2010-01-29Add lzmainfo.1 to manfiles list to convert to .txt and .pdf.Lasse Collin1-0/+1
2010-01-27Silence two compiler warnings on DOS-like systems.Lasse Collin2-1/+8
2010-01-27Use PACKAGE_URL instead of custom PACKAGE_HOMEPAGE.Lasse Collin5-11/+6
2010-01-26Add a missing space to an error message.Lasse Collin1-1/+1
Thanks to Robert Readman.
2010-01-26Use past tense in error message in io_unlink().Lasse Collin2-2/+13
Added a note to translators too. Thanks to Robert Readman.
2010-01-26Fix too small static buffer in util.c.Lasse Collin1-5/+4
This was introduced in 0dd6d007669b946543ca939a44243833c79e08f4 two days ago.
2010-01-26Minor comment fix.Lasse Collin1-2/+2
2010-01-24Add initial version of xz --list.Lasse Collin5-359/+668
This is a bit rough but should be useful for basic things. Ideas (with detailed examples) about the output format are welcome. The output of --robot --list is not necessarily stable yet, although I don't currently have any plans about changing it. The man page hasn't been updated yet.
2010-01-24Add io_pread().Lasse Collin2-0/+42
It will be used by --list.
2010-01-24Set LC_NUMERIC=C when --robot is used.Lasse Collin1-0/+4
It is to ensure that floating point numbers will always have a dot as the decimal separator.
2010-01-24Some improvements to printing sizes in xz.Lasse Collin5-90/+166
2010-01-20Fix a typo in README.Lasse Collin1-1/+1
Thanks to R. Bijker.
2010-01-17Updated windows/Makefile.Lasse Collin2-13/+27
Thanks to Dan Shechter for the patch. It is likely that windows/Makefile will be removed completely, because Autotols based build nowadays works well with both 32-bit and 64-bit MinGW (I just need to update the docs).
2010-01-15Update the xz man page to match the previous two commits.Lasse Collin1-6/+3
2010-01-13Don't read compressed data from a terminal or write itLasse Collin2-15/+13
to a terminal even if --force is specified. It just seems more reasonable this way. The new behavior matches bzip2. The old one matched gzip.
2010-01-13Don't compress or decompress special files unless writingLasse Collin1-5/+10
to stdout even if --force is used. --force will still enable compression of symlinks, but only in case they point to a regular file. The new way simply seems more reasonable. It matches gzip's behavior while the old one matched bzip2's behavior.
2010-01-12Updated THANKS.Lasse Collin1-0/+1
2010-01-12Add IRIX-specific code to tuklib_physmem and tuklib_cpucores.Lasse Collin4-3/+55
This is untested but it will get tested soon and, if needed, fixed before 5.0.0. Thanks to Stuart Shelton.
2010-01-01Fix _memconfig() functions.Lasse Collin4-19/+20
This affects lzma_memusage() and lzma_memlimit_get().
2009-12-31Revised the Index handling code.Lasse Collin9-858/+1703
This breaks API and ABI but most apps are not affected since most apps don't use this part of the API. You will get a compile error if you are using anything that got broken. Summary of changes: - Ability to store Stream Flags, which are needed for random-access reading in multi-Stream files. - Separate function to set size of Stream Padding. - Iterator structure makes it possible to read the same lzma_index from multiple threads at the same time. - A lot faster code to locate Blocks. - Removed lzma_index_equal() without adding anything to replace it. I don't know what it should do exactly with the new features and what actually needs this function in the first place other than test_index.c, which now has its own code to compare lzma_indexes.