Обсуждение: ecpg compiler warning about char* comparison

Поиск
Список
Период
Сортировка

ecpg compiler warning about char* comparison

От
Takahiro Itagaki
Дата:
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

От
Michael Meskes
Дата:
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