GNU bug report logs - #7203
[PATCH] sort: fix unportable conversion of unsigned char * -> char *

Previous Next

Package: coreutils;

Reported by: Paul Eggert <eggert <at> cs.ucla.edu>

Date: Tue, 12 Oct 2010 20:09:02 UTC

Severity: normal

Tags: patch

Done: Jim Meyering <jim <at> meyering.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Pádraig Brady <P <at> draigBrady.com>
To: Jim Meyering <jim <at> meyering.net>
Cc: 7203 <at> debbugs.gnu.org, Paul Eggert <eggert <at> cs.ucla.edu>
Subject: bug#7203: [PATCH] sort: fix unportable conversion of unsigned char	* -> char *
Date: Tue, 12 Oct 2010 22:54:25 +0100
On 12/10/10 22:28, Jim Meyering wrote:
> Paul Eggert wrote:
>> This is another portability bug caught by the Sun C compiler.
>> Without this patch, cc complains:
>>
>> "sort.c", line 3933: warning: assignment type mismatch:
>>         pointer to const char "=" pointer to unsigned char
>>
>>
>> * src/sort.c (fold_toupper): Change this back from char to
>> unsigned char, fixing a regression introduced in commit
>> 59e2e55d0f154a388adc9bac37d2b45f2ba971f8 dated February 26, as the
>> C Standard doesn't let you convert from unsigned char * to char *
>> without a cast, and the (in theory more portable) style here is to
>> convert char values, not pointer values.
>> (getmonth): Convert char to unsigned char when needed for
>> comparison.
> 
> Calling commit 59e2e55d0f a regression might lead the unwary
> to think that it causes sort to malfunction, when in fact,
> at worst (afaics), it evokes a warning.
> 
> So how about something like s/regression/problem/ ?
> 
> This feels like enough of a technicality that I'd prefer to defer it.

Note gcc would also warn about this with -Wall, except that
we disable the warning with -Wno-pointer-sign in configure.ac

So I agree with the change, but s/regression/warning/

cheers,
Pádraig.




This bug report was last modified 14 years and 39 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.