Re: Comparison with "true" in source code
Itagaki Takahiro <itagaki.takahiro@gmail.com>
From: Itagaki Takahiro <itagaki.takahiro@gmail.com>
To: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2010-11-04T01:45:14Z
Lists: pgsql-hackers
Attachments
- bool_eq_true_cleanup.patch (application/octet-stream) patch
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? -- Itagaki Takahiro