version 1.12, 1998/07/02 20:47:25 |
version 1.13, 1998/07/13 00:41:34 |
|
|
if (fread (memName, elen, 1, arch) != 1) |
if (fread (memName, elen, 1, arch) != 1) |
goto badarch; |
goto badarch; |
memName[elen] = '\0'; |
memName[elen] = '\0'; |
fseek (arch, -elen, 1); |
fseek (arch, -elen, SEEK_CUR); |
if (DEBUG(ARCH) || DEBUG(MAKE)) { |
if (DEBUG(ARCH) || DEBUG(MAKE)) { |
printf("ArchStat: Extended format entry for %s\n", memName); |
printf("ArchStat: Extended format entry for %s\n", memName); |
} |
} |
|
|
memcpy ((Address)Hash_GetValue (he), (Address)&arh, |
memcpy ((Address)Hash_GetValue (he), (Address)&arh, |
sizeof (struct ar_hdr)); |
sizeof (struct ar_hdr)); |
} |
} |
fseek (arch, (size + 1) & ~1, 1); |
fseek (arch, (size + 1) & ~1, SEEK_CUR); |
} |
} |
|
|
fclose (arch); |
fclose (arch); |
|
|
* the file at the actual member, rather than its header, but |
* the file at the actual member, rather than its header, but |
* not here... |
* not here... |
*/ |
*/ |
fseek (arch, -sizeof(struct ar_hdr), 1); |
fseek (arch, -sizeof(struct ar_hdr), SEEK_CUR); |
return (arch); |
return (arch); |
} |
} |
} else |
} else |
|
|
} |
} |
if (strncmp(ename, member, len) == 0) { |
if (strncmp(ename, member, len) == 0) { |
/* Found as extended name */ |
/* Found as extended name */ |
fseek (arch, -sizeof(struct ar_hdr) - elen, 1); |
fseek (arch, -sizeof(struct ar_hdr) - elen, SEEK_CUR); |
return (arch); |
return (arch); |
} |
} |
fseek (arch, -elen, 1); |
fseek (arch, -elen, SEEK_CUR); |
goto skip; |
goto skip; |
} else |
} else |
#endif |
#endif |
|
|
*/ |
*/ |
arhPtr->ar_size[sizeof(arhPtr->ar_size)-1] = '\0'; |
arhPtr->ar_size[sizeof(arhPtr->ar_size)-1] = '\0'; |
size = (int) strtol(arhPtr->ar_size, NULL, 10); |
size = (int) strtol(arhPtr->ar_size, NULL, 10); |
fseek (arch, (size + 1) & ~1, 1); |
fseek (arch, (size + 1) & ~1, SEEK_CUR); |
} |
} |
} |
} |
|
|