This is the mail archive of the cygwin-patches@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Problem with filenames ending in "." with check_case:strict


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;
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]