svn commit: r242620 - head/bin/sh

Jilles Tjoelker jilles at stack.nl
Mon Nov 5 22:31:26 UTC 2012


On Mon, Nov 05, 2012 at 10:34:48PM +0100, Pawel Jakub Dawidek wrote:
> On Mon, Nov 05, 2012 at 05:52:18PM +0000, Jilles Tjoelker wrote:
> > Author: jilles
> > Date: Mon Nov  5 17:52:18 2012
> > New Revision: 242620
> > URL: http://svnweb.freebsd.org/changeset/base/242620

> > Log:
> >   sh: Change cmdtype in tblentry from short to signed char.

> >   If this is a smaller type than int anyway, we can make it the smallest
> >   possible.

> > Modified:
> >   head/bin/sh/exec.c

> > Modified: head/bin/sh/exec.c
> > ==============================================================================
> > --- head/bin/sh/exec.c	Mon Nov  5 17:50:40 2012	(r242619)
> > +++ head/bin/sh/exec.c	Mon Nov  5 17:52:18 2012	(r242620)
> > @@ -85,7 +85,7 @@ struct tblentry {
> >  	struct tblentry *next;	/* next entry in hash chain */
> >  	union param param;	/* definition of builtin function */
> >  	int special;		/* flag for special builtin commands */
> > -	short cmdtype;		/* index identifying command */
> > +	signed char cmdtype;	/* index identifying command */

> Why not simply 'char'?

Because 'char' may be signed or unsigned depending on architecture and
we store the value -1 in it (CMDUNKNOWN). In particular, on ARM 'char'
is unsigned.

-- 
Jilles Tjoelker


More information about the svn-src-all mailing list