Re: Proposed patch to clean up signed-ness warnings - Mailing list pgsql-patches

From Tatsuo Ishii
Subject Re: Proposed patch to clean up signed-ness warnings
Date
Msg-id 20050923.081310.59651303.ishii@sraoss.co.jp
Whole thread Raw
In response to Proposed patch to clean up signed-ness warnings  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Proposed patch to clean up signed-ness warnings
List pgsql-patches
> With gcc 4 spreading, it seems like it's past time to do something about
> all those signed-vs-unsigned-char warnings that it emits.  (Translation:
> now that I have to use gcc 4 regularly, I got annoyed enough to fix it
> ;-))
>
> I looked into it a little and determined that nearly all the warnings
> were associated with the multibyte code.  Outside the mb subsystem,
> our code pretty much uses "char *" for strings, but inside mb it's
> mostly "unsigned char *", which is needed because there are lots of
> inequality comparisons in there.  It seemed to me that the cleanest
> fix was to change the external API of the mb subsystem to take and
> return "char *", while still using "unsigned char *" internally.
> The attached patch eliminates all signed-ness warnings in CVS tip
> using this approach.  It's kinda long and tedious, but straightforward,
> and quite a lot of the changes simplify existing code by removing
> casts that aren't needed anymore.
>
> Two questions for the list:
>
> 1. Can anyone think of a cleaner way to do this?
>
> 2. Is there objection to applying this patch now (ie, before beta3)?
> It's not quite a bug fix, but I think it'll make it easier to find
> bugs going forward.

For me, your patche seems to be a retrogression. In my understanding,
the reason why PostgreSQL uses "char *" in many places is just it was
designed in the old days when ASCII was the only charset in the world.
--
SRA OSS, Inc. Japan
Tatsuo Ishii

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Proposed patch to clean up signed-ness warnings
Next
From: Tom Lane
Date:
Subject: Re: Proposed patch to clean up signed-ness warnings