[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