From ade465512fea0ecaab1bb85c437a33097ee501b6 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 16 Jun 1992 23:43:25 +0000 Subject: [PATCH] Formerly arscan.c.~22~ --- arscan.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/arscan.c b/arscan.c index 27df1ce8..80a4412d 100644 --- a/arscan.c +++ b/arscan.c @@ -283,9 +283,6 @@ ar_name_equal (name, mem) char *name, *mem; { char *p; - unsigned int namelen, memlen; - struct ar_hdr h; - unsigned int max = sizeof (h.ar_name); p = rindex (name, '/'); if (p != 0) @@ -293,20 +290,26 @@ ar_name_equal (name, mem) #if !defined (AIAMAG) && !defined (APOLLO) - /* `reallylongname.o' matches `reallylongnam.o'. - If member names have a trailing slash, that's `reallylongna.o'. */ + { + /* `reallylongname.o' matches `reallylongnam.o'. + If member names have a trailing slash, that's `reallylongna.o'. */ - if (strncmp (name, mem, max - 3)) - return 0; + struct ar_hdr h; + unsigned int max = sizeof (h.ar_name); + unsigned int namelen, memlen; - namelen = strlen (name); - memlen = strlen (mem); - if (namelen > memlen && memlen >= max - 1 - && name[namelen - 2] == '.' && name[namelen - 1] == 'o' - && mem[memlen - 2] == '.' && mem[memlen - 1] == 'o') - return 1; + if (strncmp (name, mem, max - 3)) + return 0; - return !strcmp (name + max - 3, mem + max - 3); + namelen = strlen (name); + memlen = strlen (mem); + if (namelen > memlen && memlen >= max - 1 + && name[namelen - 2] == '.' && name[namelen - 1] == 'o' + && mem[memlen - 2] == '.' && mem[memlen - 1] == 'o') + return 1; + + return !strcmp (name + max - 3, mem + max - 3); + } #else /* AIX or APOLLO. */