|From:||Tatsuo Ishii <ishii(at)sraoss(dot)co(dot)jp>|
|Cc:||t-ishii(at)sra(dot)co(dot)jp, pgsql-patches(at)postgreSQL(dot)org, pgsql-hackers(at)postgreSQL(dot)org|
|Subject:||Re: Proposed patch to clean up signed-ness warnings|
|Views:||Raw Message | Whole Thread | Download mbox|
> 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
|Next Message||Bruce Momjian||2005-09-22 23:18:28||Re: 2 forks for md5?|
|Previous Message||Tom Lane||2005-09-22 22:42:52||Re: 2 forks for md5?|
|Next Message||Tom Lane||2005-09-22 23:46:04||Re: Proposed patch to clean up signed-ness warnings|
|Previous Message||Tom Lane||2005-09-22 22:29:11||Proposed patch to clean up signed-ness warnings|