wimlib
5 years agowim_inode_readlink(): Document
Eric Biggers [Sun, 12 Jan 2014 06:34:43 +0000 (00:34 -0600)]
wim_inode_readlink():  Document

5 years agoexecute_fusermount(): Check status of 'umount' properly
Eric Biggers [Sun, 12 Jan 2014 05:38:37 +0000 (23:38 -0600)]
execute_fusermount(): Check status of 'umount' properly

Code is only reached if fusermount command does not work.

5 years agounmount_timed_out_cb(): Do not check errno if kill() succeeds
Eric Biggers [Sun, 12 Jan 2014 05:25:31 +0000 (23:25 -0600)]
unmount_timed_out_cb():  Do not check errno if kill() succeeds

5 years agolz_sarray: Fix some comments
Eric Biggers [Fri, 10 Jan 2014 16:40:43 +0000 (10:40 -0600)]
lz_sarray:  Fix some comments

5 years agolz_sarray: Performance and memory usage optimizations
Eric Biggers [Fri, 10 Jan 2014 08:02:05 +0000 (02:02 -0600)]
lz_sarray:  Performance and memory usage optimizations

5 years agolz_sarray: Use 16-bit length
Eric Biggers [Thu, 9 Jan 2014 21:04:11 +0000 (15:04 -0600)]
lz_sarray:  Use 16-bit length

This saves 4 bytes of memory per position and only decreases the
compression ratio on very repetitive files (with matches of length >
65535), and even then only slightly.  Performance is not significantly
affected but may be slightly improved due to better use of cache.

5 years agowimlib_iterate_dir_tree(): Canonicalize WIM path
Eric Biggers [Wed, 8 Jan 2014 02:32:39 +0000 (20:32 -0600)]
wimlib_iterate_dir_tree(): Canonicalize WIM path

5 years agoCache compression format in 'struct wim_resource_spec'
Eric Biggers [Wed, 8 Jan 2014 01:10:22 +0000 (19:10 -0600)]
Cache compression format in 'struct wim_resource_spec'

5 years agoUpdate NEWS
Eric Biggers [Wed, 8 Jan 2014 00:23:17 +0000 (18:23 -0600)]
Update NEWS

5 years agowimlib_extract_paths(): Canonicalize WIM paths before using them
Eric Biggers [Wed, 8 Jan 2014 00:14:46 +0000 (18:14 -0600)]
wimlib_extract_paths():  Canonicalize WIM paths before using them

5 years agoexpand_wildcard(): Only recognize WIM_PATH_SEPARATOR
Eric Biggers [Wed, 8 Jan 2014 00:10:10 +0000 (18:10 -0600)]
expand_wildcard(): Only recognize WIM_PATH_SEPARATOR

For consistency with get_dentry(), only treat WIM_PATH_SEPARATOR
characters as path separators.

5 years agodentry.c: Rewrite and document get_dentry()
Eric Biggers [Tue, 7 Jan 2014 23:59:43 +0000 (17:59 -0600)]
dentry.c:  Rewrite and document get_dentry()

Fully document the behavior of get_dentry(), and make paths with trailing
path separators only match directories.

5 years agowrite_stream_list(): Fix comments
Eric Biggers [Tue, 7 Jan 2014 21:11:38 +0000 (15:11 -0600)]
write_stream_list(): Fix comments

5 years agoHandle streams with uncompressed size 4 GiB consistently
Eric Biggers [Tue, 7 Jan 2014 20:33:56 +0000 (14:33 -0600)]
Handle streams with uncompressed size 4 GiB consistently

The read code went to 8-byte chunk entries for uncompressed size >
4294967296, whereas the write code went to 8-byte chunk entries for
uncompressed size >= 4294967296.  Change both to >= 4294967296.
Confirmed that WIMGAPI (Windows 7) seems to have this behavior.

5 years agoread_stream_list(): Spill huge data ranges array onto heap
Eric Biggers [Tue, 7 Jan 2014 19:20:38 +0000 (13:20 -0600)]
read_stream_list():  Spill huge data ranges array onto heap

There can be thousands of streams packed into a single resource, so it's
a good idea to check if the data_ranges array is really small enough to
be allocated on the stack or not, and if not, allocate it on the heap
instead.

For readability and to create a temporary frame for alloca(), place the
relevant code in a new function read_packed_streams().

5 years agov1.6.0 v1.6.0
Eric Biggers [Thu, 2 Jan 2014 21:07:57 +0000 (15:07 -0600)]
v1.6.0

5 years agoimagex-capture.1.in: Minor updates
Eric Biggers [Thu, 2 Jan 2014 21:03:29 +0000 (15:03 -0600)]
imagex-capture.1.in:  Minor updates

5 years agoFix typos
Eric Biggers [Thu, 2 Jan 2014 20:46:24 +0000 (14:46 -0600)]
Fix typos

5 years agoUpdate examples
Eric Biggers [Thu, 2 Jan 2014 20:20:07 +0000 (14:20 -0600)]
Update examples

5 years agoUpdate NEWS
Eric Biggers [Thu, 2 Jan 2014 18:12:28 +0000 (12:12 -0600)]
Update NEWS

5 years agowimlib.h: Group wimlib_extract_path{s,list}()
Eric Biggers [Thu, 2 Jan 2014 17:54:12 +0000 (11:54 -0600)]
wimlib.h: Group wimlib_extract_path{s,list}()

5 years agowimlib.h: Fix docs for version and compression types
Eric Biggers [Thu, 2 Jan 2014 17:50:44 +0000 (11:50 -0600)]
wimlib.h: Fix docs for version and compression types

5 years agowimlib.h: Doxygen fixes
Eric Biggers [Thu, 2 Jan 2014 17:33:25 +0000 (11:33 -0600)]
wimlib.h: Doxygen fixes

5 years agomatch_pattern(): No DEBUG if pattern does not match
Eric Biggers [Thu, 2 Jan 2014 17:16:54 +0000 (11:16 -0600)]
match_pattern(): No DEBUG if pattern does not match

5 years agolzx-compress.c: Remove unneeded headers
Eric Biggers [Thu, 2 Jan 2014 17:08:39 +0000 (11:08 -0600)]
lzx-compress.c: Remove unneeded headers

5 years agoxpress-compress.c: Remove unneeded includes
Eric Biggers [Thu, 2 Jan 2014 17:01:24 +0000 (11:01 -0600)]
xpress-compress.c: Remove unneeded includes

5 years agolz_sarray_update_salink(): Only take rank and link array as input
Eric Biggers [Thu, 2 Jan 2014 16:49:56 +0000 (10:49 -0600)]
lz_sarray_update_salink(): Only take rank and link array as input

5 years agocompute_inverse_suffix_array(): Use r for rank, not i
Eric Biggers [Thu, 2 Jan 2014 16:34:00 +0000 (10:34 -0600)]
compute_inverse_suffix_array(): Use r for rank, not i

5 years agoRemove unused LZ_DEBUG() macro
Eric Biggers [Thu, 2 Jan 2014 16:32:21 +0000 (10:32 -0600)]
Remove unused LZ_DEBUG() macro

5 years agolz_optimal.h: Minor comment fixes
Eric Biggers [Thu, 2 Jan 2014 16:24:03 +0000 (10:24 -0600)]
lz_optimal.h: Minor comment fixes

5 years agolz_optimal.h: Fix typedefs
Eric Biggers [Thu, 2 Jan 2014 16:15:54 +0000 (10:15 -0600)]
lz_optimal.h:  Fix typedefs

5 years agolz_optimal.h: Move struct lz_match_chooser towards top
Eric Biggers [Thu, 2 Jan 2014 16:13:16 +0000 (10:13 -0600)]
lz_optimal.h:  Move struct lz_match_chooser towards top

5 years agoimagex: set_compress_slow(): Remove unused variable
Eric Biggers [Thu, 2 Jan 2014 16:00:06 +0000 (10:00 -0600)]
imagex: set_compress_slow(): Remove unused variable

5 years agolzms-compress.c: Fix initialization of lzms_default
Eric Biggers [Thu, 2 Jan 2014 15:59:20 +0000 (09:59 -0600)]
lzms-compress.c: Fix initialization of lzms_default

5 years agolzms-compress.c: Remove unused constant
Eric Biggers [Thu, 2 Jan 2014 15:57:07 +0000 (09:57 -0600)]
lzms-compress.c: Remove unused constant

5 years agolzms-compress.c: Remove unused code for lzms_fast_encode()
Eric Biggers [Thu, 2 Jan 2014 15:55:50 +0000 (09:55 -0600)]
lzms-compress.c:  Remove unused code for lzms_fast_encode()

5 years agolzms-decompress.c: Fix indentation
Eric Biggers [Thu, 2 Jan 2014 07:08:10 +0000 (01:08 -0600)]
lzms-decompress.c:  Fix indentation

5 years agoUpdate references to LZMS compressor
Eric Biggers [Thu, 2 Jan 2014 06:51:32 +0000 (00:51 -0600)]
Update references to LZMS compressor

5 years agolzms_init_compressor(): Do not zero end of window
Eric Biggers [Thu, 2 Jan 2014 06:43:18 +0000 (00:43 -0600)]
lzms_init_compressor(): Do not zero end of window

5 years agoAdd wimlib_get_compressor_needed_memory()
Eric Biggers [Thu, 2 Jan 2014 06:28:48 +0000 (00:28 -0600)]
Add wimlib_get_compressor_needed_memory()

5 years agocompress_parallel.c: Use 1 buffer per thread if chunks are big
Eric Biggers [Thu, 2 Jan 2014 05:11:59 +0000 (23:11 -0600)]
compress_parallel.c:  Use 1 buffer per thread if chunks are big

5 years agoLZMS: Accelerate slot-finding
Eric Biggers [Thu, 2 Jan 2014 04:54:03 +0000 (22:54 -0600)]
LZMS:  Accelerate slot-finding

5 years agoUpdate LZMS compressor
Eric Biggers [Thu, 2 Jan 2014 01:54:32 +0000 (19:54 -0600)]
Update LZMS compressor

5 years agoFix error string for WIMLIB_ERR_INVALID_COMPRESSION_TYPE
Eric Biggers [Wed, 1 Jan 2014 22:21:29 +0000 (16:21 -0600)]
Fix error string for WIMLIB_ERR_INVALID_COMPRESSION_TYPE

5 years agoReplace num_fast_bytes => nice_match_length
Eric Biggers [Wed, 1 Jan 2014 21:43:19 +0000 (15:43 -0600)]
Replace num_fast_bytes => nice_match_length

There is no binary tree match-finder anymore, so 'nice_match_length'
makes more sense.

5 years agolz_sarray.{c,h}: Cleanup, better comments
Eric Biggers [Wed, 1 Jan 2014 21:39:22 +0000 (15:39 -0600)]
lz_sarray.{c,h}:  Cleanup, better comments

5 years agoUse BSD-style license on selected files
Eric Biggers [Wed, 1 Jan 2014 17:48:29 +0000 (11:48 -0600)]
Use BSD-style license on selected files

5 years agolz_optimal.h: Cleanup, better comments
Eric Biggers [Wed, 1 Jan 2014 17:34:14 +0000 (11:34 -0600)]
lz_optimal.h: Cleanup, better comments

5 years agoUpdate LZMS match-choosing
Eric Biggers [Mon, 30 Dec 2013 06:52:50 +0000 (00:52 -0600)]
Update LZMS match-choosing

5 years agoFactor out LZ match-choosing code
Eric Biggers [Mon, 30 Dec 2013 04:50:45 +0000 (22:50 -0600)]
Factor out LZ match-choosing code

5 years agoUpdate LZMS LRU queue handling
Eric Biggers [Mon, 30 Dec 2013 02:59:08 +0000 (20:59 -0600)]
Update LZMS LRU queue handling

5 years agoFix test for length 2 matches
Eric Biggers [Mon, 30 Dec 2013 02:02:50 +0000 (20:02 -0600)]
Fix test for length 2 matches

5 years agoSeparate suffix array match-finder from LZX compressor
Eric Biggers [Mon, 30 Dec 2013 01:37:39 +0000 (19:37 -0600)]
Separate suffix array match-finder from LZX compressor

5 years agoimagex-update.1.in: Add note about setting ignore case
Eric Biggers [Tue, 31 Dec 2013 19:48:57 +0000 (13:48 -0600)]
imagex-update.1.in:  Add note about setting ignore case

5 years agomkwinpeimg.1: Add suggestion to use wimlib-imagex
Eric Biggers [Tue, 31 Dec 2013 19:43:28 +0000 (13:43 -0600)]
mkwinpeimg.1:  Add suggestion to use wimlib-imagex

5 years agomkwinpeimg: Make compatible with Syslinux version 6
Eric Biggers [Tue, 31 Dec 2013 19:36:39 +0000 (13:36 -0600)]
mkwinpeimg: Make compatible with Syslinux version 6

5 years agoimagex_progress_func(): Fix variable
Eric Biggers [Tue, 31 Dec 2013 00:13:36 +0000 (18:13 -0600)]
imagex_progress_func(): Fix variable

5 years agoFix completed_streams of write streams progress and update docs
Eric Biggers [Mon, 30 Dec 2013 22:58:32 +0000 (16:58 -0600)]
Fix completed_streams of write streams progress and update docs

5 years agoread_utf8_file_contents(): Move check for BOM here
Eric Biggers [Mon, 30 Dec 2013 14:45:06 +0000 (08:45 -0600)]
read_utf8_file_contents(): Move check for BOM here

5 years agoparse_path_list_file(): Ignore UTF-8 BOM
Eric Biggers [Mon, 30 Dec 2013 08:50:20 +0000 (02:50 -0600)]
parse_path_list_file(): Ignore UTF-8 BOM

5 years agowimlib_vmsg(): Use correct error string buffer length
Eric Biggers [Mon, 30 Dec 2013 08:39:40 +0000 (02:39 -0600)]
wimlib_vmsg():  Use correct error string buffer length

5 years agowin32_set_security_descriptor(): Check handle before closing
Eric Biggers [Mon, 30 Dec 2013 07:36:48 +0000 (01:36 -0600)]
win32_set_security_descriptor(): Check handle before closing

5 years agowildcard.c: Don't use broken PathMatchSpec()
Eric Biggers [Mon, 30 Dec 2013 07:21:24 +0000 (01:21 -0600)]
wildcard.c:  Don't use broken PathMatchSpec()

5 years agoread_path_list_file(): Handle missing terminal newline
Eric Biggers [Sun, 29 Dec 2013 21:49:34 +0000 (15:49 -0600)]
read_path_list_file(): Handle missing terminal newline

5 years agoextract.c: Fix short name reordering
Eric Biggers [Sun, 29 Dec 2013 21:41:23 +0000 (15:41 -0600)]
extract.c:  Fix short name reordering

5 years agoread_wim_lookup_table(): Correctly get uncompressed size of packs
Eric Biggers [Sun, 29 Dec 2013 20:58:48 +0000 (14:58 -0600)]
read_wim_lookup_table():  Correctly get uncompressed size of packs

5 years agoMisc fixes
Eric Biggers [Sun, 29 Dec 2013 20:21:10 +0000 (14:21 -0600)]
Misc fixes

5 years agoxml.c: Add support for PKEYCONFIGVERSION
Eric Biggers [Sun, 29 Dec 2013 18:12:04 +0000 (12:12 -0600)]
xml.c:  Add support for PKEYCONFIGVERSION

5 years agoReturn new error code when trying to open encrypted WIM
Eric Biggers [Sun, 29 Dec 2013 17:39:54 +0000 (11:39 -0600)]
Return new error code when trying to open encrypted WIM

5 years agoread_wim_lookup_table(): Fix error paths
Eric Biggers [Sun, 29 Dec 2013 03:56:17 +0000 (21:56 -0600)]
read_wim_lookup_table(): Fix error paths

5 years agowrite_stream_process_chunk(): Remove dead assignment
Eric Biggers [Sun, 29 Dec 2013 02:48:31 +0000 (20:48 -0600)]
write_stream_process_chunk(): Remove dead assignment

5 years agoextract_trees(): Fix extraction of multiple paths to stdout
Eric Biggers [Sun, 29 Dec 2013 02:44:21 +0000 (20:44 -0600)]
extract_trees():  Fix extraction of multiple paths to stdout

5 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

5 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

5 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

5 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

5 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

5 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

5 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()

5 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

5 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

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

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

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

5 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

5 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

5 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

5 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

5 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

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

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

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

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

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

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

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

5 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().

5 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

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

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