Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Aug 2001 21:37:45 -0400
From:      Mike Barcroft <mike@FreeBSD.org>
To:        audit@FreeBSD.org
Cc:        Bruce Evans <bde@zeta.org.au>
Subject:   cmp(1) warns patch
Message-ID:  <20010803213745.A4390@coffee.q9media.com>

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

I'd appreciate comments on the following patch.  If there are no
objections, I'd like to commit this shortly.

Best regards,
Mike Barcroft

----------------------------------------------------------------------

cmp.20010803.patch

o Constify
o Fix some compile-time warnings.
o Set WARNS?=2

Index: cmp/Makefile
===================================================================
RCS file: /home/ncvs/src/usr.bin/cmp/Makefile,v
retrieving revision 1.2
diff -u -r1.2 Makefile
--- cmp/Makefile	1998/12/06 22:58:15	1.2
+++ cmp/Makefile	2001/08/04 01:02:33
@@ -1,7 +1,7 @@
 #	@(#)Makefile	8.1 (Berkeley) 6/6/93
 
 PROG=	cmp
-CFLAGS+=-Wall
 SRCS=	cmp.c misc.c regular.c special.c
+WARNS?=	2
 
 .include <bsd.prog.mk>
Index: cmp/cmp.c
===================================================================
RCS file: /home/ncvs/src/usr.bin/cmp/cmp.c,v
retrieving revision 1.9
diff -u -r1.9 cmp.c
--- cmp/cmp.c	2000/07/25 13:01:34	1.9
+++ cmp/cmp.c	2001/08/04 01:02:33
@@ -68,7 +68,7 @@
 	struct stat sb1, sb2;
 	off_t skip1, skip2;
 	int ch, fd1, fd2, special;
-	char *file1, *file2;
+	const char *file1, *file2;
 
 	while ((ch = getopt(argc, argv, "-lsxz")) != -1)
 		switch (ch) {
Index: cmp/extern.h
===================================================================
RCS file: /home/ncvs/src/usr.bin/cmp/extern.h,v
retrieving revision 1.2
diff -u -r1.2 extern.h
--- cmp/extern.h	2000/05/15 08:30:43	1.2
+++ cmp/extern.h	2001/08/04 01:02:33
@@ -40,9 +40,10 @@
 #define DIFF_EXIT	1
 #define ERR_EXIT	2	/* error exit code */
 
-void	c_regular __P((int, char *, off_t, off_t, int, char *, off_t, off_t));
-void	c_special __P((int, char *, off_t, int, char *, off_t));
-void	diffmsg __P((char *, char *, off_t, off_t));
-void	eofmsg __P((char *));
+void	c_regular __P((int, const char *, off_t, off_t, int, const char *,
+	    off_t, off_t));
+void	c_special __P((int, const char *, off_t, int, const char *, off_t));
+void	diffmsg __P((const char *, const char *, off_t, off_t));
+void	eofmsg __P((const char *));
 
 extern int lflag, sflag, xflag;
Index: cmp/misc.c
===================================================================
RCS file: /home/ncvs/src/usr.bin/cmp/misc.c,v
retrieving revision 1.2
diff -u -r1.2 misc.c
--- cmp/misc.c	1998/12/06 22:58:15	1.2
+++ cmp/misc.c	2001/08/04 01:02:33
@@ -45,7 +45,7 @@
 
 void
 eofmsg(file)
-	char *file;
+	const char *file;
 {
 	if (!sflag)
 		warnx("EOF on %s", file);
@@ -54,11 +54,11 @@
 
 void
 diffmsg(file1, file2, byte, line)
-	char *file1, *file2;
+	const char *file1, *file2;
 	off_t byte, line;
 {
 	if (!sflag)
-		(void)printf("%s %s differ: char %qd, line %qd\n",
-		    file1, file2, byte, line);
+		(void)printf("%s %s differ: char %lld, line %lld\n",
+		    file1, file2, (long long)byte, (long long)line);
 	exit(DIFF_EXIT);
 }
Index: cmp/regular.c
===================================================================
RCS file: /home/ncvs/src/usr.bin/cmp/regular.c,v
retrieving revision 1.10
diff -u -r1.10 regular.c
--- cmp/regular.c	2000/06/20 20:28:40	1.10
+++ cmp/regular.c	2001/08/04 01:02:33
@@ -56,7 +56,7 @@
 void
 c_regular(fd1, file1, skip1, len1, fd2, file2, skip2, len2)
 	int fd1, fd2;
-	char *file1, *file2;
+	const char *file1, *file2;
 	off_t skip1, len1, skip2, len2;
 {
 	u_char ch, *p1, *p2;
@@ -81,7 +81,7 @@
 	off2 = ROUNDPAGE(skip2);
 
 	length = MIN(len1, len2);
-	if (length > SIZE_T_MAX)
+	if (length > (off_t)SIZE_T_MAX)
 		return (c_special(fd1, file1, skip1, fd2, file2, skip2));
 
 	if ((p1 = (u_char *)mmap(NULL, (size_t)len1 + skip1 % pagesize,
@@ -101,10 +101,12 @@
 		if ((ch = *p1) != *p2) {
 			if (xflag) {
 				dfound = 1;
-				(void)printf("%08qx %02x %02x\n", byte - 1, ch, *p2);
+				(void)printf("%08llx %02x %02x\n",
+				    (long long)(byte - 1), ch, *p2);
 			} else if (lflag) {
 				dfound = 1;
-				(void)printf("%6qd %3o %3o\n", byte, ch, *p2);
+				(void)printf("%6lld %3o %3o\n", (long long)byte,
+				    ch, *p2);
 			} else
 				diffmsg(file1, file2, byte, line);
 				/* NOTREACHED */
Index: cmp/special.c
===================================================================
RCS file: /home/ncvs/src/usr.bin/cmp/special.c,v
retrieving revision 1.4
diff -u -r1.4 special.c
--- cmp/special.c	1999/04/25 22:37:57	1.4
+++ cmp/special.c	2001/08/04 01:02:33
@@ -47,7 +47,7 @@
 void
 c_special(fd1, file1, skip1, fd2, file2, skip2)
 	int fd1, fd2;
-	char *file1, *file2;
+	const char *file1, *file2;
 	off_t skip1, skip2;
 {
 	int ch1, ch2;
@@ -76,7 +76,8 @@
 		if (ch1 != ch2) {
 			if (lflag) {
 				dfound = 1;
-				(void)printf("%6qd %3o %3o\n", byte, ch1, ch2);
+				(void)printf("%6lld %3o %3o\n",
+				    (long long)byte, ch1, ch2);
 			} else {
 				diffmsg(file1, file2, byte, line);
 				/* NOTREACHED */

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




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