diff options
| author | Ralph Turner - Sun UK - Contractor <Ralph.Turner@Sun.COM> | 2010-04-09 16:24:58 +0100 |
|---|---|---|
| committer | Ralph Turner - Sun UK - Contractor <Ralph.Turner@Sun.COM> | 2010-04-09 16:24:58 +0100 |
| commit | 257ece65b709e4f1ef13631685422aab6fad85cf (patch) | |
| tree | c3000608e180c58bc9d3365c293e79544e27ea78 /usr/src/cmd/tar | |
| parent | 56bbb0b2e5cd8cb63e98621606c4d93bb4b0453b (diff) | |
| download | illumos-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.c | 9 |
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; } } |
