Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jan 2004 20:33:05 +0100
From:      Stefan Farfeleder <stefan@fafoe.narf.at>
To:        Dag-Erling Smorgrav <des@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/libkern ffs.c ffsl.c fls.c flsl.c
Message-ID:  <20040113193300.GB626@wombat.fafoe.narf.at>
In-Reply-To: <200401131602.i0DG2Khx064321@repoman.freebsd.org>
References:  <200401131602.i0DG2Khx064321@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 13, 2004 at 08:02:20AM -0800, Dag-Erling Smorgrav wrote:
> des         2004/01/13 08:02:20 PST
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/libkern          ffs.c ffsl.c fls.c flsl.c 
>   Log:
>   Cast to unsigned to avoid sign-extension problems.
>   
>   Revision  Changes    Path
>   1.9       +1 -1      src/sys/libkern/ffs.c
>   1.2       +1 -1      src/sys/libkern/ffsl.c
>   1.2       +1 -1      src/sys/libkern/fls.c
>   1.2       +1 -1      src/sys/libkern/flsl.c

@@ -47,6 +47,6 @@ ffs(int mask)
 	if (mask == 0)
 		return (0);
 	for (bit = 1; !(mask & 1); bit++)
-		mask >>= 1;
+		(unsigned int)mask >>= 1;
 	return (bit);
 }

This is an ugly GCC extension.  Might I suggest using the portable

mask = (unsigned int)mask >> 1; 

instead?

Regards,
Stefan Farfeleder



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