<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libarchive/archive_read_open_fd.c, branch release/7.0.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2008-02-24T05:45:17+00:00</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2008-02-24T05:45:17+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a9c219fa3cec18ef9f30edec6fa106bf0e2d423d'/>
<id>a9c219fa3cec18ef9f30edec6fa106bf0e2d423d</id>
<content type='text'>
'RELENG_7_0_0_RELEASE'.

This commit was manufactured to restore the state of the 7.0-RELEASE image.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'RELENG_7_0_0_RELEASE'.

This commit was manufactured to restore the state of the 7.0-RELEASE image.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix 'bsdtar -t' on tape drives.  Libarchive uses the</title>
<updated>2007-06-26T03:06:48+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2007-06-26T03:06:48+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3f6c3bcd843dd2e1e43e4310592c59e76b9867ed'/>
<id>3f6c3bcd843dd2e1e43e4310592c59e76b9867ed</id>
<content type='text'>
skip() callback to skip over data when reading uncompressed
archives.  This gets invoked, for example, during tar -t
or tar -x with a filename argument.  The revised code
only calls [lf]seek() on regular files, instead of depending
on the kernel to return an error.

Thanks to: bde for explaining the implementation of lseek()
Thanks to: Daniel O'Connor for testing
Approved by: re (Ken Smith)
MFC after: 5 days
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
skip() callback to skip over data when reading uncompressed
archives.  This gets invoked, for example, during tar -t
or tar -x with a filename argument.  The revised code
only calls [lf]seek() on regular files, instead of depending
on the kernel to return an error.

Thanks to: bde for explaining the implementation of lseek()
Thanks to: Daniel O'Connor for testing
Approved by: re (Ken Smith)
MFC after: 5 days
</pre>
</div>
</content>
</entry>
<entry>
<title>Track whether the current read stream supports seek().  For now, we</title>
<updated>2007-06-18T00:36:54+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2007-06-18T00:36:54+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7faa61e65d19ebd4d3f13c07cad8407fd0a03ba5'/>
<id>7faa61e65d19ebd4d3f13c07cad8407fd0a03ba5</id>
<content type='text'>
assume yes unless seek has previously failed, but I fear I'll have to
avoid seeks under other circumstances.  (For instance, tape drives on
FreeBSD seem to return garbage from lseek().)  Also, optimize away
zero-byte skips.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
assume yes unless seek has previously failed, but I fear I'll have to
avoid seeks under other circumstances.  (For instance, tape drives on
FreeBSD seem to return garbage from lseek().)  Also, optimize away
zero-byte skips.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the copyright notice; it was always intended to be</title>
<updated>2007-01-09T08:05:56+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2007-01-09T08:05:56+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=63165a380d254eba7618afe0e043b9a35ae9a249'/>
<id>63165a380d254eba7618afe0e043b9a35ae9a249</id>
<content type='text'>
a vanilla 2-clause BSD license, but somehow some confusing
extra verbage get copied from somewhere.

Also, update the copyright dates to 2007 for all of the files.

Prompted by: several questions about what those extra words really mean
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
a vanilla 2-clause BSD license, but somehow some confusing
extra verbage get copied from somewhere.

Also, update the copyright dates to 2007 for all of the files.

Prompted by: several questions about what those extra words really mean
</pre>
</div>
</content>
</entry>
<entry>
<title>Change the client skipper API to use off_t instead of size_t/ssize_t; but</title>
<updated>2007-01-05T10:48:18+00:00</updated>
<author>
<name>Colin Percival</name>
<email>cperciva@FreeBSD.org</email>
</author>
<published>2007-01-05T10:48:18+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a0b84e7498933faae16f2f43a2a29a72c1850165'/>
<id>a0b84e7498933faae16f2f43a2a29a72c1850165</id>
<content type='text'>
wrap this within #if/#else/#endif so that it will only take effect once
ARCHIVE_API_VERSION is increased (which should happen on HEAD some time
between now and when RELENG_7 is branched).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
wrap this within #if/#else/#endif so that it will only take effect once
ARCHIVE_API_VERSION is increased (which should happen on HEAD some time
between now and when RELENG_7 is branched).
</pre>
</div>
</content>
</entry>
<entry>
<title>These files no longer use internal APIs, so no longer need to include</title>
<updated>2006-11-13T00:29:57+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2006-11-13T00:29:57+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=71f3ec709d9b34095763dcd3264f35d856fb32f6'/>
<id>71f3ec709d9b34095763dcd3264f35d856fb32f6</id>
<content type='text'>
archive_private.h.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
archive_private.h.
</pre>
</div>
</content>
</entry>
<entry>
<title>Minor cleanup of the standard read/write I/O modules:</title>
<updated>2006-11-13T00:26:45+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2006-11-13T00:26:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b2ba9b4e04008ad024e6416132c27cc7b15a8ffb'/>
<id>b2ba9b4e04008ad024e6416132c27cc7b15a8ffb</id>
<content type='text'>
 * Use public API, don't access struct archive directly.  (People should be able to copy these into their applications as a template for custom I/O callbacks.)
 * Set "skip" only for regular files.  ("skip" allows the low-level library to catch attempts to add an archive to itself or extract over itself.)
 * Simplify the write_open functions by just calling stat() at the beginning.  Somehow, these functions had acquired some complex logic that tried to avoid the stat() call but never succeeded.

MFC after: 10 days
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * Use public API, don't access struct archive directly.  (People should be able to copy these into their applications as a template for custom I/O callbacks.)
 * Set "skip" only for regular files.  ("skip" allows the low-level library to catch attempts to add an archive to itself or extract over itself.)
 * Simplify the write_open functions by just calling stat() at the beginning.  Somehow, these functions had acquired some complex logic that tried to avoid the stat() call but never succeeded.

MFC after: 10 days
</pre>
</div>
</content>
</entry>
<entry>
<title>Portability and style fixes:</title>
<updated>2006-11-10T06:39:46+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2006-11-10T06:39:46+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=aa1eeda578151e40c41ef39dd198979d4bae29a5'/>
<id>aa1eeda578151e40c41ef39dd198979d4bae29a5</id>
<content type='text'>
  * Actually use the HAVE_&lt;header&gt;_H macros to conditionally include
    system headers.  They've been defined for a long time, but only
    used in a few places.  Now they're used pretty consistently
    throughout.
  * Fill in a lot of missing casts for conversions from void*.
    Although Standard C doesn't require this, some people have been
    trying to use C++ compilers with this code, and they do require it.

Bit-for-bit, the compiled object files are identical, except for
one assert() whose line number changed, so I'm pretty confident I
didn't break anything.  ;-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  * Actually use the HAVE_&lt;header&gt;_H macros to conditionally include
    system headers.  They've been defined for a long time, but only
    used in a few places.  Now they're used pretty consistently
    throughout.
  * Fill in a lot of missing casts for conversions from void*.
    Although Standard C doesn't require this, some people have been
    trying to use C++ compilers with this code, and they do require it.

Bit-for-bit, the compiled object files are identical, except for
one assert() whose line number changed, so I'm pretty confident I
didn't break anything.  ;-)
</pre>
</div>
</content>
</entry>
<entry>
<title>Use 'skip' when ignoring data in tar archives.  This dramatically</title>
<updated>2006-07-30T00:29:01+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2006-07-30T00:29:01+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=693285bc87e2a2a3281cb03b9f718ae8798d693f'/>
<id>693285bc87e2a2a3281cb03b9f718ae8798d693f</id>
<content type='text'>
increases performance when extracting a single entry from a large
uncompressed archive, especially on slow devices such as USB hard
drives.

Requires a number of changes:
   * New archive_read_open2() supports a 'skip' client function
   * Old archive_read_open() is implemented as a wrapper now, to
     continue supporting the old API/ABI.
   * _read_open_fd and _read_open_file sprout new 'skip' functions.
   * compression layer gets a new 'skip' operation.
   * compression_none passes skip requests through to client.
   * compression_{gzip,bzip2,compress} simply ignore skip requests.

Thanks to: Benjamin Lutz, who designed and implemented the whole thing.
   I'm just committing it.  ;-)

TODO: Need to update the documentation a little bit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
increases performance when extracting a single entry from a large
uncompressed archive, especially on slow devices such as USB hard
drives.

Requires a number of changes:
   * New archive_read_open2() supports a 'skip' client function
   * Old archive_read_open() is implemented as a wrapper now, to
     continue supporting the old API/ABI.
   * _read_open_fd and _read_open_file sprout new 'skip' functions.
   * compression layer gets a new 'skip' operation.
   * compression_none passes skip requests through to client.
   * compression_{gzip,bzip2,compress} simply ignore skip requests.

Thanks to: Benjamin Lutz, who designed and implemented the whole thing.
   I'm just committing it.  ;-)

TODO: Need to update the documentation a little bit.
</pre>
</div>
</content>
</entry>
<entry>
<title>If the attempt to open the archive fails (either the client open</title>
<updated>2006-01-17T04:49:04+00:00</updated>
<author>
<name>Tim Kientzle</name>
<email>kientzle@FreeBSD.org</email>
</author>
<published>2006-01-17T04:49:04+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=752ede3058cc0a5410eafc497c8d5492fae2c2a9'/>
<id>752ede3058cc0a5410eafc497c8d5492fae2c2a9</id>
<content type='text'>
routine fails or the first read fails), invoke the client close
routine immediately so the client can clean up.  Also, don't store the
client pointers in this case, so that the client close routine can't
accidentally get called more than once.

A minor style fix to archive_read_open_fd.c while I'm here.

PR: 86453
Thanks to: Andrew Turner for reporting this and suggesting a fix.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
routine fails or the first read fails), invoke the client close
routine immediately so the client can clean up.  Also, don't store the
client pointers in this case, so that the client close routine can't
accidentally get called more than once.

A minor style fix to archive_read_open_fd.c while I'm here.

PR: 86453
Thanks to: Andrew Turner for reporting this and suggesting a fix.
</pre>
</div>
</content>
</entry>
</feed>
