Thread: ecpg compiler warning about char* comparison

ecpg compiler warning about char* comparison

From
Takahiro Itagaki
Date:
There is a complier warning in ecpg/ecpglib/error.c on HEAD:

error.c: In function 'eecpg_raise_backend':
error.c:309: warning: comparison with string literal results in unspecified behavior

It comes from the following coparison:
---
#define ECPG_SQLSTATE_ECPG_INTERNAL_ERROR    "YE000"
char       *sqlstate;
if (sqlstate == ECPG_SQLSTATE_ECPG_INTERNAL_ERROR)
---

Instead, should we use "if (strcmp(...) == 0)" here?

Regards,
---
Takahiro Itagaki
NTT Open Source Software Center



Re: ecpg compiler warning about char* comparison

From
Michael Meskes
Date:
On Mon, Mar 08, 2010 at 10:46:03AM +0900, Takahiro Itagaki wrote:
> There is a complier warning in ecpg/ecpglib/error.c on HEAD:
> ...
> Instead, should we use "if (strcmp(...) == 0)" here?

Exactly. Thanks for spotting this, fixed in HEAD.

Michael
-- 
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Michael at BorussiaFan dot De, Meskes at (Debian|Postgresql) dot Org
ICQ 179140304, AIM/Yahoo/Skype michaelmeskes, Jabber meskes@jabber.org
VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL