[PATCH] Problem with filenames ending in "." with check_case:strict
Christopher Faylor
cgf-no-personal-reply-please@cygwin.com
Wed Mar 30 19:13:00 GMT 2005
On Wed, Mar 30, 2005 at 01:51:36PM -0500, Igor Pechtchanski wrote:
>ChangeLog:
>2005-03-21 Igor Pechtchanski <pechtcha@cs.nyu.edu>
>
> * path.cc (symlink_info::case_check): Ignore trailing characters
> in paths when comparing case.
Doesn't this ignore all trailing characters so that "foo" could match "foobbbbb"?
cgf
>Index: winsup/cygwin/path.cc
>===================================================================
>RCS file: /cvs/src/src/winsup/cygwin/path.cc,v
>retrieving revision 1.355
>diff -u -p -r1.355 path.cc
>--- winsup/cygwin/path.cc 12 Mar 2005 02:32:59 -0000 1.355
>+++ winsup/cygwin/path.cc 22 Mar 2005 00:46:23 -0000
>@@ -3217,6 +3217,7 @@ symlink_info::case_check (char *path)
> WIN32_FIND_DATA data;
> HANDLE h;
> char *c;
>+ int len;
>
> /* Set a pointer to the beginning of the last component. */
> if (!(c = strrchr (path, '\\')))
>@@ -3230,7 +3231,8 @@ symlink_info::case_check (char *path)
> FindClose (h);
>
> /* If that part of the component exists, check the case. */
>- if (strcmp (c, data.cFileName))
>+ len = strlen(data.cFileName);
>+ if (strncmp (c, data.cFileName, len))
> {
> case_clash = true;
>
More information about the Cygwin-patches
mailing list