Re: Comparison with "true" in source code - Mailing list pgsql-hackers

From Robert Haas
Subject Re: Comparison with "true" in source code
Date
Msg-id AANLkTimqWUWVtpFJOwTmH2pO997H8Sd75kB0Sw2w26MG@mail.gmail.com
Whole thread Raw
In response to Re: Comparison with "true" in source code  (Itagaki Takahiro <itagaki.takahiro@gmail.com>)
Responses Re: Comparison with "true" in source code
List pgsql-hackers
On Wed, Nov 3, 2010 at 9:45 PM, Itagaki Takahiro
<itagaki.takahiro@gmail.com> wrote:
> On Wed, Nov 3, 2010 at 2:19 AM, Michael Meskes <meskes@postgresql.org> wrote:
>> On Mon, Nov 01, 2010 at 12:17:02PM +0900, Itagaki Takahiro wrote:
>>> There are some "== true" in the codes, but they might not be safe
>>> because all non-zero values are true in C. Is it worth cleaning up them?
>
> Here is a proposed cleanup that replaces "boolean == true" with "boolean".
> I didn't touch "== false" unless they are not in pairs of comparisons
> with true because comparison with false is a valid C code.
>
> Note that I also changed "boolean != true" in pg_upgrade,
> but I didn't change ones in xlog.c because it might check
> corrupted fields in control files.
>
>>> src/interfaces/ecpg/preproc/ecpg.c(310):
>>>    ptr2ext[3] = (header_mode == true) ? 'h' : 'c';
>> I actually see no reason why these variables are not defined as bool instead of
>> int, so I changed this. Hopefully I found all of them.
>
> I added an additional cleanup to 'header_mode' in ecpg; I changed the type
> from bool to char to hold 'h' or 'c'. Do you think it is reasonable?

I looked at this but found that part a bit too clever for its own good.

So committed the rest, plus an additional one-line change to psql's
print.c to avoid making the two accesses to format->wrap_right_pointer
inconsistent with each other.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [COMMITTERS] pgsql: Improved parallel make support
Next
From: Greg Stark
Date:
Subject: Re: Refactoring the Type System