Home | History | Annotate | Download | only in make

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 $");
136 typedef struct Arch {
142 } Arch;
148 static int ArchSVR4Entry(Arch *, char *, size_t, FILE *);
154 ArchFree(Arch *a)
371 FILE *arch;
375 Arch *ar;
383 const Arch *a = ln->datum;
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)
495 if (DEBUG(ARCH) || DEBUG(MAKE))
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)
555 DEBUG0(ARCH,
567 if (fread(ar->fnametab, size, 1, arch) != 1) {
568 DEBUG0(ARCH, "Reading an SVR4 name table failed\n");
577 DEBUG1(ARCH,
588 DEBUG1(ARCH
592 DEBUG2(ARCH, "SVR4 entry offset %s is greater than %lu\n",
597 DEBUG2(ARCH, "Replaced %s with %s\n", inout_name, &ar->fnametab[entry]);
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);
673 DEBUG5(ARCH, "Reading archive %s member %.*s mtime %.*s\n",
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);
708 if (DEBUG(ARCH) || DEBUG(MAKE))
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);
883 if (DEBUG(ARCH) || DEBUG(MAKE))
890 if (DEBUG(ARCH) || DEBUG(MAKE))
974 && memcmp(buf, "!<arch>\n", sizeof buf) == 0;