]>
git.ipfire.org Git - thirdparty/libarchive.git/log
Brad King [Wed, 11 Jan 2012 13:15:59 +0000 (08:15 -0500)]
Include linux/types.h before linux/fiemap.h
Some Linux API versions do not perform this inclusion automatically,
so types like __u64 needed by the latter are not available.
SVN-Revision: 4135
Brad King [Wed, 11 Jan 2012 13:15:53 +0000 (08:15 -0500)]
Define _XOPEN_SOURCE=500 on HP-UX
The HP-UX <wchar.h> header provides 'mbstate_t' in C89/C90 mode only if
_XOPEN_SOURCE is defined to exactly 500. Type 'mbstate_t' was
introduced in C89/C90 Normative Amendment 1, aka C94/C95, adding support
international character sets. It is part of C99 but not C89/C90.
SVN-Revision: 4134
Brad King [Wed, 11 Jan 2012 13:15:49 +0000 (08:15 -0500)]
Cleanup after ZLIB_WINAPI check
Clear CMAKE_REQUIRED_(INCLUDES|LIBRARIES) so that the rest of the checks
after this one do not try to link zlib.
SVN-Revision: 4133
Brad King [Wed, 11 Jan 2012 13:15:42 +0000 (08:15 -0500)]
Check for 'struct statvfs' member 'f_iosize'
Configure the result as definition HAVE_STRUCT_STATVFS_F_IOSIZE and use
the member only if it exists. At least one platform (IRIX) provides
struct statvfs without this member.
SVN-Revision: 4132
Brad King [Wed, 11 Jan 2012 13:15:36 +0000 (08:15 -0500)]
Do not use ST_NOATIME if not defined
Use the same pattern already used elsewhere in archive_read_disk_posix.c
to use ST_NOATIME only when defined.
SVN-Revision: 4131
Brad King [Wed, 11 Jan 2012 13:15:31 +0000 (08:15 -0500)]
Fix var decl after statement in archive_string.c
When HAVE_MBRTOWC is true we declare an extra local variable. Move the
unused argument cast to the end of the invalid_mbs function.
SVN-Revision: 4130
Brad King [Wed, 11 Jan 2012 13:15:25 +0000 (08:15 -0500)]
Fix Windows NT API usage in VS 6
VS 6 warns verbosely when WINVER >= 0x0500. Avoid defining WINVER and
_WIN32_WINNT to higher than 0x0400 on VS 6. Provide missing API
declarations in archive_windows.h when we do not get them from
<windows.h>. Provide GetVolumePathNameW because VS 6 does not declare
it regardless of the API version.
SVN-Revision: 4129
Brad King [Wed, 11 Jan 2012 13:15:20 +0000 (08:15 -0500)]
Cast mode constants to mode_t in case it is signed
At least one compiler (Borland) defines mode_t as just "short" which is
signed. This breaks code like
switch(archive_entry_filetype(e)) {
case AE_IFREG:
...
}
if AE_IFREG and other constants have a longer signed type (int) because
sign extension of the mode_t return type from archive_entry_filetype
changes its value. Avoid the problem by ensuring the type of the
constants matches mode_t.
SVN-Revision: 4128
Brad King [Wed, 11 Jan 2012 13:15:14 +0000 (08:15 -0500)]
Replace integer constant LL suffix with cast to int64_t
The LL suffix is not portable. Use an explicit cast instead.
SVN-Revision: 4127
Brad King [Wed, 11 Jan 2012 13:15:09 +0000 (08:15 -0500)]
Declare mbstate_t and wcrtomb for Borland
The Borland C++ 5.81 runtime library provides wcrtomb but only the C++
header <cwchar> actually declares the API. Since this is C code we
cannot use the header, so declare it ourselves.
SVN-Revision: 4126
Brad King [Wed, 11 Jan 2012 13:15:03 +0000 (08:15 -0500)]
Implement custom lseek for Borland
Restore Windows 64-bit lseek removed by upstream svn revision 3826
(Cast away __la_lseek(), use _lseeki64() instead, 2011-11-21). We
need it on Borland.
SVN-Revision: 4125
Brad King [Wed, 11 Jan 2012 13:14:57 +0000 (08:14 -0500)]
Fix typo in CheckFileOffsetBits
s/Cheking/Checking/
Author: Rolf Eike Beer <eike@sf-mail.de>
SVN-Revision: 4124
Michihiro NAKAJIMA [Wed, 11 Jan 2012 07:21:25 +0000 (02:21 -0500)]
Issue 223. Revise r4120 and merge r4122 from trunk.
SVN-Revision: 4123
Michihiro NAKAJIMA [Wed, 11 Jan 2012 07:14:29 +0000 (02:14 -0500)]
Be more portable way to test if the current filesytem is mounted with noatime option.
SVN-Revision: 4122
Michihiro NAKAJIMA [Wed, 11 Jan 2012 01:02:23 +0000 (20:02 -0500)]
Avoid possibility to pass zero to the first argument of calloc().
Clang Static Analyzer complaned of that.
SVN-Revision: 4121
Michihiro NAKAJIMA [Tue, 10 Jan 2012 23:11:02 +0000 (18:11 -0500)]
Issue 223. Merge from r4119 from trunk.
SVN-Revision: 4120
Michihiro NAKAJIMA [Tue, 10 Jan 2012 10:10:03 +0000 (05:10 -0500)]
Do not try a test restoring atime when the filesytem is mounted with noatime option.
SVN-Revision: 4119
Tim Kientzle [Tue, 10 Jan 2012 07:17:48 +0000 (02:17 -0500)]
Merge fixes for Issue 222 from trunk: Write entry data correctly
when writing sparse files to Pax archives using GNU tar 1.0 sparse format.
SVN-Revision: 4118
Tim Kientzle [Tue, 10 Jan 2012 07:11:46 +0000 (02:11 -0500)]
Merge from trunk: whitespace cleanup.
SVN-Revision: 4117
Tim Kientzle [Tue, 10 Jan 2012 07:10:05 +0000 (02:10 -0500)]
Merge from trunk: Allow building on systems that lack PATH_MAX definition.
SVN-Revision: 4116
Tim Kientzle [Tue, 10 Jan 2012 07:05:12 +0000 (02:05 -0500)]
Merge from trunk: always-true comparison.
SVN-Revision: 4115
Tim Kientzle [Tue, 10 Jan 2012 07:04:23 +0000 (02:04 -0500)]
Merge from trunk: Minor compiler warning cleanup.
SVN-Revision: 4114
Tim Kientzle [Tue, 10 Jan 2012 07:01:29 +0000 (02:01 -0500)]
Record already-merged changes.
SVN-Revision: 4113
Tim Kientzle [Tue, 10 Jan 2012 06:48:26 +0000 (01:48 -0500)]
Record already-merged change.
SVN-Revision: 4112
Tim Kientzle [Tue, 10 Jan 2012 06:44:41 +0000 (01:44 -0500)]
Record already-merged changes.
SVN-Revision: 4111
Tim Kientzle [Tue, 10 Jan 2012 06:42:09 +0000 (01:42 -0500)]
Merge spelling fixes from trunk.
SVN-Revision: 4110
Tim Kientzle [Tue, 10 Jan 2012 06:40:42 +0000 (01:40 -0500)]
Record already-merged change.
SVN-Revision: 4109
Tim Kientzle [Tue, 10 Jan 2012 06:38:49 +0000 (01:38 -0500)]
Record already-merged changes.
SVN-Revision: 4108
Tim Kientzle [Tue, 10 Jan 2012 04:53:50 +0000 (23:53 -0500)]
Merge r4106 to fix Issue 221.
SVN-Revision: 4107
Tim Kientzle [Tue, 10 Jan 2012 04:49:19 +0000 (23:49 -0500)]
Allow archive_*_free(NULL) to succeed.
SVN-Revision: 4106
Michihiro NAKAJIMA [Mon, 9 Jan 2012 06:42:25 +0000 (01:42 -0500)]
Fix a handling of spase file more. It wrote extra bytes(adding sparse hole)
when sparse file data was incompletely written.
SVN-Revision: 4103
Michihiro NAKAJIMA [Mon, 9 Jan 2012 06:01:48 +0000 (01:01 -0500)]
Add a test for archiving sparse files with pax writer.
SVN-Revision: 4102
Tim Kientzle [Mon, 9 Jan 2012 05:47:16 +0000 (00:47 -0500)]
Issue 222: Ouch! Pax writer doesn't correctly disassemble sparse
data when writing it out to the archive.
There's clearly a test missing somewhere around here...
SVN-Revision: 4101
Michihiro NAKAJIMA [Mon, 9 Jan 2012 04:30:31 +0000 (23:30 -0500)]
Merge r4097 from trunk.
SVN-Revision: 4100
Michihiro NAKAJIMA [Mon, 9 Jan 2012 04:14:25 +0000 (23:14 -0500)]
Fix a handling of sparse files in bsdtar.(Not issue 222)
SVN-Revision: 4098
Michihiro NAKAJIMA [Mon, 9 Jan 2012 03:03:19 +0000 (22:03 -0500)]
If linux major version is 3 or later we can test sparse files.
SVN-Revision: 4097
Tim Kientzle [Sun, 8 Jan 2012 00:47:52 +0000 (19:47 -0500)]
Merge Ulrich Spoerlein's spelling fixes from trunk.
SVN-Revision: 4095
Tim Kientzle [Sun, 8 Jan 2012 00:45:39 +0000 (19:45 -0500)]
Last of Ulrich Spoerlein's spelling fixes.
SVN-Revision: 4094
Tim Kientzle [Sun, 8 Jan 2012 00:45:09 +0000 (19:45 -0500)]
Spelling fixes from Ulrich Spoerlein
SVN-Revision: 4093
Tim Kientzle [Sun, 8 Jan 2012 00:43:56 +0000 (19:43 -0500)]
Spelling fixes from Ulrich Spoerlein.
SVN-Revision: 4092
Michihiro NAKAJIMA [Sat, 7 Jan 2012 08:00:12 +0000 (03:00 -0500)]
Introduce archive_read_disk_disable_mac_copyfile() to eliminate the mac
specific code handling of a resource fork file whose filename has "._" prefix
from bsdtar.
SVN-Revision: 4091
Michihiro NAKAJIMA [Fri, 6 Jan 2012 05:53:29 +0000 (00:53 -0500)]
The size of output buffer should be the multiple number of the write block size
in order to reduce an extra copy of output data at archive_write.c.
SVN-Revision: 4090
Michihiro NAKAJIMA [Thu, 5 Jan 2012 08:07:22 +0000 (03:07 -0500)]
Switch directory traversals code in bsdtar from tar/tree.[ch] to the new one in libarchive library.
This can fix issue 211. This reduce platform specific code in bsdtar, especially a check of
nodump flag, and, of course, a use of Windows APIs.
SVN-Revision: 4089
Michihiro NAKAJIMA [Thu, 5 Jan 2012 07:35:24 +0000 (02:35 -0500)]
Make sure remaining asynchronous reads are canceled whenever something unexpected sequence happen.
SVN-Revision: 4088
Michihiro NAKAJIMA [Wed, 4 Jan 2012 06:52:24 +0000 (01:52 -0500)]
Clean up: style fix and remove unneeded statements and definitions.
SVN-Revision: 4086
Michihiro NAKAJIMA [Wed, 4 Jan 2012 06:43:12 +0000 (01:43 -0500)]
Remove POSIX specific code about taking care of ftruncate failure.
SVN-Revision: 4085
Michihiro NAKAJIMA [Wed, 4 Jan 2012 06:36:59 +0000 (01:36 -0500)]
Use OVERLAOPED data with WriteFile API instead of SetFilePointer API to set the file offset.
SVN-Revision: 4084
Michihiro NAKAJIMA [Wed, 4 Jan 2012 05:39:09 +0000 (00:39 -0500)]
Improve handing a wildcard which has "//?/" prefix.
SVN-Revision: 4083
Michihiro NAKAJIMA [Wed, 4 Jan 2012 04:58:14 +0000 (23:58 -0500)]
Avoid a warning on Visual Studio.
SVN-Revision: 4082
Tim Kientzle [Wed, 4 Jan 2012 03:21:54 +0000 (22:21 -0500)]
Issue 219: 'size' variable should be signed, to detect overflow.
SVN-Revision: 4077
Michihiro NAKAJIMA [Wed, 4 Jan 2012 01:46:33 +0000 (20:46 -0500)]
Style fix. <space> ==> <tab>.
SVN-Revision: 4076
Michihiro NAKAJIMA [Wed, 4 Jan 2012 01:27:07 +0000 (20:27 -0500)]
Clean up; remove unused including files and macros, which originally came from POSIX version, on Windows.
SVN-Revision: 4075
Michihiro NAKAJIMA [Wed, 4 Jan 2012 01:18:44 +0000 (20:18 -0500)]
Implement asynchronous read in directory traversals on Windows.
SVN-Revision: 4074
Michihiro NAKAJIMA [Tue, 3 Jan 2012 21:50:07 +0000 (16:50 -0500)]
Fix one of issue 219; remove an unnecessary check.
SVN-Revision: 4073
Michihiro NAKAJIMA [Tue, 3 Jan 2012 04:59:04 +0000 (23:59 -0500)]
In the directory traversals on Windows, a unit size of reading data should be a sector size to be able
to use FILE_FLAG_NO_BUFFERING such as POSIX O_DIRECT flag for improving reading performance.
SVN-Revision: 4072
Michihiro NAKAJIMA [Sun, 1 Jan 2012 22:03:31 +0000 (17:03 -0500)]
Rename archive_read_disk_set_time_filter_callback to archive_read_disk_set_metadata_filter_callback.
SVN-Revision: 4069
Michihiro NAKAJIMA [Sun, 1 Jan 2012 21:27:53 +0000 (16:27 -0500)]
Set uname and gname before calling a time filter callback.
SVN-Revision: 4068
Michihiro NAKAJIMA [Sat, 31 Dec 2011 22:06:37 +0000 (17:06 -0500)]
Add a test for --nodump option.
SVN-Revision: 4056
Michihiro NAKAJIMA [Sat, 31 Dec 2011 21:39:51 +0000 (16:39 -0500)]
Introduce canNodump and assertNodump to bsdtar_test and bsdcpio_test.
SVN-Revision: 4054
Michihiro NAKAJIMA [Sat, 31 Dec 2011 21:37:38 +0000 (16:37 -0500)]
Enable canNodump and assertNodump on linux and move them into test/main.c
SVN-Revision: 4053
Michihiro NAKAJIMA [Sat, 31 Dec 2011 19:29:09 +0000 (14:29 -0500)]
Introduce archive_read_disk_honor_nodump() to eliminate the platform
dependent code testing nodump flag from bsdtar and bsdpax.
SVN-Revision: 4052
Tim Kientzle [Sat, 31 Dec 2011 18:54:34 +0000 (13:54 -0500)]
Merge r4050 from trunk to fix Issue 212.
SVN-Revision: 4051
Tim Kientzle [Sat, 31 Dec 2011 18:52:52 +0000 (13:52 -0500)]
Issue 212: A more accurate way to determine if a partucular
library has already been added to $mdLIBS.
SVN-Revision: 4050
Michihiro NAKAJIMA [Sat, 31 Dec 2011 08:48:59 +0000 (03:48 -0500)]
Introduce archive_read_disk_set_name_filter_callback and archive_read_disk_set_time_filter_callback.
That is used for directory traversals to improve performance.
A name filter callback set by archive_read_disk_set_name_filter_callback will be called just after
the file is selected as next an entry; only pathname is set in the archive_entry object.
A time filter callback set by archive_read_disk_set_time_filter_callback will be called just after
the meta data such as mtime or ctime is set in the archive_entry object.
In the time filter callback, you can use archive_read_disk_can_descend and archive_read_disk_descend.
SVN-Revision: 4049
Tim Kientzle [Fri, 30 Dec 2011 23:51:15 +0000 (18:51 -0500)]
Merge r4047 from trunk to fix Issue 218.
SVN-Revision: 4048
Tim Kientzle [Fri, 30 Dec 2011 23:50:40 +0000 (18:50 -0500)]
Issue 218: Suppress extracting the body only if we know the body has
zero size. If we don't know the size, we have to proceed as if it is
non-zero.
This manifests as empty bodies when extracting Zip archives
using length-at-end semantics from a pipe using bsdcpio.
SVN-Revision: 4047
Tim Kientzle [Fri, 30 Dec 2011 21:56:37 +0000 (16:56 -0500)]
Merge r4045 from trunk to fix Issue 217.
SVN-Revision: 4046
Tim Kientzle [Fri, 30 Dec 2011 21:55:12 +0000 (16:55 -0500)]
Issue 217: build warning about uninitialized variable.
SVN-Revision: 4045
Michihiro NAKAJIMA [Fri, 30 Dec 2011 19:08:53 +0000 (14:08 -0500)]
Issue 216: bsdtar output truncated.
Merge r4042 from trunk.
SVN-Revision: 4043
Michihiro NAKAJIMA [Fri, 30 Dec 2011 19:04:14 +0000 (14:04 -0500)]
Issue 216: bsdtar output truncated.
Properly treat the long path that the return code of snprintf function is -1.
SVN-Revision: 4042
Michihiro NAKAJIMA [Fri, 30 Dec 2011 17:32:19 +0000 (12:32 -0500)]
Improve test utilities to correctly detect the Windows style of full path that starts with "c:\".
Building full path name in test utilities should use memmove instead of strcpy because it is
possible that an original path name should overlap itself when moving the path.
SVN-Revision: 4040
Tim Kientzle [Fri, 30 Dec 2011 06:54:03 +0000 (01:54 -0500)]
Issue 214: Don't require MNT_NOATIME
SVN-Revision: 4038
Tim Kientzle [Fri, 30 Dec 2011 06:53:15 +0000 (01:53 -0500)]
Issue 214: Don't require MNT_NOATIME
SVN-Revision: 4037
Tim Kientzle [Fri, 30 Dec 2011 06:49:55 +0000 (01:49 -0500)]
Merge from trunk: Don't use copyfile() when it's not available.
SVN-Revision: 4036
Tim Kientzle [Fri, 30 Dec 2011 06:48:58 +0000 (01:48 -0500)]
Don't try to use copyfile with older Mac OS SDKs that don't support it.
SVN-Revision: 4035
Michihiro NAKAJIMA [Thu, 29 Dec 2011 05:33:56 +0000 (00:33 -0500)]
Introduce archive_read_disk_can_descend to know whether the current entry can descend or not.
It will be needed when bsdtar uses the new directory traversals code instead of
its traversals code(in tar/tree.c). bsdpax also might use it.
SVN-Revision: 4034
Tim Kientzle [Thu, 29 Dec 2011 03:08:27 +0000 (22:08 -0500)]
Bump trunk to 3.0.900a so it will be ready to
build test releases for 3.1.
SVN-Revision: 4029
Tim Kientzle [Thu, 29 Dec 2011 03:01:55 +0000 (22:01 -0500)]
Require CMake 2.8 and drop the workaround for older versions.
SVN-Revision: 4028
Tim Kientzle [Thu, 29 Dec 2011 03:01:07 +0000 (22:01 -0500)]
Require CMake 2.8 and drop some workarounds for older versions.
SVN-Revision: 4027
Tim Kientzle [Thu, 29 Dec 2011 02:49:32 +0000 (21:49 -0500)]
Merge from trunk: Use a more portable grep incantation.
SVN-Revision: 4026
Tim Kientzle [Thu, 29 Dec 2011 02:48:47 +0000 (21:48 -0500)]
Don't use -e option to grep (Solaris 10 doesn't have it).
Use $GREP (configure tries to find a "good" grep)
SVN-Revision: 4025
Michihiro NAKAJIMA [Thu, 29 Dec 2011 02:19:45 +0000 (21:19 -0500)]
Improve directory traversals on Windows to correctly handle the path which starts with "\\?\" or "//?/".
SVN-Revision: 4024
Michihiro NAKAJIMA [Wed, 28 Dec 2011 17:00:43 +0000 (12:00 -0500)]
Issue 210. Merge from r4022 from trunk.
SVN-Revision: 4023
Michihiro NAKAJIMA [Wed, 28 Dec 2011 16:59:36 +0000 (11:59 -0500)]
Issue 210. Plug memory leak on Windows.
SVN-Revision: 4022
Michihiro NAKAJIMA [Wed, 28 Dec 2011 16:41:32 +0000 (11:41 -0500)]
Issue 206. Merge from r4020 from trunk.
SVN-Revision: 4021
Michihiro NAKAJIMA [Wed, 28 Dec 2011 16:39:54 +0000 (11:39 -0500)]
Issue 206.
It seems the CreateHardLinkW API Windows 2000 provides cannot handle the path which have \\?\ prefix,
so if CreateHardLinkW failed, try it again without \\?' prefix.
SVN-Revision: 4020
Michihiro NAKAJIMA [Tue, 27 Dec 2011 17:10:55 +0000 (12:10 -0500)]
Issue 208: test_write_compress_program hangs.
Merge r4018 from trunk.
SVN-Revision: 4019
Michihiro NAKAJIMA [Tue, 27 Dec 2011 17:07:41 +0000 (12:07 -0500)]
Fix issue 208, test_write_compress_program hangs.
Rework __archive_create_child function to make ReadFile function return
in this case, and remvoe __la_fcntl.
SVN-Revision: 4018
Michihiro NAKAJIMA [Mon, 26 Dec 2011 23:45:16 +0000 (18:45 -0500)]
Issue 204: Merge r4014 from trunk.
SVN-Revision: 4016
Michihiro NAKAJIMA [Mon, 26 Dec 2011 23:44:19 +0000 (18:44 -0500)]
Issue 204: Merge r4014 from trunk.
SVN-Revision: 4015
Michihiro NAKAJIMA [Mon, 26 Dec 2011 23:42:33 +0000 (18:42 -0500)]
Issue 204: Fix shadowed local in archive_read_support_format_iso9660.c
SVN-Revision: 4014
Michihiro NAKAJIMA [Mon, 26 Dec 2011 20:15:28 +0000 (15:15 -0500)]
Set CMAKE_BUILD_TYPE to "Release".
SVN-Revision: 4013
Michihiro NAKAJIMA [Mon, 26 Dec 2011 19:22:48 +0000 (14:22 -0500)]
Merge r4011 from trunk.
SVN-Revision: 4012
Michihiro NAKAJIMA [Mon, 26 Dec 2011 19:20:44 +0000 (14:20 -0500)]
On Windows, Trim "//?/" prefix from the path since ASCII version APIs do not accept those type of the path.
SVN-Revision: 4011
Michihiro NAKAJIMA [Mon, 26 Dec 2011 18:54:55 +0000 (13:54 -0500)]
Avoid test_write_disk_lookup failure on Windows.
Merge r4009 from trunk.
SVN-Revision: 4010
Michihiro NAKAJIMA [Mon, 26 Dec 2011 18:52:58 +0000 (13:52 -0500)]
Avoid test_write_disk_lookup failure on Windows.
Getting uid from uname and gid from gname is not implemented on Windows.
SVN-Revision: 4009
Michihiro NAKAJIMA [Mon, 26 Dec 2011 18:03:58 +0000 (13:03 -0500)]
Avoid the bug of GetFullPathNameW.
Merge r4007 from trunk.
SVN-Revision: 4008
Michihiro NAKAJIMA [Mon, 26 Dec 2011 18:02:25 +0000 (13:02 -0500)]
Avoid the bug of GetFullPathNameW.
There is a case that GetFullPathNameW cannot return a sufficient buffer size
when the length of the file name pass to that function is one.
SVN-Revision: 4007
Michihiro NAKAJIMA [Mon, 26 Dec 2011 02:38:42 +0000 (21:38 -0500)]
Issue 203. Fix build failure without PATH_MAX.
Merge r4004 and r4005 from trunk.
SVN-Revision: 4006
Michihiro NAKAJIMA [Mon, 26 Dec 2011 02:29:06 +0000 (21:29 -0500)]
Avoid an extra copy of a script path, and, as a part of fixing issu 203, do not compare its length to PATH_MAX if PATH_MAX is not defined.
SVN-Revision: 4005