From owner-cvs-src@FreeBSD.ORG Wed May 26 22:03:46 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 67D4116A4CE; Wed, 26 May 2004 22:03:46 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 60A4343D39; Wed, 26 May 2004 22:03:46 -0700 (PDT) (envelope-from kientzle@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4R52ZAE079124; Wed, 26 May 2004 22:02:35 -0700 (PDT) (envelope-from kientzle@repoman.freebsd.org) Received: (from kientzle@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4R52Z81079123; Wed, 26 May 2004 22:02:35 -0700 (PDT) (envelope-from kientzle) Message-Id: <200405270502.i4R52Z81079123@repoman.freebsd.org> From: Tim Kientzle Date: Wed, 26 May 2004 22:02:35 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/lib/libarchive archive_private.h archive_read_extract.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 May 2004 05:03:46 -0000 kientzle 2004/05/26 22:02:35 PDT FreeBSD src repository Modified files: lib/libarchive archive_private.h archive_read_extract.c Log: Previously, restoring an archive with hardlinked files that had certain flags set (e.g., schg or uappend) would fail because the flags were restored before the hardlink was created. To address this, I've generalized the existing machinery for deferring directory timestamp/mode restoration and used it to defer the restoration of highly-restrictive flags to the end of the extraction, after any links have been created. Pointed out by: Pawel Jakub Dawidek (pjd@) Revision Changes Path 1.10 +2 -9 src/lib/libarchive/archive_private.h 1.13 +147 -86 src/lib/libarchive/archive_read_extract.c