wimlib
4 years agotools/make-windows-release: build with -DLIBXML_STATIC
Eric Biggers [Sun, 25 Jan 2015 16:47:05 +0000 (10:47 -0600)]
tools/make-windows-release: build with -DLIBXML_STATIC

This is needed to correctly link with xmlFree().

4 years agoheader cleanups
Eric Biggers [Sun, 25 Jan 2015 16:35:24 +0000 (10:35 -0600)]
header cleanups

4 years agoxml.c: Use xmlFree() for memory allocated by libxml2
Eric Biggers [Sun, 25 Jan 2015 01:47:28 +0000 (19:47 -0600)]
xml.c: Use xmlFree() for memory allocated by libxml2

4 years agoutil.c: Simplify wimlib_aligned_malloc()
Eric Biggers [Sun, 25 Jan 2015 01:36:13 +0000 (19:36 -0600)]
util.c: Simplify wimlib_aligned_malloc()

4 years agoupdate_image.c: handle_conflict(): fix freeing of unused branch
Eric Biggers [Sun, 25 Jan 2015 00:43:42 +0000 (18:43 -0600)]
update_image.c: handle_conflict(): fix freeing of unused branch

If the directory has alternate data streams, they should be freed here.

4 years agoClean up inode alias tracking
Eric Biggers [Sat, 24 Jan 2015 16:20:12 +0000 (10:20 -0600)]
Clean up inode alias tracking

New helper functions:

- d_associate()
- d_disassociate()

i_nlink, d_inode, and i_dentry are no longer changed outside of these
functions.  We maintain the invariants:

i_nlink == list_size(&i_dentry) == # of d_inode references

put_inode() is removed; free_inode() is now private to inode.c.

This fixes at least one bug: when freeing a dentry, it was not being
deleted from the inode's dentry list.

4 years agolzx_compress.c: adjust saving of length 2 matches
Eric Biggers [Tue, 20 Jan 2015 00:04:14 +0000 (18:04 -0600)]
lzx_compress.c: adjust saving of length 2 matches

4 years agolzx_compress.c: cleanups
Eric Biggers [Wed, 14 Jan 2015 03:55:46 +0000 (21:55 -0600)]
lzx_compress.c: cleanups

4 years agoLZ hashing cleanup
Eric Biggers [Wed, 14 Jan 2015 03:48:01 +0000 (21:48 -0600)]
LZ hashing cleanup

4 years agoEnsure validity of max_search_depth
Eric Biggers [Mon, 12 Jan 2015 02:06:41 +0000 (20:06 -0600)]
Ensure validity of max_search_depth

4 years agowimlib.h: Fix documentation for compression block sizes
Eric Biggers [Mon, 12 Jan 2015 01:03:10 +0000 (19:03 -0600)]
wimlib.h: Fix documentation for compression block sizes

4 years agolzx_compress.c: Clarify some array bounds
Eric Biggers [Sun, 11 Jan 2015 21:30:29 +0000 (15:30 -0600)]
lzx_compress.c:  Clarify some array bounds

4 years agov1.7.5-BETA
Eric Biggers [Sun, 11 Jan 2015 16:40:26 +0000 (10:40 -0600)]
v1.7.5-BETA

4 years agoMerge LZX compression updates
Eric Biggers [Sun, 11 Jan 2015 16:24:07 +0000 (10:24 -0600)]
Merge LZX compression updates

4 years agov1.7.4 v1.7.4
Eric Biggers [Sat, 3 Jan 2015 02:01:26 +0000 (20:01 -0600)]
v1.7.4

4 years agolzms_compress.c: honor LZMS_MAX_BUFFER_SIZE
Eric Biggers [Sat, 3 Jan 2015 01:43:00 +0000 (19:43 -0600)]
lzms_compress.c: honor LZMS_MAX_BUFFER_SIZE

4 years agoMisc. cleanups
Eric Biggers [Sat, 3 Jan 2015 00:25:50 +0000 (18:25 -0600)]
Misc. cleanups

4 years agoRestore -std=gnu99 instead of -std=c99
Eric Biggers [Tue, 30 Dec 2014 03:31:51 +0000 (21:31 -0600)]
Restore -std=gnu99 instead of -std=c99

4 years agoAdjust endianness detection
Eric Biggers [Tue, 30 Dec 2014 03:26:06 +0000 (21:26 -0600)]
Adjust endianness detection

__BYTE_ORDER__ isn't available in older gcc, unfortunately.

4 years agoREADME: update COMPRESSION RATIO section
Eric Biggers [Tue, 30 Dec 2014 02:40:53 +0000 (20:40 -0600)]
README: update COMPRESSION RATIO section

4 years agoUse --enable-ssse3-sha1 for x86_64 Windows builds
Eric Biggers [Tue, 30 Dec 2014 03:01:07 +0000 (21:01 -0600)]
Use --enable-ssse3-sha1 for x86_64 Windows builds

4 years agoCleanups from recent changes
Eric Biggers [Mon, 29 Dec 2014 02:03:09 +0000 (20:03 -0600)]
Cleanups from recent changes

4 years agoAdjust naming of (de)compression files
Eric Biggers [Fri, 26 Dec 2014 20:16:44 +0000 (14:16 -0600)]
Adjust naming of (de)compression files

4 years agoLZMS: decompression optimizations
Eric Biggers [Fri, 26 Dec 2014 16:56:16 +0000 (10:56 -0600)]
LZMS: decompression optimizations

4 years agoLZMS: optimize lzms_x86_filter()
Eric Biggers [Thu, 25 Dec 2014 02:33:49 +0000 (20:33 -0600)]
LZMS: optimize lzms_x86_filter()

4 years agoresource.c: Don't manually align buffer for uncompressed data
Eric Biggers [Thu, 25 Dec 2014 02:06:42 +0000 (20:06 -0600)]
resource.c: Don't manually align buffer for uncompressed data

The main reason this was being done was to speed up LZX postprocessing,
but that now can use the vectorized version (with a tiny bit of overhead)
even if the start of the buffer is not 16-byte aligned.

4 years agoLZX pre/post-processing improvements
Eric Biggers [Thu, 25 Dec 2014 01:58:04 +0000 (19:58 -0600)]
LZX pre/post-processing improvements

- much faster inner loop for non-vectorized version
- use either SSE2 or AVX-2 for vectorized version
- faster inner loop for vectorized version
- support vectorized version on buffers that are not properly aligned

4 years agomake-windows-release: get version number from configure.ac, not README
Eric Biggers [Tue, 23 Dec 2014 19:07:32 +0000 (13:07 -0600)]
make-windows-release: get version number from configure.ac, not README

4 years agoFaster XPRESS compression
Eric Biggers [Tue, 23 Dec 2014 05:16:38 +0000 (23:16 -0600)]
Faster XPRESS compression

4 years agotools/windeps/Makefile: update sources list
Eric Biggers [Fri, 19 Dec 2014 23:44:02 +0000 (17:44 -0600)]
tools/windeps/Makefile: update sources list

4 years agomkwinpeimg.1: missed an autoconf substitution
Eric Biggers [Fri, 19 Dec 2014 05:01:16 +0000 (23:01 -0600)]
mkwinpeimg.1: missed an autoconf substitution

4 years agoWindows build updates
Eric Biggers [Fri, 19 Dec 2014 03:38:48 +0000 (21:38 -0600)]
Windows build updates

4 years agoAdd ax_pthread.m4
Eric Biggers [Tue, 16 Dec 2014 05:50:04 +0000 (23:50 -0600)]
Add ax_pthread.m4

4 years agoconfigure.ac cleanup
Eric Biggers [Tue, 16 Dec 2014 04:55:03 +0000 (22:55 -0600)]
configure.ac cleanup

4 years agoMakefile.am cleanup
Eric Biggers [Tue, 16 Dec 2014 02:55:53 +0000 (20:55 -0600)]
Makefile.am cleanup

4 years agoutf16le_dupz() input may be misaligned
Eric Biggers [Tue, 16 Dec 2014 02:33:59 +0000 (20:33 -0600)]
utf16le_dupz() input may be misaligned

4 years agoDon't run man pages through configure
Eric Biggers [Tue, 16 Dec 2014 01:45:49 +0000 (19:45 -0600)]
Don't run man pages through configure

The only remaining reason is to update the version number, but there is
already a sed command being run to update all the dates.  So we might as
well simplify by just having the unmodified man pages.

4 years agoRemove support for --with-imagex-progname configure option
Eric Biggers [Tue, 16 Dec 2014 01:25:36 +0000 (19:25 -0600)]
Remove support for --with-imagex-progname configure option

The program is always called "wimlib-imagex" now.  I expect no one is
using the configuration option, and nothing stops the user from renaming
the binary anyway.

4 years agoRemove support for --enable-more-assertions configure option
Eric Biggers [Tue, 16 Dec 2014 00:20:29 +0000 (18:20 -0600)]
Remove support for --enable-more-assertions configure option

The only uses of wimlib_assert2() were in compression code (where
problems are relatively easy to detect), and this option was disabled by
default anyway.  Simplify by just having one kind of assertion.

4 years agoENABLE_MORE_DEBUG no longer exists
Eric Biggers [Tue, 16 Dec 2014 00:10:39 +0000 (18:10 -0600)]
ENABLE_MORE_DEBUG no longer exists

4 years agoinode.h, inode.c cleanup
Eric Biggers [Sun, 14 Dec 2014 21:03:40 +0000 (15:03 -0600)]
inode.h, inode.c cleanup

4 years agoClean up util.h and util.c
Eric Biggers [Sun, 14 Dec 2014 19:51:40 +0000 (13:51 -0600)]
Clean up util.h and util.c

- Move logging/error code into new file error.c
- Remove ZERO_ARRAY()
- Move path separator macros into paths.h
- Comment improvements
- Remove support for undocumented WIMLIB_DEBUG environmental variable

4 years agoHeader fixes
Eric Biggers [Sun, 14 Dec 2014 19:43:09 +0000 (13:43 -0600)]
Header fixes

4 years agoreference.c: correct rollback in error paths
Eric Biggers [Sun, 14 Dec 2014 18:05:52 +0000 (12:05 -0600)]
reference.c: correct rollback in error paths

previous implementation had several problems:

- use of 'out_refcnt' was wrong (it wasn't guaranteed to be 0 beforehand)
- globs were rolled back individually, not together

This commit correctly implements full rollback for both
wimlib_reference_resources() and wimlib_reference_resource_files().

4 years agoupdate_image.c: Add file comment
Eric Biggers [Sun, 14 Dec 2014 05:55:29 +0000 (23:55 -0600)]
update_image.c: Add file comment

4 years agoGet rid of wimlib/version.h
Eric Biggers [Sun, 14 Dec 2014 04:38:18 +0000 (22:38 -0600)]
Get rid of wimlib/version.h

4 years agoCleanup timestamp conversion code
Eric Biggers [Sun, 14 Dec 2014 03:26:06 +0000 (21:26 -0600)]
Cleanup timestamp conversion code

4 years agotagged_items.c: length should be rounded up when adding item
Eric Biggers [Sun, 14 Dec 2014 01:40:02 +0000 (19:40 -0600)]
tagged_items.c: length should be rounded up when adding item

Also 0-fill the new item, including the padding.

These changes have no effect on the only caller of
inode_add_tagged_item() but should be made for correctness in case this
function gets more callers in the future.

4 years agowim.h: reorganize WIMStruct fields and update comments
Eric Biggers [Sun, 14 Dec 2014 00:05:56 +0000 (18:05 -0600)]
wim.h: reorganize WIMStruct fields and update comments

4 years agonew internal image deletion helper
Eric Biggers [Sat, 13 Dec 2014 19:38:31 +0000 (13:38 -0600)]
new internal image deletion helper

Define a new helper function delete_wim_image() and use in
wimlib_delete_image() and in the error path of
wimlib_add_image_multisource().

This fixes a bug: current_image wasn't being reset to WIMLIB_NO_IMAGE in
the error path of wimlib_add_image_multisource().  Bad things would
happen if the library user then continued to use the same WIMStruct.

4 years agoexport_image.c: adjust error message
Eric Biggers [Sat, 13 Dec 2014 19:21:48 +0000 (13:21 -0600)]
export_image.c: adjust error message

4 years agoWIMStruct: Rename 'deletion_occurred' to 'image_deletion_occurred'
Eric Biggers [Sat, 13 Dec 2014 19:20:19 +0000 (13:20 -0600)]
WIMStruct: Rename 'deletion_occurred' to 'image_deletion_occurred'

4 years agoinode_fixup.h: remove unnecessary #include
Eric Biggers [Sat, 13 Dec 2014 19:17:12 +0000 (13:17 -0600)]
inode_fixup.h: remove unnecessary #include

4 years agolz_extend: little endian CPU is necessary for byte count to work
Eric Biggers [Thu, 11 Dec 2014 01:45:07 +0000 (19:45 -0600)]
lz_extend: little endian CPU is necessary for byte count to work

4 years agoAnnotate yet another unaligned memory access
Eric Biggers [Thu, 11 Dec 2014 01:14:40 +0000 (19:14 -0600)]
Annotate yet another unaligned memory access

4 years agoUpdate version to v1.7.4-BETA
Eric Biggers [Wed, 10 Dec 2014 04:53:21 +0000 (22:53 -0600)]
Update version to v1.7.4-BETA

4 years agoportability and compression cleanups
Eric Biggers [Wed, 10 Dec 2014 01:40:17 +0000 (19:40 -0600)]
portability and compression cleanups

- Split compiler.h into compiler.h and compiler-gcc.h
- Compile with -std=c99. Some GCC extensions are still used but they are
  explicitly defined in compiler-gcc.h.
- Add get_unaligned_uXX_le() and put_unaligned_uXX_le() helpers
- Faster lz_copy() in some cases
- Faster lz_extend() in some cases
- New bitops.h header

4 years agocleanups
Eric Biggers [Sat, 6 Dec 2014 17:42:37 +0000 (11:42 -0600)]
cleanups

4 years agoWorkaround for FILE_SUPERSEDE being broken in Windows PE ramdisk
Eric Biggers [Wed, 26 Nov 2014 04:26:29 +0000 (22:26 -0600)]
Workaround for FILE_SUPERSEDE being broken in Windows PE ramdisk

4 years agoAdd some missing config.h includes
Eric Biggers [Sat, 22 Nov 2014 04:02:15 +0000 (22:02 -0600)]
Add some missing config.h includes

4 years agolzms-compress.c: Remove unused function
Eric Biggers [Sat, 22 Nov 2014 03:59:39 +0000 (21:59 -0600)]
lzms-compress.c: Remove unused function

4 years agomount_image.c: Replace use of zero-length array
Eric Biggers [Sat, 22 Nov 2014 03:42:35 +0000 (21:42 -0600)]
mount_image.c: Replace use of zero-length array

4 years agoRemove unused 'wim' argument to read_metadata_resource()
Eric Biggers [Sat, 22 Nov 2014 03:40:05 +0000 (21:40 -0600)]
Remove unused 'wim' argument to read_metadata_resource()

4 years agolist.h cleanup
Eric Biggers [Sat, 22 Nov 2014 03:17:02 +0000 (21:17 -0600)]
list.h cleanup

4 years agoUse quote includes for all internal headers
Eric Biggers [Sat, 22 Nov 2014 03:03:01 +0000 (21:03 -0600)]
Use quote includes for all internal headers

4 years agosha1.c: Annotate potential unaligned memory accesses in sha1_final()
Eric Biggers [Thu, 20 Nov 2014 03:43:21 +0000 (21:43 -0600)]
sha1.c: Annotate potential unaligned memory accesses in sha1_final()

4 years agolookup_table.c: Annotate potential unaligned memory access in lookup_stream()
Eric Biggers [Thu, 20 Nov 2014 03:41:37 +0000 (21:41 -0600)]
lookup_table.c: Annotate potential unaligned memory access in lookup_stream()

5 years agowimlib.h: Fix error in wimlib_get_version() documentation
Eric Biggers [Sat, 15 Nov 2014 16:13:00 +0000 (10:13 -0600)]
wimlib.h: Fix error in wimlib_get_version() documentation

5 years agov1.7.3 v1.7.3
Eric Biggers [Fri, 14 Nov 2014 00:12:23 +0000 (18:12 -0600)]
v1.7.3

5 years agoSilence compiler warning in make_huffman_decode_table()
Eric Biggers [Tue, 11 Nov 2014 00:34:25 +0000 (18:34 -0600)]
Silence compiler warning in make_huffman_decode_table()

5 years agoLZX, LZMS: Annotate unaligned memory accesses in x86 filtering
Eric Biggers [Tue, 11 Nov 2014 00:10:41 +0000 (18:10 -0600)]
LZX, LZMS: Annotate unaligned memory accesses in x86 filtering

5 years agowimlib_export_image(): cleanups and fixes for rollback
Eric Biggers [Fri, 7 Nov 2014 00:50:18 +0000 (18:50 -0600)]
wimlib_export_image(): cleanups and fixes for rollback

- rollback setting of wimboot flag correctly (actually, don't even set it
  until we've succeeded)
- on rollback, free wim_lookup_table_entries in the destination if and
  only if they were exported.  Before it was possible for one to be freed
  if it happened to have had 0 reference count before.

5 years agowimlib_set_image_name(): Allow multiple images with empty name
Eric Biggers [Fri, 7 Nov 2014 00:44:54 +0000 (18:44 -0600)]
wimlib_set_image_name(): Allow multiple images with empty name

5 years agoFix for rewriting uncompressed resources when exporting from solid WIM
Eric Biggers [Wed, 5 Nov 2014 01:25:55 +0000 (19:25 -0600)]
Fix for rewriting uncompressed resources when exporting from solid WIM

The changes from commit 1ba2a3422b ("Workaround for WOF incompatibility")
are resulting in excessive, expensive decompressions when exporting small
incompressible files from solid blocks.  For now, add an optimization for
single chunk resources which prevents this common case from triggering
the degenerate behavior.

5 years agoRemove "memory exhausted" error messages
Eric Biggers [Sun, 26 Oct 2014 23:47:12 +0000 (18:47 -0500)]
Remove "memory exhausted" error messages

Calling code checks for NULL returns anyway, and in the case of
allocating chunk compressors there is a fallback so there shouldn't
be an error message.

5 years agowrite.c: Warn when falling back to single-threaded compression
Eric Biggers [Sun, 26 Oct 2014 23:50:49 +0000 (18:50 -0500)]
write.c: Warn when falling back to single-threaded compression

5 years agowin32_get_avail_memory(): Report 85% of minimum of virtual and physical memory
Eric Biggers [Sun, 26 Oct 2014 23:55:44 +0000 (18:55 -0500)]
win32_get_avail_memory(): Report 85% of minimum of virtual and physical memory

This should be a better prediction of how much memory can actually be
allocated.

5 years agoUpdate NEWS
Eric Biggers [Sat, 25 Oct 2014 18:13:21 +0000 (13:13 -0500)]
Update NEWS

5 years agoAdd warning messages and retries around FSCTL_SET_EXTERNAL_BACKING
Eric Biggers [Sat, 25 Oct 2014 16:28:03 +0000 (11:28 -0500)]
Add warning messages and retries around FSCTL_SET_EXTERNAL_BACKING

5 years agoDon't use the old ADD_IMAGE flag names
Eric Biggers [Sat, 25 Oct 2014 00:25:49 +0000 (19:25 -0500)]
Don't use the old ADD_IMAGE flag names

5 years agoRename add_image_params => capture_params
Eric Biggers [Sat, 25 Oct 2014 00:19:47 +0000 (19:19 -0500)]
Rename add_image_params => capture_params

5 years agoReport some extraction errors on Windows
Eric Biggers [Wed, 22 Oct 2014 03:19:11 +0000 (22:19 -0500)]
Report some extraction errors on Windows

5 years agoReport directory tree scan errors
Eric Biggers [Wed, 22 Oct 2014 03:18:05 +0000 (22:18 -0500)]
Report directory tree scan errors

5 years agoAdd WIMLIB_PROGRESS_MSG_HANDLE_ERROR
Eric Biggers [Wed, 22 Oct 2014 03:17:30 +0000 (22:17 -0500)]
Add WIMLIB_PROGRESS_MSG_HANDLE_ERROR

5 years agowin32_apply.c: Try to remove/rename conflicting short names
Eric Biggers [Sat, 18 Oct 2014 02:14:18 +0000 (21:14 -0500)]
win32_apply.c: Try to remove/rename conflicting short names

5 years agowimboot.c: Fix format string
Eric Biggers [Wed, 15 Oct 2014 00:00:17 +0000 (19:00 -0500)]
wimboot.c: Fix format string

5 years agoUpdate NEWS
Eric Biggers [Tue, 14 Oct 2014 04:24:02 +0000 (23:24 -0500)]
Update NEWS

5 years agowin32_apply.c: Match PrepopulateList patterns against all inode aliases
Eric Biggers [Tue, 14 Oct 2014 03:18:35 +0000 (22:18 -0500)]
win32_apply.c:  Match PrepopulateList patterns against all inode aliases

5 years agowin32_apply.c: Never externally back extracted SYSTEM registry files
Eric Biggers [Tue, 14 Oct 2014 03:10:27 +0000 (22:10 -0500)]
win32_apply.c: Never externally back extracted SYSTEM registry files

5 years agowimboot.c: Dynamically size extents and drive_info arrays
Eric Biggers [Tue, 14 Oct 2014 02:26:40 +0000 (21:26 -0500)]
wimboot.c:  Dynamically size extents and drive_info arrays

I figured a limit of 8 partitions is good enough, but for some reason
Windows returns 4 times as many partitions as there actually are.
Whatever, just remove the fixed limit.

5 years agoUpdate version to v1.7.3-BETA
Eric Biggers [Tue, 14 Oct 2014 01:36:05 +0000 (20:36 -0500)]
Update version to v1.7.3-BETA

5 years agoLimit can_modify_wim() calls; remove can_delete_from_wim()
Eric Biggers [Tue, 14 Oct 2014 00:42:16 +0000 (19:42 -0500)]
Limit can_modify_wim() calls; remove can_delete_from_wim()

It isn't necessary to check for permission to modify a WIM for in-memory
operations such as wimlib_add_image(), wimlib_update_image(), and
wimlib_delete_image().  It is only when the user attempts to modify an
on-disk WIM file using wimlib_overwrite() --- or when the user explicitly
opens an on-disk WIM file for write access --- that write permissions
need to be checked.

This change prevents the library from getting in the way of "unusual" use
cases, such as making last-minute changes to a WIM before extracting it
even when the underlying file is located on read-only media, which
otherwise are fully supported by the existing code.

Also part of this change is the removal of can_delete_from_wim().  This
function did a lot of work (decompressing each metadata resource) that
usually turns out to be a waste of time.  And it turns out that it really
needs to be called for any 'wimlib_update_command', including "add" and
"rename", because both "add" and "rename" can cause files to be deleted
(specifically, replaced).  But this is gone too far.  Instead, just get
rid of can_delete_from_wim() completely: it's not needed if we retain
0-reference streams when not recalculating reference counts as part of
wimlib_write() anyway.

5 years agov1.7.2 v1.7.2
Eric Biggers [Thu, 2 Oct 2014 23:42:49 +0000 (18:42 -0500)]
v1.7.2

5 years agoWorkaround for WOF incompatibility
Eric Biggers [Sun, 28 Sep 2014 03:55:57 +0000 (22:55 -0500)]
Workaround for WOF incompatibility

If a stream has compressed_size == uncompressed_size, WOF assumes it's
uncompressed.  As a workaround, we need to re-write the stream as uncompressed
if this ever happens.

This requires adjusting the DONE_WITH_FILE messages to be fired after writing
each stream, not after reading each stream.

We also need to loosen the check for whether the input stream is in a solid
block or not.

Finally, this commit also makes the DONE_WITH_FILE messages work in more cases
--- when appending to a WIM, and when the file hashes are already known.

5 years agowimlib-imagex: Don't open base or template WIMs for write access
Eric Biggers [Sat, 27 Sep 2014 22:23:51 +0000 (17:23 -0500)]
wimlib-imagex: Don't open base or template WIMs for write access

5 years agoUpdate COPYING
Eric Biggers [Sat, 27 Sep 2014 14:39:01 +0000 (09:39 -0500)]
Update COPYING

- Use "or later" clause for GPLv3 and LGPLv3
- Make LGPL exception more general

5 years agoprograms/wgetopt.c: Adjust license to reflect this not being part of the library
Eric Biggers [Sat, 27 Sep 2014 14:38:49 +0000 (09:38 -0500)]
programs/wgetopt.c: Adjust license to reflect this not being part of the library

5 years agoDon't bother with copyright statement in header file
Eric Biggers [Sat, 27 Sep 2014 14:37:35 +0000 (09:37 -0500)]
Don't bother with copyright statement in header file

5 years agoUse LGPLv3+ for src/*.c
Eric Biggers [Sat, 27 Sep 2014 14:37:07 +0000 (09:37 -0500)]
Use LGPLv3+ for src/*.c

5 years agoUpdate NEWS
Eric Biggers [Fri, 26 Sep 2014 04:01:05 +0000 (23:01 -0500)]
Update NEWS