diff options
| author | Andrey A. Chernov <ache@FreeBSD.org> | 1994-12-17 05:59:33 +0000 |
|---|---|---|
| committer | Andrey A. Chernov <ache@FreeBSD.org> | 1994-12-17 05:59:33 +0000 |
| commit | 632a24451cd26215d36cecf685f727de2581a875 (patch) | |
| tree | 764a2db659f330852b5cd1d739919252964e1a91 /usr.bin/ar | |
| parent | 763424fcf0aab477fb4476b72f2f08d09cd2daba (diff) | |
Notes
Diffstat (limited to 'usr.bin/ar')
| -rw-r--r-- | usr.bin/ar/archive.c | 3 | ||||
| -rw-r--r-- | usr.bin/ar/misc.c | 6 |
2 files changed, 4 insertions, 5 deletions
diff --git a/usr.bin/ar/archive.c b/usr.bin/ar/archive.c index 2d31b2f18618..8a6fe2f6e806 100644 --- a/usr.bin/ar/archive.c +++ b/usr.bin/ar/archive.c @@ -299,7 +299,8 @@ copy_ar(cfp, size) error(cfp->rname); } - if (cfp->flags & RPAD && size & 1 && (nr = read(from, buf, 1)) != 1) { + if (cfp->flags & RPAD && (size + chdr.lname) & 1 && + (nr = read(from, buf, 1)) != 1) { if (nr == 0) badfmt(); error(cfp->rname); diff --git a/usr.bin/ar/misc.c b/usr.bin/ar/misc.c index d182fa95e9cb..4faaa22f1a2d 100644 --- a/usr.bin/ar/misc.c +++ b/usr.bin/ar/misc.c @@ -126,10 +126,8 @@ int compare(dest) char *dest; { - - if (options & AR_TR) - return (!strncmp(chdr.name, rname(dest), OLDARMAXNAME)); - return (!strcmp(chdr.name, rname(dest))); + int maxname = (options & AR_TR) ? OLDARMAXNAME : MAXNAMLEN; + return (!strncmp(chdr.name, rname(dest), maxname)); } void |
