| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Zip writer no longer preserves full archive_entry objects for
every entry; it just accumulates the actual bytes to be put
into the central directory. Most of the central directory file
header is formatted at the same time as the local file header.
The header formatting is refactored to make it easier to support
variable-length extra data.
The tests are adjusted to match the new output: We include more
detailed extra data in the central directory, we're more selective
about generating data descriptors (they're not needed for directory
entries, for instance), UT extra data now includes only the time
fields specified by the user, we're setting the "version required"
field more accurately.
There are some initial attempts to include Zip64 extensions
when appropriate; that still needs lots of work. I'm not
yet sure how to test Zip64 support without generating gigantic
archives. Hmmm...
|
|
|
|
|
|
|
|
|
|
|
| |
Process extra data fields for central directory and local file headers
so we get correct full size information in both cases.
Correct central directory vs. local file header sanity check
to compare full size information (including data picked out of
the extra data).
Note: This does not yet support the Zip64 end-of-central-directory
marker so doesn't correctly handle very large archives.
|
| |
|
|
|
|
|
|
|
| |
* Build list of entries for Central directory at entry_finish
(So we can switch in-memory Central dir to a list of binary blobs.)
* Rename some variables to clarify the code.
* Add 'zip64' option to force zip64 extensions for testing
|
|
|
|
|
| |
incomplete Zip archives. In particular, some epub files have
0 in the file type part of the mode field.
|
|\ |
|
| |
| |
| |
| |
| | |
Compilers such as Borland and MIPSpro do not like struct initialization
with variables. Initialize using assignment instead.
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Caught by Clang's -fsanitize=shift. A small unsigned int was promoted,
according to C's regular promotion rules, to a signed int, it was then
left shifted. This sometimes pushed a 1 into the sign bit, which is
undefined behaviour. Fix by using unsigned temporaries.
|
| | |
| | |
| | |
| | | |
Currently the chown line is written with no space before entry name.
|
| | | |
|
| |\ \ |
|
| | |/
| |/|
| | |
| | | |
This was broken by a mis-parsing of the "2 hours" phrase.
|
| | |
| | |
| | |
| | | |
ignore padding at beginning or end. Fix Issue #257.
|
| | |
| | |
| | |
| | | |
to simplify testing.
|
| |/
|/| |
|
| |
| |
| |
| | |
Simplify the method/level checks here and fix a bug.
|
| |
| |
| |
| | |
an explicit negative number (which newer GCC complains about).
|
|\ \
| | |
| | | |
Do not require exclusive read access when reading files under windows
|
| | | |
|
|\ \ \
| | | |
| | | | |
Do not overwrite file size if the local file header has valid file size.
|
| | | |
| | | |
| | | |
| | | | |
This allows us to extract index.xml from Apple iWork '09 format files.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
should be treated as a valid empty tar archive.
(Such archives are generated by 'git archive' from an empty
repository.)
http://thread.gmane.org/gmane.comp.version-control.git/220485
http://code.google.com/p/libarchive/issues/detail?id=314
|
| | | | |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Fix overflow checking in archive_entry_sparse_add_entry()
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
gcc will optimize the overflow check x + y < 0 (assuming x, y >= 0)
into false, since signed integer overflow is undefined behavior in C.
Use a safe precondition check instead.
|
|/ / /
| | |
| | |
| | |
| | | |
This prevents a certain common programming error (passing -1 to write)
from leading to other problems deeper in the library.
|
| | |
| | |
| | |
| | |
| | |
| | | |
There's some bug in lrzip where small files cannot use 2nd stage
compression.
See http://ck-hack.blogspot.com/2012/03/lrzip-0612.html?showComment=1337356929450#c3154145708572533571
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some architectures would produce a bigger archive for compression
level 9 than with the default level, possibly due to memory
limitations.
Fixes #303
|
| | |
| | |
| | |
| | | |
Merged branch 'feature/write-format-raw' of https://github.com/Leonidas-from-XIV/libarchive
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Assigning from a read-only variable to a regular variable will issue
a warning from clang.
|
| | |
| | |
| | |
| | | |
libarchive should add the leading './' for such pathnames.
|
| | |
| | |
| | |
| | |
| | | |
Fixes #301.
Signed-off-by: Andres Mejia <amejia004@gmail.com>
|
| | | |
|
|\ \ \
| | | |
| | | | |
Make calls to the finish_entry callback optional
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
This is the normal implementation of quicksort.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This is useful for sorting a list of filepaths to
multivolume RARs for example.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
attr/xattr.h.
|
|/ / / |
|
| | |
| | |
| | |
| | | |
broke mingw builds.
|