diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-01-11 03:16:30 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-01-11 03:16:30 +0100 |
commit | 79189ec2621e26b060ccb9d4a116a194bfe754ee (patch) | |
tree | 238afa38203b555add7fbc99e3d2e6f56c5ea99f /sys/src/cmd/mk | |
parent | a426c08ce22b9f9b256ab028c223b362e2519361 (diff) |
mk: fix ar padding problems on 64bit (from eriks amd64mkar patch)
Diffstat (limited to 'sys/src/cmd/mk')
-rw-r--r-- | sys/src/cmd/mk/archive.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/src/cmd/mk/archive.c b/sys/src/cmd/mk/archive.c index 70f7cc888..d7bf27edc 100644 --- a/sys/src/cmd/mk/archive.c +++ b/sys/src/cmd/mk/archive.c @@ -60,12 +60,12 @@ atouch(char *name) if(symlook(name, S_TIME, 0)){ /* hoon off and change it in situ */ LSEEK(fd, SARMAG, 0); - while(read(fd, (char *)&h, sizeof(h)) == sizeof(h)){ + while(read(fd, &h, SAR_HDR) == SAR_HDR){ for(i = SARNAME-1; i > 0 && h.name[i] == ' '; i--) - ; + ; h.name[i+1]=0; if(strcmp(member, h.name) == 0){ - t = SARNAME-sizeof(h); /* ughgghh */ + t = SARNAME-SAR_HDR; /* ughgghh */ LSEEK(fd, t, 1); fprint(fd, "%-12ld", time(0)); break; @@ -101,7 +101,7 @@ atimes(char *ar) } at = d->mtime; free(d); - while(read(fd, (char *)&h, sizeof(h)) == sizeof(h)){ + while(read(fd, &h, SAR_HDR) == SAR_HDR){ t = atol(h.date); if(t >= at) /* new things in old archives confuses mk */ t = at-1; |