usr.bin/ar patcg

Max Okumoto okumoto at ucsd.edu
Thu Jan 13 05:58:41 PST 2005


Sergey Gluschenko wrote:
http://xlab.users.sevsky.net/dfly/ar.patch
Hi Sergey,

I looked over your patch and will commit it
to the tree if you could do two things.
	o write a small synopsis of what you changed
	o moved the envtmp declaration into extern.h
	  instead of just out of function scope.
Could you also submit a patch to remove the (void)
cast of functions that don't use a return value?
Thanks for the work.

			Max Okumoto
diff -ru ar/Makefile ar.local/Makefile
--- ar/Makefile	2005-01-13 03:05:38.000000000 +0200
+++ ar.local/Makefile	2005-01-13 01:38:50.000000000 +0200
@@ -8,5 +8,6 @@
 	move.c print.c replace.c
 MAN=	ar.1aout ar.5
 BINDIR=	/usr/libexec/binutils212/aout
+WARNS?= 6
 
 .include <bsd.prog.mk>
diff -ru ar/ar.c ar.local/ar.c
--- ar/ar.c	2003-11-03 21:31:28.000000000 +0200
+++ ar.local/ar.c	2005-01-13 01:54:27.000000000 +0200
@@ -58,8 +58,9 @@
 
 CHDR chdr;
 u_int options;
-char *archive, *envtmp, *posarg, *posname;
-static void badoptions(char *);
+char *archive, *posarg, *posname;
+char const *envtmp;
+static void badoptions(char const*);
 static void usage(void);
 
 /*
@@ -210,7 +211,7 @@
 }
 
 static void
-badoptions(char *arg)
+badoptions(char const *arg)
 {
 
 	warnx("illegal option combination for %s", arg);
diff -ru ar/archive.c ar.local/archive.c
--- ar/archive.c	2003-10-02 20:42:25.000000000 +0300
+++ ar.local/archive.c	2005-01-13 02:09:17.000000000 +0200
@@ -225,7 +225,7 @@
 			    (long)sb->st_mtimespec.tv_sec, sb->st_uid,
 			    sb->st_gid, sb->st_mode, sb->st_size, ARFMAG);
 			lname = 0;
-		} else if (lname > sizeof(hdr->ar_name) || strchr(name, ' '))
+		} else if (lname > (long)sizeof(hdr->ar_name) || strchr(name, ' '))
 			(void)sprintf(hb, HDR1, AR_EFMT1, lname,
 			    (long)sb->st_mtimespec.tv_sec, sb->st_uid,
 			    sb->st_gid, sb->st_mode, sb->st_size + lname,
diff -ru ar/archive.h ar.local/archive.h
--- ar/archive.h	2003-11-03 21:31:28.000000000 +0200
+++ ar.local/archive.h	2005-01-13 02:26:34.000000000 +0200
@@ -66,9 +66,9 @@
 /* File copy structure. */
 typedef struct {
 	int rfd;			/* read file descriptor */
-	char *rname;			/* read name */
+	char const *rname;			/* read name */
 	int wfd;			/* write file descriptor */
-	char *wname;			/* write name */
+	char const *wname;			/* write name */
 #define	NOPAD	0x00			/* don't pad */
 #define	RPAD	0x01			/* pad on reads */
 #define	WPAD	0x02			/* pad on writes */
diff -ru ar/extern.h ar.local/extern.h
--- ar/extern.h	2003-11-03 21:31:28.000000000 +0200
+++ ar.local/extern.h	2005-01-13 02:17:23.000000000 +0200
@@ -40,7 +40,7 @@
 int	compare(char *);
 int	contents(char **);
 int	delete(char **);
-void	error(char *);
+void	error(char const*);
 int	extract(char **);
 char   *files(char **argv);
 int	move(char **);
@@ -51,5 +51,5 @@
 
 extern char *archive;
 extern char *posarg, *posname;		/* positioning file name */
-extern char *tname;                     /* temporary file "name" */
+extern char const *tname;           /* temporary file "name" */
 extern CHDR chdr;			/* converted header */
diff -ru ar/misc.c ar.local/misc.c
--- ar/misc.c	2003-10-02 20:42:25.000000000 +0300
+++ ar.local/misc.c	2005-01-13 02:14:24.000000000 +0200
@@ -54,12 +54,12 @@
 #include "extern.h"
 #include "pathnames.h"
 
-char *tname = "temporary file";		/* temporary file "name" */
+char const*tname = "temporary file";		/* temporary file "name" */
+extern char *envtmp;
 
 int
 tmp(void)
 {
-	extern char *envtmp;
 	sigset_t set, oset;
 	static int first;
 	int fd;
@@ -127,7 +127,7 @@
 }
 
 void
-error(char *name)
+error(char const *name)
 {
 
 	err(1, "%s", name);




More information about the Submit mailing list