Implement support for reading from multiple data objects as one large stream.
This enables support for reading archives split using the split utility.
Implement support for reading multivolume RAR archive files.
Use memcmp to find SP extension bytes
Fix segfault in iso9660 reader

Some odd ISO images do some funny things with RockRidge and Joliet data.
In this particular case, Joliet is used on the CD image, but the first
directory record has no RockRidge data. However, subsequent directory
entries (in the Joliet volume descriptor!) have RockRidge data attached,
although what is noticeably missing are type "NM" or name entries.

This causes seenRockridge to get flipped on, which makes the bad
assumption that seenJoliet is false.  This means that when we reach the
code searching for the "rr_moved" special file, we strcmp() against NULL
because our filename is really in file->utf16be_bytes.

This is by far the easiest fix (and likely most correct fix) to this
madness; I have no idea whether a UTF-16 encoded "rr_moved" file can
even exist with whatever mastering software was used on this ISO.

Also note that if you explicitly disable Joliet processing, you get a
very different file listing on this ISO; apparently this is a cleaver
way to hide files from prying eyes in the Windows world:

    $ ./bsdtar -t --options 'iso9660:joliet' -f example.iso | wc -l
    24
    $ ./bsdtar -t --options 'iso9660:!joliet' -f example.iso | wc -l
    3060
Remove fallthough-based logic from iso9660 reader

This simplifies the logic quite a bit, cuts down on code size, and
follows the principle of least surprise.
Merge pull request #11 from toofishes/iso9660

Iso9660 fixes and cleanups
Merge pull request #2 from amejia1/multivolume

Multivolume File Read Support
Only look for libmd if OpenSSL is not present.

In particular, this prevents us from trying to link
both on FreeBSD.
Initialize the buffer used for FIEMAP to avoid the error messages
valgrind complains about.
Fixes for GCC 4.7.0

Fixes the following compile error exposed with GCC 4.7.0:

    libarchive/archive_string.c: In function 'cesu8_to_unicode':
    libarchive/archive_string.c:2450:11: error: 'wc' may be used uninitialized in this function [-Werror=uninitialized]
    cc1: all warnings being treated as errors

As well as a test failure that depends on signed integer wraparound,
which is a very bad thing to do in C [1]. Mark the intermediate result
as volatile to prevent the compiler optimizing away the arithmetic and
the logical test.

[1] http://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/Signed-Overflow-Examples.html
Fix build failure on Visual Studio.
Fix the build failure of libarchive_test on Visual Studio.
Remove unneeded code.
Avoid a warning that Clang Static Analyzer complained
"Access to field 'unconsumed' results in a dereference of a null
 pointer (loaded from field 'entry_cfdata."
Fix a memory leak.
Fix the dereference of null pointer, which Clang Static Analyzer complained.
Resuscitate the old NFS4 support code and make it work on FreeBSD-CURRENT.
This includes a new test that archive_write_disk and archive_read_disk
consistently read/write ACL information to/from disk.
This new test currently passes on FreeBSD-CURRENT.
Fix the setup_acls placeholder used on systems where we don't have
system-dependent ACL support yet.
Add basic archive read and write filter support for lrzip.
Add silent build rules for lrzip.