Lines Matching defs:arch
1 /* $NetBSD: arch.c,v 1.217 2024/04/27 20:41:32 rillig Exp $ */
149 /* "@(#)arch.c 8.2 (Berkeley) 1/2/94" */
150 MAKE_RCSID("$NetBSD: arch.c,v 1.217 2024/04/27 20:41:32 rillig Exp $");
193 # define ARMAG "!<arch>\n"
419 FILE *arch;
464 arch = ArchFindMember(archive, member, &sarh, "r");
465 if (arch == NULL)
468 fclose(arch);
472 arch = fopen(archive, "r");
473 if (arch == NULL)
476 if (fread(magic, SARMAG, 1, arch) != 1 ||
478 (void)fclose(arch);
489 while (fread(&arh, sizeof arh, 1, arch) == 1) {
511 switch (ArchSVR4Entry(ar, memName, size, arch)) {
538 if (fread(memName, elen, 1, arch) != 1)
541 if (fseek(arch, -(long)elen, SEEK_CUR) != 0)
559 if (fseek(arch, ((long)size + 1) & ~1, SEEK_CUR) != 0)
563 fclose(arch);
570 fclose(arch);
592 ArchSVR4Entry(Arch *ar, char *inout_name, size_t size, FILE *arch)
615 if (fread(ar->fnametab, size, 1, arch) != 1) {
694 FILE *arch;
699 arch = fopen(archive, mode);
700 if (arch == NULL)
703 if (fread(magic, SARMAG, 1, arch) != 1 ||
705 fclose(arch);
713 while (fread(out_arh, sizeof *out_arh, 1, arch) == 1) {
717 fclose(arch);
727 if (fseek(arch, -(long)sizeof *out_arh, SEEK_CUR) !=
729 fclose(arch);
732 return arch;
748 fclose(arch);
751 if (fread(ename, elen, 1, arch) != 1) {
752 fclose(arch);
763 if (fseek(arch,
766 fclose(arch);
769 return arch;
771 if (fseek(arch, -(long)elen, SEEK_CUR) != 0) {
772 fclose(arch);
782 if (fseek(arch, (size + 1) & ~1L, SEEK_CUR) != 0) {
783 fclose(arch);
788 fclose(arch);
1024 && memcmp(buf, "!<arch>\n", sizeof buf) == 0;