Module Name: src Committed By: rillig Date: Sun Aug 23 18:57:32 UTC 2020
Modified Files: src/usr.bin/make: arch.c Log Message: make(1): make ArchStatMember ready for WARNS=6 To generate a diff of this commit: cvs rdiff -u -r1.94 -r1.95 src/usr.bin/make/arch.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/make/arch.c diff -u src/usr.bin/make/arch.c:1.94 src/usr.bin/make/arch.c:1.95 --- src/usr.bin/make/arch.c:1.94 Sun Aug 23 18:53:13 2020 +++ src/usr.bin/make/arch.c Sun Aug 23 18:57:32 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: arch.c,v 1.94 2020/08/23 18:53:13 rillig Exp $ */ +/* $NetBSD: arch.c,v 1.95 2020/08/23 18:57:32 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: arch.c,v 1.94 2020/08/23 18:53:13 rillig Exp $"; +static char rcsid[] = "$NetBSD: arch.c,v 1.95 2020/08/23 18:57:32 rillig Exp $"; #else #include <sys/cdefs.h> #ifndef lint #if 0 static char sccsid[] = "@(#)arch.c 8.2 (Berkeley) 1/2/94"; #else -__RCSID("$NetBSD: arch.c,v 1.94 2020/08/23 18:53:13 rillig Exp $"); +__RCSID("$NetBSD: arch.c,v 1.95 2020/08/23 18:57:32 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -528,7 +528,7 @@ ArchStatMember(const char *archive, cons { #define AR_MAX_NAME_LEN (sizeof(arh.ar_name)-1) FILE * arch; /* Stream to archive */ - int size; /* Size of archive member */ + size_t size; /* Size of archive member */ char magic[SARMAG]; LstNode ln; /* Lst member containing archive descriptor */ Arch *ar; /* Archive descriptor */ @@ -634,7 +634,7 @@ ArchStatMember(const char *archive, cons * 'size' field of the header and round it up during the seek. */ arh.ar_size[sizeof(arh.ar_size)-1] = '\0'; - size = (int)strtol(arh.ar_size, NULL, 10); + size = (size_t)strtol(arh.ar_size, NULL, 10); memcpy(memName, arh.ar_name, sizeof(arh.ar_name)); nameend = memName + AR_MAX_NAME_LEN; @@ -674,11 +674,11 @@ ArchStatMember(const char *archive, cons if (strncmp(memName, AR_EFMT1, sizeof(AR_EFMT1) - 1) == 0 && isdigit((unsigned char)memName[sizeof(AR_EFMT1) - 1])) { - unsigned int elen = atoi(&memName[sizeof(AR_EFMT1)-1]); + int elen = atoi(&memName[sizeof(AR_EFMT1)-1]); - if (elen > MAXPATHLEN) + if ((unsigned int)elen > MAXPATHLEN) goto badarch; - if (fread(memName, elen, 1, arch) != 1) + if (fread(memName, (size_t)elen, 1, arch) != 1) goto badarch; memName[elen] = '\0'; if (fseek(arch, -elen, SEEK_CUR) != 0) @@ -693,7 +693,7 @@ ArchStatMember(const char *archive, cons Hash_SetValue(he, bmake_malloc(sizeof(struct ar_hdr))); memcpy(Hash_GetValue(he), &arh, sizeof(struct ar_hdr)); } - if (fseek(arch, (size + 1) & ~1, SEEK_CUR) != 0) + if (fseek(arch, ((long)size + 1) & ~1, SEEK_CUR) != 0) goto badarch; }