no anon union
This commit is contained in:
parent
b90bacec60
commit
510f0dbf6b
1 changed files with 22 additions and 25 deletions
|
|
@ -67,8 +67,6 @@ enum {
|
||||||
#define issymlink(lf) ((lf) == LF_SYMLINK1 || (lf) == LF_SYMLINK2)
|
#define issymlink(lf) ((lf) == LF_SYMLINK1 || (lf) == LF_SYMLINK2)
|
||||||
|
|
||||||
typedef union {
|
typedef union {
|
||||||
uchar data[Tblock];
|
|
||||||
struct {
|
|
||||||
char name[Namsiz];
|
char name[Namsiz];
|
||||||
char mode[8];
|
char mode[8];
|
||||||
char uid[8];
|
char uid[8];
|
||||||
|
|
@ -87,7 +85,6 @@ typedef union {
|
||||||
char devmajor[8];
|
char devmajor[8];
|
||||||
char devminor[8];
|
char devminor[8];
|
||||||
char prefix[Maxpfx]; /* if non-null, path= prefix "/" name */
|
char prefix[Maxpfx]; /* if non-null, path= prefix "/" name */
|
||||||
};
|
|
||||||
} Hdr;
|
} Hdr;
|
||||||
|
|
||||||
int debug;
|
int debug;
|
||||||
|
|
@ -200,7 +197,7 @@ getblkz(int ar)
|
||||||
Hdr *hp = getblke(ar);
|
Hdr *hp = getblke(ar);
|
||||||
|
|
||||||
if (hp != nil)
|
if (hp != nil)
|
||||||
memset(hp->data, 0, Tblock);
|
memset(hp, 0, Tblock);
|
||||||
return hp;
|
return hp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -270,7 +267,7 @@ chksum(Hdr *hp)
|
||||||
{
|
{
|
||||||
int n = Tblock;
|
int n = Tblock;
|
||||||
long i = 0;
|
long i = 0;
|
||||||
uchar *cp = hp->data;
|
uchar *cp = (uchar*)hp;
|
||||||
|
|
||||||
memset(hp->chksum, ' ', sizeof hp->chksum);
|
memset(hp->chksum, ' ', sizeof hp->chksum);
|
||||||
while (n-- > 0)
|
while (n-- > 0)
|
||||||
|
|
@ -522,7 +519,7 @@ addtoar(int ar, char *file, char *shortf)
|
||||||
hbp = getblke(ar);
|
hbp = getblke(ar);
|
||||||
blksread = gothowmany(blksleft);
|
blksread = gothowmany(blksleft);
|
||||||
bytes = blksread * Tblock;
|
bytes = blksread * Tblock;
|
||||||
n = read(fd, hbp->data, bytes);
|
n = read(fd, hbp, bytes);
|
||||||
if (n < 0)
|
if (n < 0)
|
||||||
sysfatal("error reading %s: %r", file);
|
sysfatal("error reading %s: %r", file);
|
||||||
/*
|
/*
|
||||||
|
|
@ -530,7 +527,7 @@ addtoar(int ar, char *file, char *shortf)
|
||||||
* compression and emergency recovery of data.
|
* compression and emergency recovery of data.
|
||||||
*/
|
*/
|
||||||
if (n < Tblock)
|
if (n < Tblock)
|
||||||
memset(hbp->data + n, 0, bytes - n);
|
memset((char*)hbp + n, 0, bytes - n);
|
||||||
putblkmany(ar, blksread);
|
putblkmany(ar, blksread);
|
||||||
}
|
}
|
||||||
close(fd);
|
close(fd);
|
||||||
|
|
@ -716,7 +713,7 @@ extract1(int ar, Hdr *hp, char *fname)
|
||||||
fname);
|
fname);
|
||||||
blksread = gothowmany(blksleft);
|
blksread = gothowmany(blksleft);
|
||||||
wrbytes = (bytes >= Tblock*blksread? Tblock*blksread: bytes);
|
wrbytes = (bytes >= Tblock*blksread? Tblock*blksread: bytes);
|
||||||
if (fd >= 0 && write(fd, hbp->data, wrbytes) != wrbytes)
|
if (fd >= 0 && write(fd, (char*)hbp, wrbytes) != wrbytes)
|
||||||
sysfatal("write error on %s: %r", fname);
|
sysfatal("write error on %s: %r", fname);
|
||||||
putreadblks(ar, blksread);
|
putreadblks(ar, blksread);
|
||||||
bytes -= wrbytes;
|
bytes -= wrbytes;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue