summaryrefslogtreecommitdiff
path: root/usr/src/cmd/tar
diff options
context:
space:
mode:
authorRalph Turner - Sun UK - Contractor <Ralph.Turner@Sun.COM>2010-04-09 16:24:58 +0100
committerRalph Turner - Sun UK - Contractor <Ralph.Turner@Sun.COM>2010-04-09 16:24:58 +0100
commit257ece65b709e4f1ef13631685422aab6fad85cf (patch)
treec3000608e180c58bc9d3365c293e79544e27ea78 /usr/src/cmd/tar
parent56bbb0b2e5cd8cb63e98621606c4d93bb4b0453b (diff)
downloadillumos-joyent-257ece65b709e4f1ef13631685422aab6fad85cf.tar.gz
6905213 tar rE fails to append a file : directory checksum error
Diffstat (limited to 'usr/src/cmd/tar')
-rw-r--r--usr/src/cmd/tar/tar.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/usr/src/cmd/tar/tar.c b/usr/src/cmd/tar/tar.c
index 4ab7b9c427..0b27fab2c9 100644
--- a/usr/src/cmd/tar/tar.c
+++ b/usr/src/cmd/tar/tar.c
@@ -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 @@ setbytes_to_skip(struct stat *st, int err)
* 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;
}
}