Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Jun 2008 15:41:04 GMT
From:      Anselm Strauss <strauss@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 142709 for review
Message-ID:  <200806011541.m51Ff4Kj026646@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=142709

Change 142709 by strauss@strauss_daredevil on 2008/06/01 15:40:31

	parent integration

Affected files ...

.. //depot/projects/soc2008/strauss_libarchive/COPYING#4 integrate
.. //depot/projects/soc2008/strauss_libarchive/Makefile#4 delete
.. //depot/projects/soc2008/strauss_libarchive/Makefile.am#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/Makefile.in#2 delete
.. //depot/projects/soc2008/strauss_libarchive/NEWS#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/README#4 integrate
.. //depot/projects/soc2008/strauss_libarchive/aclocal.m4#2 delete
.. //depot/projects/soc2008/strauss_libarchive/autogen.sh#1 branch
.. //depot/projects/soc2008/strauss_libarchive/config.h.in#2 delete
.. //depot/projects/soc2008/strauss_libarchive/configure.ac#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/Makefile#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/bsdcpio.1#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/cmdline.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/config_freebsd.h#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/cpio.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/cpio.h#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/cpio_platform.h#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/err.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/matching.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/matching.h#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/pathmatch.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/pathmatch.h#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/Makefile#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/main.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test.h#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_0.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_basic.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_format_newc.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_gcpio_compat.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_gcpio_compat_ref.bin.uu#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_gcpio_compat_ref.crc.uu#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_gcpio_compat_ref.newc.uu#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_gcpio_compat_ref.ustar.uu#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_B.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_L.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_a.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_c.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_d.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_ell.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_f.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_f.cpio.uu#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_help.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_m.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_m.cpio.uu#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_t.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_t.cpio.uu#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_t.stdout.uu#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_tv.stdout.uu#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_u.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_version.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_y.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_z.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_owner_parse.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/cpio/test/test_pathmatch.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/Makefile#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive.h#1 branch
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive.h.in#3 delete
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_endian.h#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_entry.3#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_entry.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_entry.h#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_entry_link_resolver.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_entry_private.h#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_entry_strmode.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_platform.h#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_read.3#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_read_data_into_fd.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_read_extract.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_read_support_compression_bzip2.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_read_support_compression_program.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_read_support_format_ar.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_read_support_format_iso9660.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_read_support_format_mtree.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_read_support_format_tar.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_read_support_format_zip.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_string.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_string.h#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_util.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_windows.c#1 branch
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_windows.h#1 branch
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write.3#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_disk.3#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_disk.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_compression_program.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_ar.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_pax.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/archive_write_set_format_ustar.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/config_freebsd.h#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/config_windows.h#1 branch
.. //depot/projects/soc2008/strauss_libarchive/libarchive/cpio.5#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/filter_fork.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/libarchive-formats.5#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/mtree.5#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/tar.5#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/Makefile#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/main.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_acl_pax.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_archive_api_feature.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_entry.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_link_resolver.c#1 branch
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_pax_filename_encoding.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_read_format_mtree.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_read_format_tar_empty_filename.c#1 branch
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_read_format_tar_empty_filename.tar.uu#1 branch
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_tar_filenames.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_tar_large.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_ustar_filenames.c#1 branch
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_write_disk_hardlink.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_write_format_ar.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/libarchive/test/test_write_format_tar_ustar.c#1 branch
.. //depot/projects/soc2008/strauss_libarchive/release.sh#1 branch
.. //depot/projects/soc2008/strauss_libarchive/tar/Makefile#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/bsdtar.1#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/bsdtar.c#3 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/bsdtar.h#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/config_freebsd.h#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/matching.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/read.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/siginfo.c#1 branch
.. //depot/projects/soc2008/strauss_libarchive/tar/subst.c#1 branch
.. //depot/projects/soc2008/strauss_libarchive/tar/test/Makefile#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/test/main.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/test/test.h#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/test/test_0.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/test/test_basic.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/test/test_copy.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/test/test_getdate.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/test/test_help.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/test/test_option_T.c#1 branch
.. //depot/projects/soc2008/strauss_libarchive/tar/test/test_patterns.c#1 branch
.. //depot/projects/soc2008/strauss_libarchive/tar/test/test_stdio.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/test/test_version.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/util.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/tar/write.c#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/upload.sh#2 delete
.. //depot/projects/soc2008/strauss_libarchive/version#2 integrate
.. //depot/projects/soc2008/strauss_libarchive/windows/mvcpp.nt#1 branch
.. //depot/projects/soc2008/strauss_libarchive/windows/wccpp.nt#1 branch

Differences ...

==== //depot/projects/soc2008/strauss_libarchive/COPYING#4 (text+ko) ====

@@ -1,7 +1,41 @@
-All of the C source code and documentation in this package is subject
-to the following:
+The libarchive distribution as a whole is Copyright by Tim Kientzle
+and is subject to the copyright notice reproduced at the bottom of
+this file.
+
+Each individual file in this distribution should have a clear
+copyright/licensing statement at the beginning of the file.  If any do
+not, please let me know and I will rectify it.  The following is
+intended to summarize the copyright status of the individual files;
+the actual statements in the files are controlling.
+
+* Except as listed below, all C sources (including .c and .h files)
+  and documentation files are subject to the copyright notice reproduced
+  at the bottom of this file.
+
+* The following source files are also subject in whole or in part to
+  a 3-clause UC Regents copyright; please read the individual source
+  files for details:
+   libarchive/archive_entry.c
+   libarchive/archive_read_support_compression_compress.c
+   libarchive/archive_write_set_compression_compress.c
+   libarchive/mtree.5
+   tar/matching.c
+
+* The following source files are in the public domain:
+   tar/getdate.y
+
+* The build files---including Makefiles, configure scripts,
+  and auxiliary scripts used as part of the compile process---have
+  widely varying licensing terms.  Please check individual files before
+  distributing them to see if those restrictions apply to you.
+
+I intend for all new source code to use the license below and hope over
+time to replace code with other licenses with new implementations that
+do use the license below.  The varying licensing of the build scripts
+seems to be an unavoidable mess.
+
 
-Copyright (c) 2003-2006 Tim Kientzle
+Copyright (c) 2003-2008 <author(s)>
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without

==== //depot/projects/soc2008/strauss_libarchive/Makefile.am#3 (text+ko) ====

@@ -25,8 +25,9 @@
 #
 EXTRA_DIST= version			\
 	contrib				\
+	doc				\
 	examples			\
-        doc				\
+	windows				\
 	$(libarchive_EXTRA_DIST)	\
 	$(libarchive_test_EXTRA_DIST)	\
 	$(bsdtar_EXTRA_DIST)		\
@@ -43,7 +44,7 @@
 	rm -f `find $(distdir) -name '*.out'`
 	rm -f `find $(distdir) -name '*.core'`
 	-rm -f $(distdir)/*/Makefile $(distdir)/*/*/Makefile
-	cd $(distdir)/doc && ./update.sh
+	cd $(distdir)/doc && /bin/sh update.sh
 
 #
 # Extra rules for cleanup
@@ -69,10 +70,7 @@
 #
 #
 
-include_HEADERS= libarchive/archive_entry.h
-# Note: archive.h is built from archive.h.in, so don't
-# include archive.h in the distfile, but do install it.
-nodist_include_HEADERS= libarchive/archive.h
+include_HEADERS= libarchive/archive.h libarchive/archive_entry.h
 
 libarchive_la_SOURCES=						\
 	libarchive/archive_check_magic.c			\
@@ -140,8 +138,6 @@
 	libarchive/filter_fork.c				\
 	libarchive/filter_fork.h
 
-# archive.h ends up in the build directory, so make sure we can find it.
-libarchive_la_CPPFLAGS= -I$(top_builddir)/libarchive
 # cygwin barfs without -no-undefined; I don't know what it does or
 # whether it helps or hurts other platforms...
 libarchive_la_LDFLAGS= -no-undefined -version-info $(ARCHIVE_LIBTOOL_VERSION)
@@ -161,8 +157,10 @@
 	libarchive/tar.5
 
 # Additional libarchive files to include in the distribution
-libarchive_EXTRA_DIST=		\
-	libarchive/test/list.h	\
+libarchive_EXTRA_DIST=			\
+	libarchive/test/list.h		\
+	libarchive/archive_windows.c	\
+	libarchive/archive_windows.h	\
 	$(libarchive_man_MANS)
 
 #
@@ -272,14 +270,14 @@
 		tar/getdate.y		\
 		tar/matching.c		\
 		tar/read.c		\
+		tar/siginfo.c		\
+		tar/subst.c		\
 		tar/tree.c		\
 		tar/tree.h		\
 		tar/util.c		\
 		tar/write.c
 
-bsdtar_DEPENDENCIES= libarchive.la		\
-		libarchive/archive_entry.h	\
-		libarchive/archive.h
+bsdtar_DEPENDENCIES= libarchive.la
 
 if STATIC_BSDTAR
 bsdtar_static= -static
@@ -314,6 +312,8 @@
 	tar/test/test_copy.c					\
 	tar/test/test_getdate.c					\
 	tar/test/test_help.c					\
+	tar/test/test_option_T.c				\
+	tar/test/test_patterns.c				\
 	tar/test/test_stdio.c					\
 	tar/test/test_version.c
 
@@ -348,9 +348,7 @@
 		cpio/pathmatch.c	\
 		cpio/pathmatch.h
 
-bsdcpio_DEPENDENCIES = libarchive.la		\
-		libarchive/archive_entry.h	\
-		libarchive/archive.h
+bsdcpio_DEPENDENCIES = libarchive.la
 
 
 if STATIC_BSDCPIO

==== //depot/projects/soc2008/strauss_libarchive/NEWS#2 (text+ko) ====

@@ -1,4 +1,54 @@
 
+May 25, 2008: libarchive 2.5.4b released
+May 21, 2008: Joerg Sonnenberger: fix bsdtar hardlink handling for newc format
+
+May 21, 2008: More progress on Windows building.  Thanks to "Scott"
+        for the Windows makefiles, thanks to Kees Zeelenberg for
+        code contributions.
+
+May 21, 2008: Fix a number of non-exploitable integer and buffer overflows,
+        thanks to David Remahl at Apple for pointing these out.
+
+May 21, 2008: Colin Percival: SIGINFO or SIGUSR1 to bsdtar prints progress info
+
+May 16, 2008: bsdtar's test harness no longer depends on file ordering.
+        This was causing spurious test failures on a lot of systems.
+        Thanks to Bernhard R. Link for the diagnosis.
+
+May 14, 2008: Joerg Sonnenberger: -s substitution support for bsdtar
+
+May 13, 2008: Joerg Sonnenberger: Many mtree improvements
+
+May 11, 2008: Joerg Sonnenberger: fix hardlink extraction when
+	hardlinks have different permissions from original file
+
+April 30, 2008: Primary libarchive work has been moved into the FreeBSD
+	project's Perforce repository: 	http://perforce.freebsd.org/
+	The libarchive project can be browsed at
+        //depot/user/kientzle/libarchive-portable
+        Direct link: http://preview.tinyurl.com/46mdgr
+
+May 04, 2008: libarchive 2.5.3b released
+	* libarchive: Several fixes to link resolver to address bsdcpio crashes
+	* bsdcpio: -p hardlink handling fixes
+	* tar/pax: Ensure ustar dirnames end in '/'; be more careful about
+	  measuring filenames when deciding what pathname fields to use
+	* libarchive: Mark which entry strings are set; be accurate about
+	  distinguishing empty strings ("") from unset ones (NULL)
+	* tar: Don't crash reading entries with empty filenames
+	* libarchive_test, bsdtar_test, bsdcpio_test:  Better detaults:
+	  run all tests, delete temp dirs, summarize repeated failures
+	* -no-undefined to libtool for Cygwin
+	* libarchive_test: Skip large file tests on systems with 32-bit off_t
+	* iso9660: Don't bother trying to find the body of an empty file;
+	  this works around strange behavior from some ISO9660 writers
+	* tar: allow -r -T to be used together
+	* tar: allow --format with -r or -u
+	* libarchive: Don't build archive.h
+
+May 04, 2008: Simplified building: archive.h is no longer constructed
+	This may require additional #if conditionals on some platforms.
+
 Mar 30, 2008: libarchive 2.5.1b released
 
 Mar 15, 2008: libarchive 2.5.0b released

==== //depot/projects/soc2008/strauss_libarchive/README#4 (text+ko) ====

@@ -69,6 +69,7 @@
 The library can write:
   * gzip compression
   * bzip2 compression
+  * compress/LZW compression
   * POSIX ustar
   * POSIX pax interchange format
   * "restricted" pax format, which will create ustar archives except for

==== //depot/projects/soc2008/strauss_libarchive/configure.ac#2 (text+ko) ====

@@ -4,13 +4,13 @@
 dnl In particular, this allows the version macro to be used in AC_INIT
 
 dnl These first two version numbers are updated automatically on each release.
-m4_define([LIBARCHIVE_VERSION_S],[2.5.1b])
-m4_define([LIBARCHIVE_VERSION_N],[2005001])
+m4_define([LIBARCHIVE_VERSION_S],[2.5.4b])
+m4_define([LIBARCHIVE_VERSION_N],[2005004])
 
 dnl bsdtar versioning tracks libarchive
 m4_define([BSDTAR_VERSION_S],LIBARCHIVE_VERSION_S())
 dnl bsdcpio is still versioning separately
-m4_define([BSDCPIO_VERSION_S],[0.9.9a])
+m4_define([BSDCPIO_VERSION_S],[0.9.10a])
 
 #
 # Now starts the "real" configure script.
@@ -63,7 +63,6 @@
 
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_FILES([Makefile])
-AC_CONFIG_FILES([libarchive/archive.h])
 
 # Checks for programs.
 AC_PROG_CC
@@ -174,7 +173,7 @@
 AC_CHECK_HEADER(inttypes.h,
 	 [AC_SUBST(ARCHIVE_H_INCLUDE_INTTYPES_H,['#include <inttypes.h> /* For int64_t */'])],
 	 [AC_SUBST(ARCHIVE_H_INCLUDE_INTTYPES_H,[''])])
-AC_CHECK_HEADERS([locale.h paths.h poll.h pwd.h stdarg.h])
+AC_CHECK_HEADERS([locale.h paths.h poll.h pwd.h regex.h stdarg.h])
 AC_CHECK_HEADERS([stdint.h stdlib.h string.h sys/acl.h sys/ioctl.h])
 AC_CHECK_HEADERS([sys/param.h sys/poll.h sys/select.h sys/time.h sys/utime.h])
 AC_CHECK_HEADERS([time.h unistd.h utime.h wchar.h zlib.h])
@@ -240,13 +239,13 @@
 AC_FUNC_STRERROR_R
 AC_FUNC_STRFTIME
 AC_FUNC_VPRINTF
-AC_CHECK_FUNCS([chflags chown fchdir fchflags fchmod fchown fstat])
-AC_CHECK_FUNCS([ftruncate futimes geteuid getopt_long getpid])
+AC_CHECK_FUNCS([chflags chown fchdir fchflags fchmod fchown fcntl fork])
+AC_CHECK_FUNCS([fstat ftruncate futimes geteuid getopt_long getpid])
 AC_CHECK_FUNCS([lchflags lchmod lchown])
 AC_CHECK_FUNCS([lutimes memmove memset mkdir mkfifo mknod])
-AC_CHECK_FUNCS([nl_langinfo poll select setenv setlocale])
+AC_CHECK_FUNCS([nl_langinfo pipe poll select setenv setlocale])
 AC_CHECK_FUNCS([strchr strdup strerror strrchr timegm])
-AC_CHECK_FUNCS([tzset unsetenv utime utimes])
+AC_CHECK_FUNCS([tzset unsetenv utime utimes vfork])
 AC_CHECK_FUNCS([wcscpy wcslen wmemcmp wmemcpy])
 
 # FreeBSD's nl_langinfo supports an option to specify whether the

==== //depot/projects/soc2008/strauss_libarchive/cpio/Makefile#3 (text+ko) ====

@@ -1,7 +1,7 @@
 # $FreeBSD$
 
 PROG=	bsdcpio
-BSDCPIO_VERSION_STRING=0.9.9a
+BSDCPIO_VERSION_STRING=0.9.10a
 SRCS=	cpio.c cmdline.c err.c matching.c pathmatch.c
 WARNS?=	6
 DPADD=	${LIBARCHIVE} ${LIBZ} ${LIBBZ2}

==== //depot/projects/soc2008/strauss_libarchive/cpio/bsdcpio.1#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/cmdline.c#2 (text+ko) ====

@@ -66,7 +66,7 @@
  */
 
 
-static const char *cpio_opts = "AaBC:F:O:cdE:f:H:hijLlmopR:rtuvW:yZz";
+static const char *cpio_opts = "0AaBC:F:O:cdE:f:H:hijLlmopR:rtuvW:yZz";
 
 /*
  * On systems that lack getopt_long, long options can be specified
@@ -86,6 +86,7 @@
 	{ "format",             required_argument, NULL, 'H' },
 	{ "help",		no_argument,	   NULL, 'h' },
 	{ "insecure",		no_argument,	   NULL, OPTION_INSECURE },
+	{ "null",		no_argument,	   NULL, '0' },
 	{ "owner",		required_argument, NULL, 'R' },
 	{ "quiet",		no_argument,	   NULL, OPTION_QUIET },
 	{ "verbose",            no_argument,       NULL, 'v' },

==== //depot/projects/soc2008/strauss_libarchive/cpio/config_freebsd.h#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/cpio.c#2 (text+ko) ====

@@ -101,6 +101,7 @@
 	cpio->gid_override = -1;
 	cpio->argv = argv;
 	cpio->argc = argc;
+	cpio->line_separator = '\n';
 	cpio->mode = '\0';
 	cpio->verbose = 0;
 	cpio->compress = '\0';
@@ -116,6 +117,9 @@
 
 	while ((opt = cpio_getopt(cpio)) != -1) {
 		switch (opt) {
+		case '0': /* GNU convention: --null, -0 */
+			cpio->line_separator = '\0';
+			break;
 		case 'A': /* NetBSD/OpenBSD */
 			cpio->option_append = 1;
 			break;
@@ -341,8 +345,10 @@
 static void
 mode_out(struct cpio *cpio)
 {
+	unsigned long blocks;
 	struct archive_entry *entry, *spare;
-	unsigned long blocks;
+	struct line_reader *lr;
+	const char *p;
 	int r;
 
 	if (cpio->option_append)
@@ -375,7 +381,10 @@
 	r = archive_write_open_file(cpio->archive, cpio->filename);
 	if (r != ARCHIVE_OK)
 		cpio_errc(1, 0, archive_error_string(cpio->archive));
-	process_lines(cpio, "-", file_to_archive);
+	lr = process_lines_init("-", cpio->line_separator);
+	while ((p = process_lines_next(lr)) != NULL)
+		file_to_archive(cpio, p);
+	process_lines_free(lr);
 
 	/*
 	 * The hardlink detection may have queued up a couple of entries
@@ -793,6 +802,8 @@
 static void
 mode_pass(struct cpio *cpio, const char *destdir)
 {
+	struct line_reader *lr;
+	const char *p;
 	int r;
 
 	/* Ensure target dir has a trailing '/' to simplify path surgery. */
@@ -809,7 +820,10 @@
 		cpio_errc(1, 0, archive_error_string(cpio->archive));
 	cpio->linkresolver = archive_entry_linkresolver_new();
 	archive_write_disk_set_standard_lookup(cpio->archive);
-	process_lines(cpio, "-", file_to_archive);
+	lr = process_lines_init("-", cpio->line_separator);
+	while ((p = process_lines_next(lr)) != NULL)
+		file_to_archive(cpio, p);
+	process_lines_free(lr);
 
 	archive_entry_linkresolver_free(cpio->linkresolver);
 	r = archive_write_close(cpio->archive);
@@ -868,79 +882,119 @@
  * terminated with newlines.
  *
  * This uses a self-sizing buffer to handle arbitrarily-long lines.
- * If the "process" function returns non-zero for any line, this
- * function will return non-zero after attempting to process all
- * remaining lines.
  */
-int
-process_lines(struct cpio *cpio, const char *pathname,
-    int (*process)(struct cpio *, const char *))
-{
+struct line_reader {
 	FILE *f;
 	char *buff, *buff_end, *line_start, *line_end, *p;
-	size_t buff_length, bytes_read, bytes_wanted;
+	char *pathname;
+	size_t buff_length;
 	int separator;
 	int ret;
+};
 
-	separator = cpio->option_null ? '\0' : '\n';
-	ret = 0;
+struct line_reader *
+process_lines_init(const char *pathname, char separator)
+{
+	struct line_reader *lr;
+
+	lr = calloc(1, sizeof(*lr));
+	if (lr == NULL)
+		cpio_errc(1, ENOMEM, "Can't open %s", pathname);
+
+	lr->separator = separator;
+	lr->pathname = strdup(pathname);
 
 	if (strcmp(pathname, "-") == 0)
-		f = stdin;
+		lr->f = stdin;
 	else
-		f = fopen(pathname, "r");
-	if (f == NULL)
+		lr->f = fopen(pathname, "r");
+	if (lr->f == NULL)
 		cpio_errc(1, errno, "Couldn't open %s", pathname);
-	buff_length = 8192;
-	buff = malloc(buff_length);
-	if (buff == NULL)
+	lr->buff_length = 8192;
+	lr->buff = malloc(lr->buff_length);
+	if (lr->buff == NULL)
 		cpio_errc(1, ENOMEM, "Can't read %s", pathname);
-	line_start = line_end = buff_end = buff;
+	lr->line_start = lr->line_end = lr->buff_end = lr->buff;
+
+	return (lr);
+}
+
+const char *
+process_lines_next(struct line_reader *lr)
+{
+	size_t bytes_wanted, bytes_read, new_buff_size;
+	char *line_start, *p;
+
 	for (;;) {
-		/* Get some more data into the buffer. */
-		bytes_wanted = buff + buff_length - buff_end;
-		bytes_read = fread(buff_end, 1, bytes_wanted, f);
-		buff_end += bytes_read;
-		/* Process all complete lines in the buffer. */
-		while (line_end < buff_end) {
-			if (*line_end == separator) {
-				*line_end = '\0';
-				if ((*process)(cpio, line_start) != 0)
-					ret = -1;
-				line_start = line_end + 1;
-				line_end = line_start;
+		/* If there's a line in the buffer, return it immediately. */
+		while (lr->line_end < lr->buff_end) {
+			if (*lr->line_end == lr->separator) {
+				*lr->line_end = '\0';
+				line_start = lr->line_start;
+				lr->line_start = lr->line_end + 1;
+				lr->line_end = lr->line_start;
+				return (line_start);
 			} else
-				line_end++;
+				lr->line_end++;
+		}
+
+		/* If we're at end-of-file, process the final data. */
+		if (lr->f == NULL) {
+			/* If there's more text, return one last line. */
+			if (lr->line_end > lr->line_start) {
+				*lr->line_end = '\0';
+				line_start = lr->line_start;
+				lr->line_start = lr->line_end + 1;
+				lr->line_end = lr->line_start;
+				return (line_start);
+			}
+			/* Otherwise, we're done. */
+			return (NULL);
 		}
-		if (feof(f))
-			break;
-		if (ferror(f))
-			cpio_errc(1, errno, "Can't read %s", pathname);
-		if (line_start > buff) {
+
+		/* Buffer only has part of a line. */
+		if (lr->line_start > lr->buff) {
 			/* Move a leftover fractional line to the beginning. */
-			memmove(buff, line_start, buff_end - line_start);
-			buff_end -= line_start - buff;
-			line_end -= line_start - buff;
-			line_start = buff;
+			memmove(lr->buff, lr->line_start,
+			    lr->buff_end - lr->line_start);
+			lr->buff_end -= lr->line_start - lr->buff;
+			lr->line_end -= lr->line_start - lr->buff;
+			lr->line_start = lr->buff;
 		} else {
 			/* Line is too big; enlarge the buffer. */
-			p = realloc(buff, buff_length *= 2);
+			new_buff_size = lr->buff_length * 2;
+			if (new_buff_size <= lr->buff_length)
+				cpio_errc(1, ENOMEM,
+				    "Line too long in %s", lr->pathname);
+			lr->buff_length = new_buff_size;
+			p = realloc(lr->buff, new_buff_size);
 			if (p == NULL)
 				cpio_errc(1, ENOMEM,
-				    "Line too long in %s", pathname);
-			buff_end = p + (buff_end - buff);
-			line_end = p + (line_end - buff);
-			line_start = buff = p;
+				    "Line too long in %s", lr->pathname);
+			lr->buff_end = p + (lr->buff_end - lr->buff);
+			lr->line_end = p + (lr->line_end - lr->buff);
+			lr->line_start = lr->buff = p;
+		}
+
+		/* Get some more data into the buffer. */
+		bytes_wanted = lr->buff + lr->buff_length - lr->buff_end;
+		bytes_read = fread(lr->buff_end, 1, bytes_wanted, lr->f);
+		lr->buff_end += bytes_read;
+
+		if (ferror(lr->f))
+			cpio_errc(1, errno, "Can't read %s", lr->pathname);
+		if (feof(lr->f)) {
+			if (lr->f != stdin)
+				fclose(lr->f);
+			lr->f = NULL;
 		}
 	}
-	/* At end-of-file, handle the final line. */
-	if (line_end > line_start) {
-		*line_end = '\0';
-		if ((*process)(cpio, line_start) != 0)
-			ret = -1;
-	}
-	free(buff);
-	if (f != stdin)
-		fclose(f);
-	return (ret);
+}
+
+void
+process_lines_free(struct line_reader *lr)
+{
+	free(lr->buff);
+	free(lr->pathname);
+	free(lr);
 }

==== //depot/projects/soc2008/strauss_libarchive/cpio/cpio.h#2 (text+ko) ====

@@ -53,12 +53,12 @@
 	int		  extract_flags; /* Flags for extract operation */
 	char		  symlink_mode; /* H or L, per BSD conventions */
 	const char	 *compress_program;
+	char		  line_separator; /* --null ? '\0' : '\n' */
 	int		  option_append; /* -A, only relevant for -o */
 	int		  option_atime_restore; /* -a */
 	int		  option_follow_links; /* -L */
 	int		  option_link; /* -l */
 	int		  option_list; /* -t */
-	int		  option_null; /* -0 --null */
 	int		  option_rename; /* -r */
 	char		 *destdir;
 	size_t		  pass_destpath_alloc;
@@ -98,9 +98,13 @@
 	OPTION_VERSION
 };
 
+struct line_reader;
+
+struct line_reader *process_lines_init(const char *, char separator);
+const char *process_lines_next(struct line_reader *);
+void	process_lines_free(struct line_reader *);
+
 int	cpio_getopt(struct cpio *cpio);
-int	process_lines(struct cpio *cpio, const char *pathname,
-		    int (*process)(struct cpio *, const char *));
 int	include_from_file(struct cpio *, const char *);
 
 #endif

==== //depot/projects/soc2008/strauss_libarchive/cpio/cpio_platform.h#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/err.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/matching.c#2 (text+ko) ====

@@ -107,7 +107,16 @@
 int
 include_from_file(struct cpio *cpio, const char *pathname)
 {
-	return (process_lines(cpio, pathname, &include));
+	struct line_reader *lr;
+	const char *p;
+	int ret = 0;
+
+	lr = process_lines_init(pathname, '\n');
+	while ((p = process_lines_next(lr)) != NULL)
+		if (include(cpio, p) != 0)
+			ret = -1;
+	process_lines_free(lr);
+	return (ret);
 }
 
 static void

==== //depot/projects/soc2008/strauss_libarchive/cpio/matching.h#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/pathmatch.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/pathmatch.h#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/Makefile#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/main.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test.h#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_0.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_basic.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_format_newc.c#2 (text+ko) ====

@@ -66,7 +66,7 @@
 	int fd, list;
 	int r;
 	int devmajor, devminor, ino, gid;
-	time_t t, now;
+	time_t t, t2, now;
 	char *p, *e;
 	size_t s;
 	mode_t oldmask;
@@ -159,7 +159,9 @@
 	assertEqualInt(from_hex(e + 22, 8), getuid()); /* uid */
 	assertEqualInt(gid, from_hex(e + 30, 8)); /* gid */
 	assertEqualMem(e + 38, "00000001", 8); /* nlink */
-	assertEqualInt(t, from_hex(e + 46, 8)); /* mtime */
+	t2 = from_hex(e + 46, 8); /* mtime */
+	failure("First entry created at t=0x%08x this entry created at t2=0x%08x", t, t2);
+	assert(t2 == t || t2 == t + 1); /* Almost same as first entry. */
 	assertEqualMem(e + 54, "00000005", 8); /* File size */
 	assertEqualInt(devmajor, from_hex(e + 62, 8)); /* devmajor */
 	assertEqualInt(devminor, from_hex(e + 70, 8)); /* devminor */
@@ -179,7 +181,9 @@
 	assertEqualInt(from_hex(e + 22, 8), getuid()); /* uid */
 	assertEqualInt(gid, from_hex(e + 30, 8)); /* gid */
 	assertEqualMem(e + 38, "00000002", 8); /* nlink */
-	assertEqualInt(t, from_hex(e + 46, 8)); /* mtime */
+	t2 = from_hex(e + 46, 8); /* mtime */
+	failure("First entry created at t=0x%08x this entry created at t2=0x%08x", t, t2);
+	assert(t2 == t || t2 == t + 1); /* Almost same as first entry. */
 	assertEqualMem(e + 54, "00000000", 8); /* File size */
 	assertEqualInt(devmajor, from_hex(e + 62, 8)); /* devmajor */
 	assertEqualInt(devminor, from_hex(e + 70, 8)); /* devminor */
@@ -203,7 +207,9 @@
 	assertEqualInt(from_hex(e + 22, 8), getuid()); /* uid */
 	assertEqualInt(gid, from_hex(e + 30, 8)); /* gid */
 	assertEqualMem(e + 38, "00000003", 8); /* nlink */
-	assertEqualInt(t, from_hex(e + 46, 8)); /* mtime */
+	t2 = from_hex(e + 46, 8); /* mtime */
+	failure("First entry created at t=0x%08x this entry created at t2=0x%08x", t, t2);
+	assert(t2 == t || t2 == t + 1); /* Almost same as first entry. */
 	assertEqualInt(10, from_hex(e + 54, 8)); /* File size */
 	assertEqualInt(devmajor, from_hex(e + 62, 8)); /* devmajor */
 	assertEqualInt(devminor, from_hex(e + 70, 8)); /* devminor */

==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_gcpio_compat.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_gcpio_compat_ref.bin.uu#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_gcpio_compat_ref.crc.uu#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_gcpio_compat_ref.newc.uu#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_gcpio_compat_ref.ustar.uu#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_B.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_L.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_a.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_c.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_d.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_ell.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_f.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_f.cpio.uu#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_help.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_m.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_m.cpio.uu#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_t.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_t.cpio.uu#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_t.stdout.uu#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_tv.stdout.uu#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_u.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_version.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_y.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_option_z.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_owner_parse.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/cpio/test/test_pathmatch.c#2 (text+ko) ====


==== //depot/projects/soc2008/strauss_libarchive/libarchive/Makefile#3 (text+ko) ====

@@ -1,22 +1,11 @@
-# $FreeBSD: src/lib/libarchive/Makefile,v 1.83 2008/03/21 11:10:20 kaiw Exp $
+# $FreeBSD: src/lib/libarchive/Makefile,v 1.84 2008/05/26 17:00:22 kientzle Exp $
 
 LIB=	archive
 DPADD=	${LIBBZ2} ${LIBZ}
 LDADD=	-lbz2 -lz
 
-# The libarchive version stamp.
-# Version is three numbers:
-#  Major: Bumped ONLY when API/ABI breakage happens (see SHLIB_MAJOR)
-#  Minor: Bumped when significant new features are added
-#  Revision: Bumped frequently.
-
-# The useful version number (one integer, easy to compare)
-LIBARCHIVE_VERSION_NUMBER=2005001
-# The pretty version string
-LIBARCHIVE_VERSION_STRING=2.5.1b
-
 # FreeBSD SHLIB_MAJOR value is managed as part of the FreeBSD system.
-# It has no real relation to the version number above.
+# It has no real relation to the libarchive version number.
 SHLIB_MAJOR= 4
 
 CFLAGS+=	-DPLATFORM_CONFIG_H=\"config_freebsd.h\"
@@ -27,20 +16,8 @@
 # Headers to be installed in /usr/include
 INCS=	archive.h archive_entry.h
 
-# Build archive.h from archive.h.in by substituting version information.
-# Note: FreeBSD has inttypes.h, so enable that include in archive.h.in
-archive.h:	archive.h.in Makefile
-	cat ${.CURDIR}/archive.h.in | sed				\
-	   -e 's/@LIBARCHIVE_VERSION_NUMBER@/${LIBARCHIVE_VERSION_NUMBER}/g' \
-	   -e 's/@LIBARCHIVE_VERSION_STRING@/${LIBARCHIVE_VERSION_STRING}/g' \
-		> archive.h
-
-# archive.h needs to be cleaned
-CLEANFILES+=	archive.h
-
 # Sources to be compiled.
-SRCS=	archive.h					\
-	archive_check_magic.c				\
+SRCS=	archive_check_magic.c				\
 	archive_entry.c					\
 	archive_entry_copy_stat.c			\
 	archive_entry_stat.c				\
@@ -115,6 +92,7 @@
 MLINKS+=	archive_entry.3 archive_entry_acl_text_w.3
 MLINKS+=	archive_entry.3 archive_entry_clear.3
 MLINKS+=	archive_entry.3 archive_entry_clone.3
+MLINKS+=	archive_entry.3 archive_entry_copy_fflags_text.3
 MLINKS+=	archive_entry.3 archive_entry_copy_fflags_text_w.3
 MLINKS+=	archive_entry.3 archive_entry_copy_gname.3
 MLINKS+=	archive_entry.3 archive_entry_copy_gname_w.3
@@ -230,6 +208,7 @@
 MLINKS+=	archive_write.3 archive_write_set_bytes_per_block.3
 MLINKS+=	archive_write.3 archive_write_set_callbacks.3
 MLINKS+=	archive_write.3 archive_write_set_compression_bzip2.3
+MLINKS+=	archive_write.3 archive_write_set_compression_compress.3
 MLINKS+=	archive_write.3 archive_write_set_compression_gzip.3
 MLINKS+=	archive_write.3 archive_write_set_compression_none.3
 MLINKS+=	archive_write.3 archive_write_set_compression_program.3

==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive_endian.h#2 (text+ko) ====

@@ -23,14 +23,28 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libarchive/archive_endian.h,v 1.2 2008/02/26 07:17:47 kientzle Exp $
+ * $FreeBSD: src/lib/libarchive/archive_endian.h,v 1.3 2008/05/26 17:00:22 kientzle Exp $
  *
  * Borrowed from FreeBSD's <sys/endian.h>
  */
 
+/* Note:  This is a purely internal header! */
+/* Do not use this outside of libarchive internal code! */
+
 #ifndef ARCHIVE_ENDIAN_H_INCLUDED
 #define ARCHIVE_ENDIAN_H_INCLUDED
 
+
+/* Watcom C++ doesn't support 'inline' in C code.  (For any version?) */
+#if defined( __WATCOMC__ )
+	#define	inline
+#endif
+
+/* Visual C++ 6.0 doesn't support 'inline' in C code.  (Does VC7? VC8?) */
+#if defined(_MSC_VER)
+	#define	inline
+#endif
+
 /* Alignment-agnostic encode/decode bytestream to/from little/big endian. */
 
 static inline uint16_t

==== //depot/projects/soc2008/strauss_libarchive/libarchive/archive_entry.3#3 (text+ko) ====


>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200806011541.m51Ff4Kj026646>