wimlib
6 years agowimlib_extract_flags(): Free memory used in linked extraction mode
Eric Biggers [Sun, 29 Dec 2013 02:40:59 +0000 (20:40 -0600)]
wimlib_extract_flags(): Free memory used in linked extraction mode

6 years agowimlib_extract_paths(): Validate extract flags
Eric Biggers [Sun, 29 Dec 2013 02:40:22 +0000 (20:40 -0600)]
wimlib_extract_paths():  Validate extract flags

6 years agoextract_trees(): Send correct end progress msg
Eric Biggers [Sun, 29 Dec 2013 02:39:11 +0000 (20:39 -0600)]
extract_trees(): Send correct end progress msg

6 years agoUpdate docs for struct wimlib_progress_info_extract
Eric Biggers [Sun, 29 Dec 2013 02:38:53 +0000 (20:38 -0600)]
Update docs for struct wimlib_progress_info_extract

6 years agontfs-3g_capture.c: Fix erroneous replacement
Eric Biggers [Sun, 29 Dec 2013 01:38:06 +0000 (19:38 -0600)]
ntfs-3g_capture.c:  Fix erroneous replacement

6 years agoExpose symlink exclusions through WIMLIB_PROGRESS_MSG_SCAN_DENTRY messages
Eric Biggers [Sun, 29 Dec 2013 01:09:32 +0000 (19:09 -0600)]
Expose symlink exclusions through WIMLIB_PROGRESS_MSG_SCAN_DENTRY messages

6 years agoAdd extract_full_stream_to_fd()
Eric Biggers [Sun, 29 Dec 2013 00:04:28 +0000 (18:04 -0600)]
Add extract_full_stream_to_fd()

6 years agowrite_stream_list(): Do not allocate chunk buffer if NONE compression
Eric Biggers [Sat, 28 Dec 2013 23:59:26 +0000 (17:59 -0600)]
write_stream_list(): Do not allocate chunk buffer if NONE compression

6 years agowrite_stream_uncompressed(): Do not issue unnecessary hard error
Eric Biggers [Sat, 28 Dec 2013 23:50:27 +0000 (17:50 -0600)]
write_stream_uncompressed(): Do not issue unnecessary hard error

6 years agowrite_chunk(): Remove redundant statements
Eric Biggers [Sat, 28 Dec 2013 23:11:18 +0000 (17:11 -0600)]
write_chunk(): Remove redundant statements

6 years agoUpdate docs for path extraction
Eric Biggers [Sat, 28 Dec 2013 22:45:36 +0000 (16:45 -0600)]
Update docs for path extraction

6 years agowimextract: Fix man page
Eric Biggers [Sat, 28 Dec 2013 19:53:26 +0000 (13:53 -0600)]
wimextract:  Fix man page

6 years agowin32_build_dentry_tree(): Strip trailing slashes from paths
Eric Biggers [Sat, 28 Dec 2013 19:47:31 +0000 (13:47 -0600)]
win32_build_dentry_tree(): Strip trailing slashes from paths

6 years agowin32_build_dentry_tree(): Fix handling of maximum length path
Eric Biggers [Sat, 28 Dec 2013 19:47:17 +0000 (13:47 -0600)]
win32_build_dentry_tree(): Fix handling of maximum length path

6 years agowin32_create_file(): Handle access problems
Eric Biggers [Sat, 28 Dec 2013 19:30:17 +0000 (13:30 -0600)]
win32_create_file(): Handle access problems

6 years agotest-imagex-ntfs: Try to work around yet another race condition
Eric Biggers [Sat, 28 Dec 2013 17:29:28 +0000 (11:29 -0600)]
test-imagex-ntfs:  Try to work around yet another race condition

6 years agoUpdate version number to v1.6.0
Eric Biggers [Sat, 28 Dec 2013 17:15:41 +0000 (11:15 -0600)]
Update version number to v1.6.0

6 years agoTweak progress messages
Eric Biggers [Sat, 28 Dec 2013 17:12:31 +0000 (11:12 -0600)]
Tweak progress messages

6 years agoFix encrypted capture on Windows
Eric Biggers [Sat, 28 Dec 2013 16:56:07 +0000 (10:56 -0600)]
Fix encrypted capture on Windows

6 years agoUpdate README files
Eric Biggers [Sat, 28 Dec 2013 16:43:32 +0000 (10:43 -0600)]
Update README files

6 years agoUpdate NEWS
Eric Biggers [Sat, 28 Dec 2013 16:19:17 +0000 (10:19 -0600)]
Update NEWS

6 years agowimextract: Update help
Eric Biggers [Sat, 28 Dec 2013 16:08:10 +0000 (10:08 -0600)]
wimextract: Update help

6 years agoAdd tests for pathlist extraction
Eric Biggers [Sat, 28 Dec 2013 16:00:09 +0000 (10:00 -0600)]
Add tests for pathlist extraction

6 years agoTweak support for extracting paths
Eric Biggers [Sat, 28 Dec 2013 15:37:38 +0000 (09:37 -0600)]
Tweak support for extracting paths

6 years agoAllow configurable case sensitivity
Eric Biggers [Sat, 28 Dec 2013 04:43:24 +0000 (22:43 -0600)]
Allow configurable case sensitivity

Set WIMLIB_IMAGEX_IGNORE_CASE for wimlib-imagex, or pass
WIMLIB_INIT_FLAG_DEFAULT_CASE_SENSITIVE or
WIMLIB_INIT_FLAG_DEFAULT_CASE_INSENSITIVE to wimlib_global_init().

6 years agoAdd support for extract list files
Eric Biggers [Sat, 28 Dec 2013 00:29:31 +0000 (18:29 -0600)]
Add support for extract list files

6 years agoUpdate wimlib-imagex documentation
Eric Biggers [Fri, 27 Dec 2013 04:23:58 +0000 (22:23 -0600)]
Update wimlib-imagex documentation

6 years agowimlib-imagex: Update help
Eric Biggers [Fri, 27 Dec 2013 00:22:14 +0000 (18:22 -0600)]
wimlib-imagex: Update help

6 years agowimexport: Add --chunk-size, --pack-streams
Eric Biggers [Fri, 27 Dec 2013 00:10:21 +0000 (18:10 -0600)]
wimexport: Add --chunk-size, --pack-streams

6 years agoRemove WIMLIB_WRITE_FLAG_NO_PACK_STREAMS
Eric Biggers [Fri, 27 Dec 2013 00:00:09 +0000 (18:00 -0600)]
Remove WIMLIB_WRITE_FLAG_NO_PACK_STREAMS

6 years agotest-imagex-ntfs: Increase filesystem size
Eric Biggers [Thu, 26 Dec 2013 23:38:00 +0000 (17:38 -0600)]
test-imagex-ntfs:  Increase filesystem size

6 years agowrite.c: Do not raw-copy packed resources
Eric Biggers [Thu, 26 Dec 2013 23:32:45 +0000 (17:32 -0600)]
write.c: Do not raw-copy packed resources

6 years agoAdd wimlib_set_output_{pack_chunk_size,compression_type}()
Eric Biggers [Thu, 26 Dec 2013 23:28:58 +0000 (17:28 -0600)]
Add wimlib_set_output_{pack_chunk_size,compression_type}()

6 years agowimexport: Only keep chunk size if compression type unchanged
Eric Biggers [Thu, 26 Dec 2013 23:11:28 +0000 (17:11 -0600)]
wimexport: Only keep chunk size if compression type unchanged

6 years agolzms-compress.c: Add extra space for lz_analyze_block()
Eric Biggers [Thu, 26 Dec 2013 23:11:04 +0000 (17:11 -0600)]
lzms-compress.c:  Add extra space for lz_analyze_block()

6 years agolzms-compress.c: Find matches with lz_analyze_block()
Eric Biggers [Thu, 26 Dec 2013 22:06:06 +0000 (16:06 -0600)]
lzms-compress.c:  Find matches with lz_analyze_block()

6 years agoUpdate LZMS compressor - can now output literals
Eric Biggers [Thu, 26 Dec 2013 20:42:20 +0000 (14:42 -0600)]
Update LZMS compressor - can now output literals

6 years agoShare LZMS x86 filter between compressor and decompressor
Eric Biggers [Thu, 26 Dec 2013 02:57:17 +0000 (20:57 -0600)]
Share LZMS x86 filter between compressor and decompressor

6 years agostreamifier_cb(): Fix update of cur_stream_offset
Eric Biggers [Thu, 26 Dec 2013 02:50:54 +0000 (20:50 -0600)]
streamifier_cb(): Fix update of cur_stream_offset

read_stream_list() expects it to be zeroed to avoid a second call to
end_stream().

6 years agoUpdate NEWS and README.WINDOWS
Eric Biggers [Wed, 25 Dec 2013 18:57:39 +0000 (12:57 -0600)]
Update NEWS and README.WINDOWS

6 years ago{de,}compress.c: Remove unneeded array initializers
Eric Biggers [Wed, 25 Dec 2013 18:05:40 +0000 (12:05 -0600)]
{de,}compress.c: Remove unneeded array initializers

6 years agowimlib_split(): Do not allow splitting WIMs containing packed streams
Eric Biggers [Wed, 25 Dec 2013 17:58:49 +0000 (11:58 -0600)]
wimlib_split(): Do not allow splitting WIMs containing packed streams

6 years agodo_compress(): Fix return value in error path
Eric Biggers [Wed, 25 Dec 2013 17:57:32 +0000 (11:57 -0600)]
do_compress(): Fix return value in error path

6 years agowrite_stream_list(): Write streams uncompressed when advantageous
Eric Biggers [Wed, 25 Dec 2013 15:32:42 +0000 (09:32 -0600)]
write_stream_list():  Write streams uncompressed when advantageous

6 years agoread_compressed_resource(): Fix use of decompressor
Eric Biggers [Wed, 25 Dec 2013 14:40:59 +0000 (08:40 -0600)]
read_compressed_resource(): Fix use of decompressor

6 years agoAdd deprecated compression/decompression functions
Eric Biggers [Wed, 25 Dec 2013 14:34:36 +0000 (08:34 -0600)]
Add deprecated compression/decompression functions

Don't want to increase the shared library version number as there are no
other incompatibilities.

6 years agoMake --disable-multithreaded-compression work again
Eric Biggers [Wed, 25 Dec 2013 07:12:14 +0000 (01:12 -0600)]
Make --disable-multithreaded-compression work again

6 years agoRemove --enable-more-debug and --disable-custom-memory-allocator options
Eric Biggers [Wed, 25 Dec 2013 07:03:56 +0000 (01:03 -0600)]
Remove --enable-more-debug and --disable-custom-memory-allocator options

The former was of little use due to the lack of DEBUG2() statements, and
the latter barely saved any space and wasn't worth having an option for.

6 years agoRemove obsolete ChangeLog
Eric Biggers [Wed, 25 Dec 2013 06:46:22 +0000 (00:46 -0600)]
Remove obsolete ChangeLog

6 years agoComment fixes
Eric Biggers [Wed, 25 Dec 2013 06:12:59 +0000 (00:12 -0600)]
Comment fixes

6 years agoxpress_decompress(): Fix comment
Eric Biggers [Wed, 25 Dec 2013 05:50:39 +0000 (23:50 -0600)]
xpress_decompress(): Fix comment

6 years agoNew compression/decompression API
Eric Biggers [Wed, 25 Dec 2013 04:53:18 +0000 (22:53 -0600)]
New compression/decompression API

To avoid the proliferation of functions for compressing and decompressing
in different formats, allow all the compression algorithms to be accessed
using a single API:

Compression:
- wimlib_create_compressor()
- wimlib_compress()
- wimlib_free_compressor()
- wimlib_set_default_compressor_params()

Decompression:
- wimlib_create_decompressor()
- wimlib_decompress()
- wimlib_free_decompressor()
- wimlib_set_default_decompressor_params()

This also makes it easier to allocate larger blocks of memory or do other
initializations in any decompressor or compressor implementation.

This commit adds a skeleton for the LZMS compressor but it doesn't do
anything yet.

6 years agowimlib_overwrite(): Don't create multiple packs per WIM
Eric Biggers [Tue, 24 Dec 2013 18:00:12 +0000 (12:00 -0600)]
wimlib_overwrite(): Don't create multiple packs per WIM

For compatibility with WIMGAPI, don't allow updating a WIM to contain
multiple stream packs; instead compress new streams independently.

This could change if it turns out there is a way to cause WIMGAPI to
recognize multiple packs.

6 years agoFix progress for exclusion of absolute symlinks
Eric Biggers [Tue, 24 Dec 2013 16:58:21 +0000 (10:58 -0600)]
Fix progress for exclusion of absolute symlinks

6 years agoScan progress: Add # of files, directories, and bytes scanned
Eric Biggers [Tue, 24 Dec 2013 16:36:53 +0000 (10:36 -0600)]
Scan progress:  Add # of files, directories, and bytes scanned

6 years agomkwinpeimg: Fix --start-script when script not in current directory
Eric Biggers [Tue, 24 Dec 2013 07:24:43 +0000 (01:24 -0600)]
mkwinpeimg: Fix --start-script when script not in current directory

6 years agowrite_stream_list(): Do progress on raw resource copies
Eric Biggers [Tue, 24 Dec 2013 07:16:37 +0000 (01:16 -0600)]
write_stream_list(): Do progress on raw resource copies

6 years agolookup_table_insert(): Grow table when capacity reached
Eric Biggers [Tue, 24 Dec 2013 06:58:06 +0000 (00:58 -0600)]
lookup_table_insert(): Grow table when capacity reached

This avoids slow hash list searches when the lookup table was initially
allocated very small due to opening a WIM containing few streams, but
more entries were added later (e.g. with wimlib_reference_resources()).

6 years agowrite.c: Document write_stream_list()
Eric Biggers [Tue, 24 Dec 2013 05:44:42 +0000 (23:44 -0600)]
write.c: Document write_stream_list()

6 years agowimlib.h: Document pack streams write flags
Eric Biggers [Tue, 24 Dec 2013 05:44:31 +0000 (23:44 -0600)]
wimlib.h:  Document pack streams write flags

6 years agoMake sequential extraction the default
Eric Biggers [Tue, 24 Dec 2013 02:18:24 +0000 (20:18 -0600)]
Make sequential extraction the default

This is needed to avoid bad default performance extracting packed WIMs, plus
wimlib-imagex has been always using sequential extraction anyway.

6 years agowimlib_overwrite()): Change WIM version when appropriate
Eric Biggers [Tue, 24 Dec 2013 02:03:44 +0000 (20:03 -0600)]
wimlib_overwrite()): Change WIM version when appropriate

6 years agowimlib_overwrite(): Don't force full rebuild of packed WIM
Eric Biggers [Tue, 24 Dec 2013 01:39:14 +0000 (19:39 -0600)]
wimlib_overwrite(): Don't force full rebuild of packed WIM

Version 3584 WIMs may contain both packed and unpacked streams, no there's
no need to force a full rebuild if WIMLIB_WRITE_FLAG_NO_PACK_STREAMS is
required.

At the same time, a full rebuild is in general required if the default
compression type or chunk size has been changed.

6 years agowimoptimize: Add --no-pack-streams option
Eric Biggers [Tue, 24 Dec 2013 01:38:46 +0000 (19:38 -0600)]
wimoptimize: Add --no-pack-streams option

6 years agoread_lookup_table(): Ignore PACKED_STREAMS flag if default WIM version
Eric Biggers [Tue, 24 Dec 2013 01:37:37 +0000 (19:37 -0600)]
read_lookup_table(): Ignore PACKED_STREAMS flag if default WIM version

6 years agowimlib-imagex: Allow specifying LZMS compression
Eric Biggers [Tue, 24 Dec 2013 01:30:56 +0000 (19:30 -0600)]
wimlib-imagex: Allow specifying LZMS compression

6 years agoDo not wait full streams for WIMLIB_PROGRESS_MSG_WRITE_STREAMS
Eric Biggers [Tue, 24 Dec 2013 00:33:25 +0000 (18:33 -0600)]
Do not wait full streams for WIMLIB_PROGRESS_MSG_WRITE_STREAMS

6 years agoread_stream_list(): Fix calculation of next stream
Eric Biggers [Tue, 24 Dec 2013 00:11:41 +0000 (18:11 -0600)]
read_stream_list(): Fix calculation of next stream

6 years agowimoptimize: Add --pack-streams option
Eric Biggers [Tue, 24 Dec 2013 00:09:02 +0000 (18:09 -0600)]
wimoptimize:  Add --pack-streams option

6 years agoAdd new files for chunk compression
Eric Biggers [Mon, 23 Dec 2013 20:33:28 +0000 (14:33 -0600)]
Add new files for chunk compression

6 years agoread_compressed_wim_resource(): Fix reading chunk table
Eric Biggers [Mon, 23 Dec 2013 20:07:25 +0000 (14:07 -0600)]
read_compressed_wim_resource(): Fix reading chunk table

6 years agoCleanup
Eric Biggers [Mon, 23 Dec 2013 19:31:42 +0000 (13:31 -0600)]
Cleanup

6 years agoRewrite of write_stream_list(), and writing packed resources
Eric Biggers [Mon, 23 Dec 2013 08:14:37 +0000 (02:14 -0600)]
Rewrite of write_stream_list(), and writing packed resources

6 years agolzms-decompress.c: Fix comments
Eric Biggers [Sat, 21 Dec 2013 00:51:52 +0000 (18:51 -0600)]
lzms-decompress.c:  Fix comments

6 years agocreate_temporary_file(): Fix use-after-free
Eric Biggers [Sat, 21 Dec 2013 00:31:35 +0000 (18:31 -0600)]
create_temporary_file(): Fix use-after-free

6 years agoread_lookup_table(): Cleanup
Eric Biggers [Sat, 21 Dec 2013 00:21:30 +0000 (18:21 -0600)]
read_lookup_table(): Cleanup

6 years agoFix can_raw_copy()
Eric Biggers [Fri, 20 Dec 2013 23:32:41 +0000 (17:32 -0600)]
Fix can_raw_copy()

6 years agoFix RAW_CHUNKS reads
Eric Biggers [Fri, 20 Dec 2013 23:13:42 +0000 (17:13 -0600)]
Fix RAW_CHUNKS reads

6 years agoinit_output_bitstream(): Set bytes_remaining correctly
Eric Biggers [Fri, 20 Dec 2013 23:06:31 +0000 (17:06 -0600)]
init_output_bitstream(): Set bytes_remaining correctly

6 years agoCleanup and add more comments
Eric Biggers [Fri, 20 Dec 2013 22:59:15 +0000 (16:59 -0600)]
Cleanup and add more comments

6 years agoUse read_stream_list() for extraction
Eric Biggers [Fri, 20 Dec 2013 20:21:03 +0000 (14:21 -0600)]
Use read_stream_list() for extraction

6 years agoAdd read_stream_list()
Eric Biggers [Fri, 20 Dec 2013 07:26:04 +0000 (01:26 -0600)]
Add read_stream_list()

6 years agoAdd independent LZMS decompressor
Eric Biggers [Thu, 19 Dec 2013 16:24:38 +0000 (10:24 -0600)]
Add independent LZMS decompressor

6 years agoAdd kind-of-working LZMS decompression using cabinet.dll API
Eric Biggers [Sat, 14 Dec 2013 21:34:34 +0000 (15:34 -0600)]
Add kind-of-working LZMS decompression using cabinet.dll API

6 years agoTweak reading of concat runs
Eric Biggers [Sat, 14 Dec 2013 21:34:10 +0000 (15:34 -0600)]
Tweak reading of concat runs

6 years agoWin32: compile
Eric Biggers [Sat, 14 Dec 2013 18:34:08 +0000 (12:34 -0600)]
Win32: compile

6 years agoextract_streams_from_pipe(): Fix
Eric Biggers [Sat, 14 Dec 2013 17:20:50 +0000 (11:20 -0600)]
extract_streams_from_pipe(): Fix

6 years agoupdate; add lzms_decompress() stub
Eric Biggers [Sat, 14 Dec 2013 17:18:32 +0000 (11:18 -0600)]
update; add lzms_decompress() stub

6 years agoRead concat runs
Eric Biggers [Sat, 14 Dec 2013 07:41:05 +0000 (01:41 -0600)]
Read concat runs

6 years agoSplit wim_resource_spec from wim_lookup_table_entry
Eric Biggers [Sat, 14 Dec 2013 05:06:07 +0000 (23:06 -0600)]
Split wim_resource_spec from wim_lookup_table_entry

6 years agolzx_prepare_block_fast(): Increase max_offset
Eric Biggers [Fri, 13 Dec 2013 20:02:37 +0000 (14:02 -0600)]
lzx_prepare_block_fast(): Increase max_offset

6 years agoLZX decompress: Fix comment & docs
Eric Biggers [Fri, 13 Dec 2013 19:46:17 +0000 (13:46 -0600)]
LZX decompress: Fix comment & docs

6 years agoUse STACK_MAX
Eric Biggers [Fri, 13 Dec 2013 19:27:41 +0000 (13:27 -0600)]
Use STACK_MAX

6 years agowim.c: Cleanup
Eric Biggers [Fri, 13 Dec 2013 18:45:59 +0000 (12:45 -0600)]
wim.c: Cleanup

6 years agoverify_swm_set(): Check chunk size
Eric Biggers [Fri, 13 Dec 2013 18:43:37 +0000 (12:43 -0600)]
verify_swm_set(): Check chunk size

6 years agowrite_stream_list(): Cleanup
Eric Biggers [Fri, 13 Dec 2013 18:18:24 +0000 (12:18 -0600)]
write_stream_list(): Cleanup

6 years agoFix reading > 16 bits from bitstream
Eric Biggers [Fri, 13 Dec 2013 17:15:19 +0000 (11:15 -0600)]
Fix reading > 16 bits from bitstream

6 years agobitstream_put_bits(): Mask high-order bits
Eric Biggers [Fri, 13 Dec 2013 16:29:35 +0000 (10:29 -0600)]
bitstream_put_bits(): Mask high-order bits

6 years agocmp_nodes_by_freq(): Correctly handle large frequencies
Eric Biggers [Fri, 13 Dec 2013 16:20:43 +0000 (10:20 -0600)]
cmp_nodes_by_freq(): Correctly handle large frequencies

6 years agowim_recalculate_refcnts(): Check for error
Eric Biggers [Fri, 13 Dec 2013 16:11:28 +0000 (10:11 -0600)]
wim_recalculate_refcnts(): Check for error