From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=50384 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OlHEg-0006dK-G5 for qemu-devel@nongnu.org; Tue, 17 Aug 2010 04:09:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OlHEf-0002hv-EM for qemu-devel@nongnu.org; Tue, 17 Aug 2010 04:09:30 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39253) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OlHEf-0002ha-4q for qemu-devel@nongnu.org; Tue, 17 Aug 2010 04:09:29 -0400 Message-ID: <4C6A43B5.40809@redhat.com> Date: Tue, 17 Aug 2010 10:09:25 +0200 From: Jes Sorensen MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 2/5] CODING_STYLE: add C type rules References: In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: qemu-devel On 08/12/10 19:50, Blue Swirl wrote: > +While using "bool" is good for readability, it comes with minor caveats: > + - Don't use "bool" in places where the type size must be constant across > + all systems, like public interfaces and on-the-wire protocols. > + - Don't compare a bool variable against the literal, "true", > + since a value with a logical non-false value need not be "1". > + I.e., don't write "if (seen == true) ...". Rather, write "if (seen)...". I'd strongly discourage the use of bool in any code. It doesn't provide anything guarantees and you are not sure about the size of it. Using int is safer. IMHO bool is one of the worse examples of changes to the C standard :( bool foo = false; foo++; if (foo == true).... The other thing that might be worth mentioning in the int/long section is that long is complicated in broken development environments such as Windows where it is only 32 bit :( Cheers, Jes