mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-16 19:40:07 +08:00
e3ccb68610
Long-standing problem in one of the corner cases of rename(2): If we rename a directory a check is performed to see if newpath is identical to oldpath or a subdir of oldpath. This check is (accidentally? no hints anywhere in ChangeLogs or code) performed case-insensitive for as long as we use Unicode paths and NT functions. This leads to the problems described in https://cygwin.com/ml/cygwin/2016-09/msg00264.html Change this to be conditional case-sensitive as all other checks but let's take this with a grain of salt. There may be corner-cases in this corner-case which require to chek parts of the path always case-insensitive. Off the top of my head I can't construct such a case but that's no proof they don't exist :} Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cygwin documentation is available on the net at https://cygwin.com You might especially be interested in https://cygwin.com/faq/faq.html#faq.programming.building-cygwin