Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Mar 2015 22:32:24 +0000 (UTC)
From:      Jilles Tjoelker <jilles@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r279508 - head/bin/sh
Message-ID:  <201503012232.t21MWO3P019379@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jilles
Date: Sun Mar  1 22:32:23 2015
New Revision: 279508
URL: https://svnweb.freebsd.org/changeset/base/279508

Log:
  sh: Fix more compiler warnings.

Modified:
  head/bin/sh/eval.c
  head/bin/sh/eval.h
  head/bin/sh/histedit.c
  head/bin/sh/jobs.c
  head/bin/sh/options.c
  head/bin/sh/var.c

Modified: head/bin/sh/eval.c
==============================================================================
--- head/bin/sh/eval.c	Sun Mar  1 22:12:24 2015	(r279507)
+++ head/bin/sh/eval.c	Sun Mar  1 22:32:23 2015	(r279508)
@@ -149,7 +149,7 @@ evalcmd(int argc, char **argv)
  */
 
 void
-evalstring(char *s, int flags)
+evalstring(const char *s, int flags)
 {
 	union node *n;
 	struct stackmark smark;

Modified: head/bin/sh/eval.h
==============================================================================
--- head/bin/sh/eval.h	Sun Mar  1 22:12:24 2015	(r279507)
+++ head/bin/sh/eval.h	Sun Mar  1 22:32:23 2015	(r279508)
@@ -53,7 +53,7 @@ void reseteval(void);
 #define EV_TESTED 02		/* exit status is checked; ignore -e flag */
 #define EV_BACKCMD 04		/* command executing within back quotes */
 
-void evalstring(char *, int);
+void evalstring(const char *, int);
 union node;	/* BLETCH for ansi C */
 void evaltree(union node *, int);
 void evalbackcmd(union node *, struct backcmd *);

Modified: head/bin/sh/histedit.c
==============================================================================
--- head/bin/sh/histedit.c	Sun Mar  1 22:12:24 2015	(r279507)
+++ head/bin/sh/histedit.c	Sun Mar  1 22:32:23 2015	(r279508)
@@ -338,8 +338,8 @@ histcmd(int argc, char **argv __unused)
 				out1fmt("%5d ", he.num);
 			out1str(he.str);
 		} else {
-			char *s = pat ?
-			   fc_replace(he.str, pat, repl) : (char *)he.str;
+			const char *s = pat ?
+			   fc_replace(he.str, pat, repl) : he.str;
 
 			if (sflg) {
 				if (displayhist) {
@@ -477,7 +477,7 @@ bindcmd(int argc, char **argv)
 
 	if (el == NULL)
 		error("line editing is disabled");
-	return (el_parse(el, argc, (const char **)argv));
+	return (el_parse(el, argc, __DECONST(const char **, argv)));
 }
 
 #else

Modified: head/bin/sh/jobs.c
==============================================================================
--- head/bin/sh/jobs.c	Sun Mar  1 22:12:24 2015	(r279507)
+++ head/bin/sh/jobs.c	Sun Mar  1 22:32:23 2015	(r279508)
@@ -232,7 +232,7 @@ fgcmd(int argc __unused, char **argv __u
 
 
 int
-bgcmd(int argc, char **argv)
+bgcmd(int argc __unused, char **argv __unused)
 {
 	struct job *jp;
 

Modified: head/bin/sh/options.c
==============================================================================
--- head/bin/sh/options.c	Sun Mar  1 22:12:24 2015	(r279507)
+++ head/bin/sh/options.c	Sun Mar  1 22:32:23 2015	(r279508)
@@ -465,7 +465,7 @@ getopts(char *optstr, char *optvar, char
 	int ind = 0;
 	int err = 0;
 	char s[10];
-	const char *optarg = NULL;
+	const char *newoptarg = NULL;
 
 	if ((p = *optptr) == NULL || *p == '\0') {
 		/* Current word is done, advance */
@@ -491,7 +491,7 @@ atend:
 			if (optstr[0] == ':') {
 				s[0] = c;
 				s[1] = '\0';
-				optarg = s;
+				newoptarg = s;
 			}
 			else
 				out2fmt_flush("Illegal option -%c\n", c);
@@ -507,7 +507,7 @@ atend:
 			if (optstr[0] == ':') {
 				s[0] = c;
 				s[1] = '\0';
-				optarg = s;
+				newoptarg = s;
 				c = ':';
 			}
 			else {
@@ -519,7 +519,7 @@ atend:
 
 		if (p == **optnext)
 			(*optnext)++;
-		optarg = p;
+		newoptarg = p;
 		p = NULL;
 	}
 
@@ -527,8 +527,8 @@ out:
 	if (*optnext != NULL)
 		ind = *optnext - optfirst + 1;
 	*optptr = p;
-	if (optarg != NULL)
-		err |= setvarsafe("OPTARG", optarg, 0);
+	if (newoptarg != NULL)
+		err |= setvarsafe("OPTARG", newoptarg, 0);
 	else {
 		INTOFF;
 		err |= unsetvar("OPTARG");

Modified: head/bin/sh/var.c
==============================================================================
--- head/bin/sh/var.c	Sun Mar  1 22:12:24 2015	(r279507)
+++ head/bin/sh/var.c	Sun Mar  1 22:32:23 2015	(r279508)
@@ -141,6 +141,7 @@ static const int locale_categories[7] = 
 static int varequal(const char *, const char *);
 static struct var *find_var(const char *, struct var ***, int *);
 static int localevar(const char *);
+static void setvareq_const(const char *s, int flags);
 
 extern char **environ;
 
@@ -183,7 +184,7 @@ initvar(void)
 			setvareq(*envp, VEXPORT|VTEXTFIXED);
 		}
 	}
-	setvareq("OPTIND=1", VTEXTFIXED);
+	setvareq_const("OPTIND=1", 0);
 }
 
 /*
@@ -389,6 +390,12 @@ setvareq(char *s, int flags)
 }
 
 
+static void
+setvareq_const(const char *s, int flags)
+{
+	setvareq(__DECONST(char *, s), flags | VTEXTFIXED);
+}
+
 
 /*
  * Process a linked list of variable assignments.



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