aboutsummaryrefslogtreecommitdiff
path: root/src/xz/main.c (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2019-05-11spellingAntoine Cœur1-1/+1
2015-11-03xz: Make xz buildable even when encoders or decoders are disabled.Lasse Collin1-2/+7
The patch is quite long but it's mostly about adding new #ifdefs to omit code when encoders or decoders have been disabled. This adds two new #defines to config.h: HAVE_ENCODERS and HAVE_DECODERS.
2015-03-31xz: Add support for sandboxing with Capsicum.Lasse Collin1-0/+18
The sandboxing is used conditionally as described in main.c. This isn't optimal but it was much easier to implement than a full sandboxing solution and it still covers the most common use cases where xz is writing to standard output. This should have practically no effect on performance even with small files as fork() isn't needed. C and locale libraries can open files as needed. This has been fine in the past, but it's a problem with things like Capsicum. io_sandbox_enter() tries to ensure that various locale-related files have been loaded before cap_enter() is called, but it's possible that there are other similar problems which haven't been seen yet. Currently Capsicum is available on FreeBSD 10 and later and there is a port to Linux too. Thanks to Loganaden Velvindron for help.
2015-03-07xz: Make arg_count an unsigned int to silence a warning.Lasse Collin1-1/+1
Actually the value of arg_count cannot exceed INT_MAX but it's nicer as an unsigned int.
2012-07-03xz: Add incomplete support for --block-list.Lasse Collin1-0/+1
It's broken with threads and when also --block-size is used.
2011-04-05xz: Call lzma_end(&strm) before exiting if debugging is enabled.Lasse Collin1-0/+4
2010-06-02Fix a Windows-specific FIXME in signal handling code.Lasse Collin1-5/+35
2010-02-12Collection of language fixes to comments and docs.Lasse Collin1-3/+3
Thanks to Jonathan Nieder.
2010-02-02Fix wrong assertion.Lasse Collin1-2/+3
This was added in 455e68c030fde8a8c2f5e254c3b3ab9489bf3735.
2010-02-01Fix signal handling for --list.Lasse Collin1-5/+14
2010-01-26Minor comment fix.Lasse Collin1-2/+2
2010-01-24Add initial version of xz --list.Lasse Collin1-6/+13
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-13Don't read compressed data from a terminal or write itLasse Collin1-11/+9
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.
2009-11-16Add support for --info-memory and --robot to xz.Lasse Collin1-4/+7
Currently --robot works only with --info-memory and --version. --help and --long-help work too, but --robot has no effect on them. Thanks to Jonathan Nieder for the original patches.
2009-09-19Various changes.Lasse Collin1-79/+21
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-08-13Sync some error messages from xz to xzdec.Lasse Collin1-2/+2
Make xz error message translation usable outside xz (at least in upcoming lzmainfo).
2009-06-26Rename process_file() to coder_run().Lasse Collin1-3/+3
2009-05-22Add --no-warn.Lasse Collin1-0/+17
2009-04-13Put the interesting parts of XZ Utils into the public domain.Lasse Collin1-10/+3
Some minor documentation cleanups were made at the same time.
2009-02-13Improve support for DOS-like systems.Lasse Collin1-0/+23
Here DOS-like means DOS, Windows, and OS/2.
2009-02-08Make "xz --force" to write to terminal as the errorLasse Collin1-1/+1
message suggests.
2009-02-05Various code cleanups the the xz command line tool.Lasse Collin1-126/+6
It now builds with MinGW.
2009-01-07Use pthread_sigmask() instead of sigprocmask() when pthreadsLasse Collin1-2/+2
are enabled.
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-19Renamed lzma to xz and lzmadec to xzdec. We create symlinksLasse Collin1-0/+0
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.
2008-11-19Oh well, big messy commit again. Some highlights:Lasse Collin1-122/+270
- Updated to the latest, probably final file format version. - Command line tool reworked to not use threads anymore. Threading will probably go into liblzma anyway. - Memory usage limit is now about 30 % for uncompression and about 90 % for compression. - Progress indicator with --verbose - Simplified --help and full --long-help - Upgraded to the last LGPLv2.1+ getopt_long from gnulib. - Some bug fixes
2008-06-10s/decompressed/compressed/ in the command line tool'sLasse Collin1-1/+1
error message.