Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Nov 2012 15:13: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: r242895 - head/bin/sh
Message-ID:  <201211111513.qABFDOEB013338@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jilles
Date: Sun Nov 11 15:13:24 2012
New Revision: 242895
URL: http://svnweb.freebsd.org/changeset/base/242895

Log:
  sh: Forward-declare struct alias instead of giving up type safety via void *

Modified:
  head/bin/sh/input.c
  head/bin/sh/input.h

Modified: head/bin/sh/input.c
==============================================================================
--- head/bin/sh/input.c	Sun Nov 11 13:28:04 2012	(r242894)
+++ head/bin/sh/input.c	Sun Nov 11 15:13:24 2012	(r242895)
@@ -350,7 +350,7 @@ pungetc(void)
  * We handle aliases this way.
  */
 void
-pushstring(char *s, int len, void *ap)
+pushstring(char *s, int len, struct alias *ap)
 {
 	struct strpush *sp;
 
@@ -365,9 +365,9 @@ pushstring(char *s, int len, void *ap)
 	sp->prevstring = parsenextc;
 	sp->prevnleft = parsenleft;
 	sp->prevlleft = parselleft;
-	sp->ap = (struct alias *)ap;
+	sp->ap = ap;
 	if (ap)
-		((struct alias *)ap)->flag |= ALIASINUSE;
+		ap->flag |= ALIASINUSE;
 	parsenextc = s;
 	parsenleft = len;
 	INTON;

Modified: head/bin/sh/input.h
==============================================================================
--- head/bin/sh/input.h	Sun Nov 11 13:28:04 2012	(r242894)
+++ head/bin/sh/input.h	Sun Nov 11 15:13:24 2012	(r242895)
@@ -45,6 +45,7 @@ extern int parsenleft;		/* number of cha
 extern char *parsenextc;	/* next character in input buffer */
 extern int init_editline;	/* 0 == not setup, 1 == OK, -1 == failed */
 
+struct alias;
 struct parsefile;
 
 char *pfgets(char *, int);
@@ -52,7 +53,7 @@ int pgetc(void);
 int preadbuffer(void);
 int preadateof(void);
 void pungetc(void);
-void pushstring(char *, int, void *);
+void pushstring(char *, int, struct alias *);
 void setinputfile(const char *, int);
 void setinputfd(int, int);
 void setinputstring(char *, int);



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