From owner-p4-projects@FreeBSD.ORG Sun Aug 17 00:38:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 220D91065677; Sun, 17 Aug 2008 00:38:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D9446106566C; Sun, 17 Aug 2008 00:38:12 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: from kientzle.com (kientzle.com [66.166.149.50]) by mx1.freebsd.org (Postfix) with ESMTP id B2E388FC08; Sun, 17 Aug 2008 00:38:12 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: from [10.0.0.128] (p54.kientzle.com [66.166.149.54]) by kientzle.com (8.12.9/8.12.9) with ESMTP id m7H0cCtv024122; Sat, 16 Aug 2008 17:38:12 -0700 (PDT) (envelope-from kientzle@freebsd.org) Message-ID: <48A77330.3080501@freebsd.org> Date: Sat, 16 Aug 2008 17:39:12 -0700 From: Tim Kientzle User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20060422 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Anselm Strauss References: <200808161208.m7GC8kiI099130@repoman.freebsd.org> In-Reply-To: <200808161208.m7GC8kiI099130@repoman.freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 147527 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Aug 2008 00:38:13 -0000 > + /* TODO: reader does not yet respect data descriptors. */ > + /*assertEqualInt((S_IFREG | 0755), archive_entry_mode(ae)); When writing uncompressed files, you *must* fill in the compressed and uncompressed sizes in the local file header (you can put them in the data descriptor also, but they must go into the local file header). Otherwise, the reader cannot tell where the data ends. (Unless it reads the central directory first, which it can't always do. For example, when reading archives from stdin, the reader cannot read the central directory first.) The CRC32, of course, cannot go in the local file header, so must go into the data descriptor. Tim