6905213 tar rE fails to append a file : directory checksum error
authorRalph Turner - Sun UK - Contractor <Ralph.Turner@Sun.COM>
Fri, 09 Apr 2010 16:24:58 +0100
changeset 12109 b5dd2e23c85d
parent 12108 6c7eccf32a12
child 12110 71f939501f27
6905213 tar rE fails to append a file : directory checksum error
usr/src/cmd/tar/tar.c
--- a/usr/src/cmd/tar/tar.c	Fri Apr 09 08:55:51 2010 -0400
+++ b/usr/src/cmd/tar/tar.c	Fri Apr 09 16:24:58 2010 +0100
@@ -19,8 +19,7 @@
  * CDDL HEADER END
  */
 /*
- * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved.
  */
 
 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
@@ -5968,12 +5967,12 @@
 	 * to skip should be the size from Xtarhdr.
 	 */
 	if ((err != 0) && (dblock.dbuf.typeflag == 'A') &&
-	    (Xhdrflag != 0)) {
+	    (xhdr_flgs & _X_SIZE)) {
 		st->st_size += TBLOCK + Xtarhdr.x_filesz;
 		xhdr_flgs |= _X_XHDR;
 	} else if ((dblock.dbuf.typeflag != 'A') &&
-	    (Xhdrflag != 0)) {
-		st->st_size = Xtarhdr.x_filesz;
+	    (xhdr_flgs & _X_SIZE)) {
+		st->st_size += Xtarhdr.x_filesz;
 		xhdr_flgs |= _X_XHDR;
 	}
 }