aboutsummaryrefslogtreecommitdiff
path: root/src/xzdec (follow)
AgeCommit message (Collapse)AuthorFilesLines
2010-03-07Consistently round up the memory usage limit in messages.Lasse Collin1-2/+5
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-07Increase the default memory usage limit on "low-memory" systems.Lasse Collin2-16/+34
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-02-12Collection of language fixes to comments and docs.Lasse Collin2-2/+2
Thanks to Jonathan Nieder.
2010-01-27Use PACKAGE_URL instead of custom PACKAGE_HOMEPAGE.Lasse Collin1-1/+1
2009-11-15Add lzma_physmem().Lasse Collin2-6/+3
I had hoped to keep liblzma as purely a compression library as possible (e.g. file I/O will go into a different library), but it seems that applications linking agaisnt liblzma need some way to determine the memory usage limit, and knowing the amount of RAM is one reasonable way to help making such decisions. Thanks to Jonathan Nieder for the original patch.
2009-10-02Add support for --enable-assume-ram=SIZE.Lasse Collin1-2/+3
2009-09-19Various changes.Lasse Collin2-42/+26
Separate a few reusable components from XZ Utils specific code. The reusable code is now in "tuklib" modules. A few more could be separated still, e.g. bswap.h. Fix some bugs in lzmainfo. Fix physmem and cpucores code on OS/2. Thanks to Elbert Pol for help. Add OpenVMS support into physmem. Add a few #ifdefs to ease building XZ Utils on OpenVMS. Thanks to Jouk Jansen for the original patch.
2009-09-12A few grammar fixes.Lasse Collin1-1/+1
Thanks to Christian Weisgerber for pointing out some of these.
2009-08-13Sync some error messages from xz to xzdec.Lasse Collin1-3/+3
Make xz error message translation usable outside xz (at least in upcoming lzmainfo).
2009-07-18Added public domain notice into a few files.Lasse Collin1-0/+7
2009-07-08Remove --force from xzdec.Lasse Collin2-9/+1
It was ignored for compatibility with xz, but now that --decompress --stdout --force copies unrecognized files as is to stdout, simply ignoring --force in xzdec would be wrong. xzdec will not support copying unrecognized data as is to stdout, so it cannot support --force.
2009-07-06Use sed instead of $(SED) so that we don't need toLasse Collin1-3/+3
use AC_PROG_SED. We don't do anything fancy with sed, so this should work OK. libtool 2.2 sets SED but 1.5 doesn't, so $(SED) happened to work when using libtool 2.2.
2009-07-02Define PACKAGE_HOMEPAGE in configure.ac and use it inLasse Collin1-2/+2
xz and xzdec. Use also PACKAGE_NAME instead of hardcoding "XZ Utils".
2009-06-30Build system fixesLasse Collin1-1/+19
Don't use libtool convenience libraries to avoid recently discovered long-standing subtle but somewhat severe bugs in libtool (at least 1.5.22 and 2.2.6 are affected). It was found when porting XZ Utils to Windows <http://lists.gnu.org/archive/html/libtool/2009-06/msg00070.html> but the problem is significant also e.g. on GNU/Linux. Unless --disable-shared is passed to configure, static library built from a set of convenience libraries will contain PIC objects. That is, while libtool builds non-PIC objects too, only PIC objects will be used from the convenience libraries. On 32-bit x86 (tested on mobile XP2400+), using PIC instead of non-PIC makes the decompressor 10 % slower with the default CFLAGS. So while xz was linked against static liblzma by default, it got the slower PIC objects unless --disable-shared was used. I tend develop and benchmark with --disable-shared due to faster build time, so I hadn't noticed the problem in benchmarks earlier. This commit also adds support for building Windows resources into liblzma and executables.
2009-06-27Moved the Windows resource files outside the windows directoryLasse Collin2-0/+10
to prepare for building them with Autotools.
2009-06-27Create correct symlinks even whenLasse Collin1-3/+6
--program-{prefix,suffix,transform} is passed to configure.
2009-06-26Fix @variables@ to $(variables) in Makefile.am files.Lasse Collin1-9/+10
Fix the ordering of libgnu.a and LTLIBINTL on the linker command line and added missing LTLIBINTL to tests/Makefile.am.
2009-06-04Added xzdec man page.Lasse Collin2-0/+184
2009-06-04Harmonized xzdec --memory with xz --memory and madeLasse Collin1-21/+53
minor cleanups.
2009-05-22Added support for --quiet and --no-warn to xzdec.Lasse Collin1-27/+49
Cleaned up the --help message a little.
2009-05-22Use the 40 % of RAM memory usage limit in xzdec too.Lasse Collin1-5/+5
Update the memory usage info text in --help to match the text in xz --long-help.
2009-05-21Support special value "max" where xz and xzdec accept an integer.Lasse Collin1-1/+5
Don't round the memory usage limit in xzdec --help to avoid an integer overflow and to not give wrong impression that the limit is high enough when it may not actually be.
2009-04-13Put the interesting parts of XZ Utils into the public domain.Lasse Collin2-20/+6
Some minor documentation cleanups were made at the same time.
2009-02-13Changed how the version number is specified in various places.Lasse Collin1-1/+1
Now configure.ac will get the version number directly from src/liblzma/api/lzma/version.h. The intent is to reduce the number of places where the version number is duplicated. In future, support for displaying Git commit ID may be added too.
2009-02-13Improve support for DOS-like systems.Lasse Collin1-2/+3
Here DOS-like means DOS, Windows, and OS/2.
2009-02-07Make it easy to choose if command line tools should beLasse Collin1-2/+3
linked statically or dynamically against liblzma. The default is still to use static liblzma, but it can now be changed by passing --enable-dynamic to configure. Thanks to Mike Frysinger for the original patch. Fixed a few minor bugs in configure.ac.
2009-02-01Fix missing newlines in xzdec.c.Lasse Collin1-3/+3
2009-01-31Add LZMA_API to liblzma API headers. It's useful at leastLasse Collin1-0/+1
on Windows. sysdefs.h no longer #includes lzma.h, so lzma.h has to be #included separately where needed.
2009-01-31Use _WIN32 instead of WIN32 in xzdec.c to test if compiling on Windows.Lasse Collin1-2/+2
2008-12-31Remove lzma_init() and other init functions from liblzma API.Lasse Collin1-3/+0
Half of developers were already forgetting to use these functions, which could have caused total breakage in some future liblzma version or even now if --enable-small was used. Now liblzma uses pthread_once() to do the initializations unless it has been built with --disable-threads which make these initializations thread-unsafe. When --enable-small isn't used, liblzma currently gets needlessly linked against libpthread (on systems that have it). While it is stupid for now, liblzma will need threads in future anyway, so this stupidity will be temporary only. When --enable-small is used, different code CRC32 and CRC64 is now used than without --enable-small. This made the resulting binary slightly smaller, but the main reason was to clean it up and to handle the lack of lzma_init_check(). The pkg-config file lzma.pc was renamed to liblzma.pc. I'm not sure if it works correctly and portably for static linking (Libs.private includes -pthread or other operating system specific flags). Hopefully someone complains if it is bad. lzma_rc_prices[] is now included as a precomputed array even with --enable-small. It's just 128 bytes now that it uses uint8_t instead of uint32_t. Smaller array seemed to be at least as fast as the more bloated uint32_t array on x86; hopefully it's not bad on other architectures.
2008-11-20Build xzdec and lzmadec from xzdec.c. xzdec supports only .xzLasse Collin2-178/+140
files and lzmadec only .lzma files.
2008-11-20Minor cleanups to xzdec.Lasse Collin1-10/+10
2008-11-19Renamed lzma to xz and lzmadec to xzdec. We create symlinksLasse Collin2-0/+521
lzma, unlzma, and lzcat in "make install" for backwards compatibility with LZMA Utils 4.32.x; I'm not sure if this should be the default though.