Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Dec 2001 01:47:56 +0100 (CET)
From:      Maxime Henrion <mux@qualys.com>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   bin/32567: [PATCH] WARNS cleanup in /usr/src/usr.sbin
Message-ID:  <200112070047.fB70lur04015@noos.fr>

next in thread | raw e-mail | index | archive | help

>Number:         32567
>Category:       bin
>Synopsis:       [PATCH] WARNS cleanup in /usr/src/usr.sbin
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Dec 06 16:50:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Maxime Henrion
>Release:        FreeBSD 5.0-CURRENT i386
>Organization:
None.
>Environment:
System: FreeBSD nebula.noos.fr 5.0-CURRENT FreeBSD 5.0-CURRENT #2: Thu Dec 6 23:31:39 CET 2001 root@nebula.noos.fr:/usr/src/sys/i386/compile/PROFILE i386


>Description:

	I've converted some /usr/sbin programs to compile with WARNS=2.
	Patches for burncd, devinfo, kldxref and quot.

burncd(8):

Index: Makefile
===================================================================
RCS file: /home/ncvs/src/usr.sbin/burncd/Makefile,v
retrieving revision 1.4
diff -u -r1.4 Makefile
--- Makefile	26 Mar 2001 14:39:38 -0000	1.4
+++ Makefile	7 Dec 2001 00:28:20 -0000
@@ -3,4 +3,6 @@
 PROG=	burncd
 MAN=	burncd.8
 
+WARNS?=	2
+
 .include <bsd.prog.mk>
Index: burncd.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/burncd/burncd.c,v
retrieving revision 1.18
diff -u -r1.18 burncd.c
--- burncd.c	4 Dec 2001 21:48:56 -0000	1.18
+++ burncd.c	7 Dec 2001 00:31:24 -0000
@@ -72,7 +72,7 @@
 	int dao = 0, eject = 0, fixate = 0, list = 0, multi = 0, preemp = 0;
 	int nogap = 0, speed = 4, test_write = 0;
 	int block_size = 0, block_type = 0, cdopen = 0;
-	char *devname = "/dev/acd0c";
+	const char *dev = "/dev/acd0c";
 
 	while ((ch = getopt(argc, argv, "def:lmnpqs:tv")) != -1) {
 		switch (ch) {
@@ -85,7 +85,7 @@
 			break;
 
 		case 'f':
-			devname = optarg;
+			dev = optarg;
 			break;
 
 		case 'l':
@@ -132,8 +132,8 @@
 	if (argc == 0)
 		usage();
 
-	if ((fd = open(devname, O_RDWR, 0)) < 0)
-		err(EX_NOINPUT, "open(%s)", devname);
+	if ((fd = open(dev, O_RDWR, 0)) < 0)
+		err(EX_NOINPUT, "open(%s)", dev);
 
 	if (ioctl(fd, CDRIOCGETBLOCKSIZE, &saved_block_size) < 0) 
        		err(EX_IOERR, "ioctl(CDRIOCGETBLOCKSIZE)");
@@ -281,7 +281,7 @@
 void
 add_track(char *name, int block_size, int block_type, int nogap)
 {
-	struct stat stat;
+	struct stat sb;
 	int file;
 	static int done_stdin = 0;
 
@@ -295,11 +295,11 @@
 	}
 	else if ((file = open(name, O_RDONLY, 0)) < 0)
 		err(EX_NOINPUT, "open(%s)", name);
-	if (fstat(file, &stat) < 0)
+	if (fstat(file, &sb) < 0)
 		err(EX_IOERR, "fstat(%s)", name);
 	tracks[notracks].file = file;
 	tracks[notracks].file_name = name;
-	tracks[notracks].file_size = stat.st_size;
+	tracks[notracks].file_size = sb.st_size;
 	tracks[notracks].block_size = block_size;
 	tracks[notracks].block_type = block_type;
 
@@ -321,7 +321,7 @@
 		fprintf(stderr, 
 			"adding type 0x%02x file %s size %qd KB %d blocks %s\n",
 			tracks[notracks].block_type, name,
-			stat.st_size / 1024, roundup_blocks(&tracks[notracks]),
+			sb.st_size / 1024, roundup_blocks(&tracks[notracks]),
 			pad ? "(0 padded)" : "");
 	}
 	notracks++;
@@ -530,13 +530,13 @@
 }
 
 void
-cue_ent(struct cdr_cue_entry *cue, int ctl, int adr, int track, int index,
+cue_ent(struct cdr_cue_entry *cue, int ctl, int adr, int track, int ind,
 	int dataform, int scms, int lba)
 {
 	cue->adr = adr;
 	cue->ctl = ctl;
 	cue->track = track;
-	cue->index = index;
+	cue->index = ind;
 	cue->dataform = dataform;
 	cue->scms = scms;
 	lba += 150;
@@ -546,7 +546,7 @@
 }
 
 void
-cleanup(int dummy)
+cleanup(int dummy __unused)
 {
 	if (ioctl(fd, CDRIOCSETBLOCKSIZE, &saved_block_size) < 0) 
 		err(EX_IOERR, "ioctl(CDRIOCSETBLOCKSIZE)");

devinfo(8):

Index: Makefile
===================================================================
RCS file: /home/ncvs/src/usr.sbin/devinfo/Makefile,v
retrieving revision 1.3
diff -u -r1.3 Makefile
--- Makefile	20 Jul 2001 06:20:32 -0000	1.3
+++ Makefile	7 Dec 2001 00:18:05 -0000
@@ -6,4 +6,6 @@
 DPADD=	${LIBDEVINFO}
 LDADD=	-ldevinfo
 
+WARNS?=	2
+
 .include <bsd.prog.mk>
Index: devinfo.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/devinfo/devinfo.c,v
retrieving revision 1.1
diff -u -r1.1 devinfo.c
--- devinfo.c	21 Apr 2001 00:13:25 -0000	1.1
+++ devinfo.c	7 Dec 2001 00:27:37 -0000
@@ -39,6 +39,13 @@
 
 int	rflag;
 
+void	print_resource(struct devinfo_res *);
+int	print_device_matching_resource(struct devinfo_res *, void *);
+int	print_device_rman_resources(struct devinfo_rman *, void *);
+int	print_device(struct devinfo_dev *, void *);
+int	print_rman_resource(struct devinfo_res *, void *);
+int	print_rman(struct devinfo_rman *, void *);
+
 struct indent_arg
 {
 	int	indent;
@@ -150,7 +157,7 @@
  * Print information about a resource under a resource manager.
  */
 int
-print_rman_resource(struct devinfo_res *res, void *arg)
+print_rman_resource(struct devinfo_res *res, void *arg __unused)
 {
 	struct devinfo_dev	*dev;
 	
@@ -170,7 +177,7 @@
  * Print information about a resource manager.
  */
 int
-print_rman(struct devinfo_rman *rman, void *arg)
+print_rman(struct devinfo_rman *rman, void *arg __unused)
 {
 	printf("%s:\n", rman->dm_desc);
 	devinfo_foreach_rman_resource(rman, print_rman_resource, 0);

kldxref(8):

Index: Makefile
===================================================================
RCS file: /home/ncvs/src/usr.sbin/kldxref/Makefile,v
retrieving revision 1.2
diff -u -r1.2 Makefile
--- Makefile	12 Oct 2001 02:06:34 -0000	1.2
+++ Makefile	7 Dec 2001 00:13:33 -0000
@@ -4,4 +4,6 @@
 SRCS=	kldxref.c ef.c
 MAN=	kldxref.8
 
+WARNS?=	2
+
 .include <bsd.prog.mk>
Index: ef.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/kldxref/ef.c,v
retrieving revision 1.1
diff -u -r1.1 ef.c
--- ef.c	11 Sep 2001 01:13:15 -0000	1.1
+++ ef.c	7 Dec 2001 00:16:51 -0000
@@ -49,6 +49,10 @@
 
 #include "ef.h"
 
+void ef_print_phdr(Elf_Phdr *);
+u_long ef_get_offset(elf_file_t, Elf_Off);
+int ef_parse_dynamic(elf_file_t);
+
 void
 ef_print_phdr(Elf_Phdr *phdr)
 {
@@ -214,11 +218,11 @@
 ef_read(elf_file_t ef, Elf_Off offset, size_t len, void*dest)
 {
 
-	if (offset != -1) {
+	if (offset != (Elf_Off)-1) {
 		if (lseek(ef->ef_fd, offset, SEEK_SET) == -1)
 			return EIO;
 	}
-	return read(ef->ef_fd, dest, len) == len ? 0 : EIO;
+	return (unsigned)read(ef->ef_fd, dest, len) == len ? 0 : EIO;
 }
 
 int
Index: kldxref.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/kldxref/kldxref.c,v
retrieving revision 1.1
diff -u -r1.1 kldxref.c
--- kldxref.c	11 Sep 2001 01:13:15 -0000	1.1
+++ kldxref.c	7 Dec 2001 00:14:10 -0000
@@ -81,11 +81,12 @@
 
 FILE *fxref;
 
-static char *xref_file = "linker.hints";
+static const char *xref_file = "linker.hints";
 
 static char recbuf[MAXRECSIZE];
 static int recpos, reccnt;
 
+void maketempfile(char *, const char *);
 static void usage(void);
 
 static void

quot(8):

Index: Makefile
===================================================================
RCS file: /home/ncvs/src/usr.sbin/quot/Makefile,v
retrieving revision 1.7
diff -u -r1.7 Makefile
--- Makefile	26 Mar 2001 14:41:35 -0000	1.7
+++ Makefile	6 Dec 2001 23:22:09 -0000
@@ -3,4 +3,6 @@
 PROG=	quot
 MAN=	quot.8
 
+WARNS?=	2
+
 .include <bsd.prog.mk>
Index: quot.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/quot/quot.c,v
retrieving revision 1.14
diff -u -r1.14 quot.c
--- quot.c	10 Mar 2001 12:12:47 -0000	1.14
+++ quot.c	7 Dec 2001 00:34:50 -0000
@@ -56,11 +56,26 @@
 static char estimate;
 static char count;
 static char unused;
-static void (*func)();
+static void (*func)(int, struct fs *, char *);
 static long blocksize;
 static char *header;
 static int headerlen;
 
+static struct dinode *get_inode(int, struct fs *, ino_t);
+static int virtualblocks(struct fs *, struct dinode *);
+static int isfree(struct dinode *);
+static void inituser(void);
+static void usrrehash(void);
+static struct user *user(uid_t);
+static int cmpusers(const void *, const void *);
+static void uses(uid_t, daddr_t, time_t);
+static void initfsizes(void);
+static void dofsizes(int, struct fs *, char *);
+static void douser(int, struct fs *, char *);
+static void donames(int, struct fs *, char *);
+static void usage(void);
+void quot(char *, char *);
+
 /*
  * Original BSD quot doesn't round to number of frags/blocks,
  * doesn't account for indirection blocks and gets it totally
@@ -83,6 +98,7 @@
 
 static struct dinode *
 get_inode(fd,super,ino)
+	int fd;
 	struct fs *super;
 	ino_t ino;
 {
@@ -103,7 +119,7 @@
 			errx(1, "allocate inodes");
 		last = (ino / INOCNT(super)) * INOCNT(super);
 		if (lseek(fd, (off_t)ino_to_fsba(super, last) << super->fs_fshift, 0) < (off_t)0
-		    || read(fd,ip,INOSZ(super)) != INOSZ(super))
+		    || (unsigned)read(fd,ip,INOSZ(super)) != INOSZ(super))
 			err(1, "read inodes");
 	}
 	
@@ -184,7 +200,7 @@
 static void
 inituser()
 {
-	register i;
+	register int i;
 	register struct user *usr;
 	
 	if (!nusers) {
@@ -203,7 +219,7 @@
 static void
 usrrehash()
 {
-	register i;
+	register int i;
 	register struct user *usr, *usrn;
 	struct user *svusr;
 	
@@ -226,7 +242,7 @@
 	uid_t uid;
 {
 	register struct user *usr;
-	register i;
+	register int i;
 	struct passwd *pwd;
 	
 	while (1) {
@@ -259,9 +275,14 @@
 }
 
 static int
-cmpusers(u1,u2)
-	struct user *u1, *u2;
+cmpusers(v1,v2)
+	const void *v1, *v2;
 {
+	/* To avoid warnings */
+	const struct user *u1, *u2;
+	u1 = (const struct user *)v1;
+	u2 = (const struct user *)v2;
+
 	return u2->space - u1->space;
 }
 
@@ -308,7 +329,7 @@
 initfsizes()
 {
 	register struct fsizes *fp;
-	register i;
+	register int i;
 	
 	for (fp = fsizes; fp; fp = fp->fsz_next) {
 		for (i = FSZCNT; --i >= 0;) {
@@ -320,6 +341,7 @@
 
 static void
 dofsizes(fd,super,name)
+	int fd;
 	struct fs *super;
 	char *name;
 {
@@ -327,7 +349,7 @@
 	struct dinode *ip;
 	daddr_t sz, ksz;
 	struct fsizes *fp, **fsp;
-	register i;
+	register int i;
 	
 	maxino = super->fs_ncg * super->fs_ipg - 1;
 #ifdef	COMPAT
@@ -393,13 +415,14 @@
 
 static void
 douser(fd,super,name)
+	int fd;
 	struct fs *super;
 	char *name;
 {
 	ino_t inode, maxino;
 	struct user *usr, *usrs;
 	struct dinode *ip;
-	register n;
+	register int n;
 	
 	maxino = super->fs_ncg * super->fs_ipg - 1;
 	for (inode = 0; inode < maxino; inode++) {
@@ -421,7 +444,7 @@
 	for (usr = usrs, n = nusers; --n >= 0 && usr->count; usr++) {
 		printf("%5d",SIZE(usr->space));
 		if (count)
-			printf("\t%5d",usr->count);
+			printf("\t%5ld",usr->count);
 		printf("\t%-8s",usr->name);
 		if (unused)
 			printf("\t%5d\t%5d\t%5d",
@@ -435,6 +458,7 @@
 
 static void
 donames(fd,super,name)
+	int fd;
 	struct fs *super;
 	char *name;
 {
@@ -450,7 +474,7 @@
 	ungetc(c,stdin);
 	inode1 = -1;
 	while (scanf("%d",&inode) == 1) {
-		if (inode < 0 || inode > maxino) {
+		if (inode > maxino) {
 			warnx("illegal inode %d",inode);
 			return;
 		}
@@ -498,7 +522,7 @@
 {
 	int fd;
 	
-	get_inode(-1);		/* flush cache */
+	get_inode(-1, NULL, 0);		/* flush cache */
 	inituser();
 	initfsizes();
 	if ((fd = open(name,0)) < 0
@@ -517,12 +541,13 @@
 	if (mp)
 		printf(" (%s)",mp);
 	putchar('\n');
-	(*func)(fd,superblock,name);
+	(*func)(fd,(struct fs *)superblock,name);
 	close(fd);
 }
 
 int
 main(argc,argv)
+	int argc;
 	char **argv;
 {
 	char all = 0;

>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112070047.fB70lur04015>