[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: diff --ignore-file-name-case bug
From: |
Stepan Kasal |
Subject: |
Re: diff --ignore-file-name-case bug |
Date: |
Fri, 14 Feb 2003 12:00:05 +0100 |
User-agent: |
Mutt/1.2.5.1i |
Hello,
On Fri, Feb 14, 2003 at 09:44:46AM -0000, Mark Owens wrote:
> Hello> diff -v
> diff (GNU diffutils) 2.8.1
> Copyright (C) 2002 Free Software Foundation, Inc.
>
> Hello> diff --ignore-file-name-case -r e-Procurement/english.CVS/forms
> e-Procurement/english.VSS/forms
> Only in e-Procurement/english.CVS/forms: AmendLineAcc.frm
> Only in e-Procurement/english.VSS/forms: amendlineacc.frm
>
> From my understanding, the above messages should not occur as I used the
> --ignore-file-name-case option.
FWIW, I've verified that this bug appears also with diff-2.8.4 on
my Linux. So it's not fixed yet, and it isn't Cygwin specific.
Looking at function compare_names in src/dir.c, I see that the problem is
that compare_names doesn't return 0 just because strcasecmp() returned 0.
This is necessary for sorting, but causes the problem reported.
Another bug:
============
Looking at the same function, I see that strcasecmp() is used for
case-insensitive comparisons, even though strcoll() in combination with
tolower() might be more appropriate (unless we find out that
locale_specific_sorting is not possible).
I don't have time to fix any of the bugs, atm. Sorry.
Stepan Kasal