Date: Mon, 28 Feb 2005 19:33:53 -0800 From: "David O'Brien" <obrien@freebsd.org> To: freebsd-audit@freebsd.org Subject: quiting X warnings in /bin/sh Message-ID: <20050301033353.GA84365@dragon.nuxi.com>
next in thread | raw e-mail | index | archive | help
On 'i386' one gets several "comparison is always true due to limited range of data type" warnings when compiling bin/sh because PEOF is -129 and SYNBASE is 129. Which of course are outside the range of an 8-bit character. I think the correct fix is the patch below to give a range of -128..128 in the signed character case, and -1..1 in the unsigned character case. Index: mksyntax.c =================================================================== RCS file: /home/ncvs/src/bin/sh/mksyntax.c,v retrieving revision 1.23 diff -u -r1.23 mksyntax.c --- mksyntax.c 6 Apr 2004 20:06:51 -0000 1.23 +++ mksyntax.c 1 Mar 2005 03:29:50 -0000 @@ -158,7 +158,7 @@ size = (1 << nbits) + 1; base = 1; if (sign) - base += 1 << (nbits - 1); + base += (1 << (nbits - 1)) - 1; digit_contig = 1; for (i = 0 ; i < 10 ; i++) { if (digit[i] != '0' + i) -- -- David (obrien@FreeBSD.org)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050301033353.GA84365>