bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Diff bug: ignore-file-name-case does not work


From: Hulst, John
Subject: Diff bug: ignore-file-name-case does not work
Date: Tue, 18 Mar 2003 10:09:57 +0100

<<dir.c>>
diffutils 2.8.1                   April 2002                           DIFF(1)
The bug was found while using CYGWIN.

In the diff utility ignore-file-name-case does not work:
diff --ignore-file-name-case -u --recursive $XXXdir/ $YYYdir/

Bugfix in dir.c in function compare_names():

/* Compare file names, returning a value compatible with strcmp.  */

static int
compare_names (char const *name1, char const *name2)
{
  //printf("compare_names('%s','%s'), ignore case: %d\n", name1,name2,ignore_file_name_case);
  if (ignore_file_name_case)
    {
      int r = strcasecmp (name1, name2);
      //printf("r = %d\n",r);
      //if (r)
        return r;
    }

  if (locale_specific_sorting)
    {
      int r;
      errno = 0;
      r = strcoll (name1, name2);
      if (errno)
        {
          error (0, errno, _("cannot compare file names `%s' and `%s'"),
                 name1, name2);
          longjmp (failed_strcoll, 1);
        }
      if (r)
        return r;
    }

  return file_name_cmp (name1, name2);
}

Regards,
John

Attachment: dir.c
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]