Lines Matching defs:arch
1 /* $NetBSD: arch.c,v 1.223 2025/06/28 22:39:27 rillig Exp $ */
128 /* "@(#)arch.c 8.2 (Berkeley) 1/2/94" */
129 MAKE_RCSID("$NetBSD: arch.c,v 1.223 2025/06/28 22:39:27 rillig Exp $");
371 FILE *arch;
416 arch = ArchFindMember(archive, member, &sarh, "r");
417 if (arch == NULL)
420 fclose(arch);
424 arch = fopen(archive, "r");
425 if (arch == NULL)
428 if (fread(magic, SARMAG, 1, arch) != 1 ||
430 (void)fclose(arch);
441 while (fread(&arh, sizeof arh, 1, arch) == 1) {
463 switch (ArchSVR4Entry(ar, memName, size, arch)) {
490 if (fread(memName, elen, 1, arch) != 1)
493 if (fseek(arch, -(long)elen, SEEK_CUR) != 0)
511 if (fseek(arch, ((long)size + 1) & ~1, SEEK_CUR) != 0)
515 fclose(arch);
522 fclose(arch);
544 ArchSVR4Entry(Arch *ar, char *inout_name, size_t size, FILE *arch)
567 if (fread(ar->fnametab, size, 1, arch) != 1) {
646 FILE *arch;
651 arch = fopen(archive, mode);
652 if (arch == NULL)
655 if (fread(magic, SARMAG, 1, arch) != 1 ||
657 fclose(arch);
665 while (fread(out_arh, sizeof *out_arh, 1, arch) == 1) {
669 fclose(arch);
679 if (fseek(arch, -(long)sizeof *out_arh, SEEK_CUR) !=
681 fclose(arch);
684 return arch;
700 fclose(arch);
703 if (fread(ename, elen, 1, arch) != 1) {
704 fclose(arch);
715 if (fseek(arch,
718 fclose(arch);
721 return arch;
723 if (fseek(arch, -(long)elen, SEEK_CUR) != 0) {
724 fclose(arch);
734 if (fseek(arch, (size + 1) & ~1L, SEEK_CUR) != 0) {
735 fclose(arch);
740 fclose(arch);
974 && memcmp(buf, "!<arch>\n", sizeof buf) == 0;