From owner-cvs-all@FreeBSD.ORG Tue Jan 13 11:33:36 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E28D016A4CE; Tue, 13 Jan 2004 11:33:36 -0800 (PST) Received: from fafoe.narf.at (chello212186121237.14.vie.surfer.at [212.186.121.237]) by mx1.FreeBSD.org (Postfix) with ESMTP id D3E7443D77; Tue, 13 Jan 2004 11:33:10 -0800 (PST) (envelope-from stefan@fafoe.narf.at) Received: from wombat.fafoe.narf.at (wombat.fafoe.narf.at [192.168.1.42]) by fafoe.narf.at (Postfix) with ESMTP id 7C570410C; Tue, 13 Jan 2004 20:33:06 +0100 (CET) Received: by wombat.fafoe.narf.at (Postfix, from userid 1001) id 4F2091D7; Tue, 13 Jan 2004 20:33:05 +0100 (CET) Date: Tue, 13 Jan 2004 20:33:05 +0100 From: Stefan Farfeleder To: Dag-Erling Smorgrav Message-ID: <20040113193300.GB626@wombat.fafoe.narf.at> References: <200401131602.i0DG2Khx064321@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200401131602.i0DG2Khx064321@repoman.freebsd.org> User-Agent: Mutt/1.5.5.1i cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/libkern ffs.c ffsl.c fls.c flsl.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jan 2004 19:33:37 -0000 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