]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Make directory name comparisons on Win32 case insensitive.
authorMagnus Hagander <magnus@hagander.net>
Fri, 3 Apr 2009 11:52:10 +0000 (11:52 +0000)
committerMagnus Hagander <magnus@hagander.net>
Fri, 3 Apr 2009 11:52:10 +0000 (11:52 +0000)
This method will not catch all different ways since the locale
handling in NTFS doesn't provide an easy way to do that, but it
will hopefully solve the most common cases causing startup
problems when the backend is found in the system PATH.

Attempts to fix bug #4694.

src/port/path.c

index 28608e979cf29e5a699a94f8fcd467dcd0c6db21..13b57c81c1d7aec285c4cd4c40731bd3098f09f6 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/port/path.c,v 1.70 2006/10/04 00:30:14 momjian Exp $
+ *       $PostgreSQL: pgsql/src/port/path.c,v 1.70.2.1 2009/04/03 11:52:10 mha Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -427,7 +427,12 @@ dir_strcmp(const char *s1, const char *s2)
 {
        while (*s1 && *s2)
        {
+#ifndef WIN32
                if (*s1 != *s2 &&
+#else
+                       /* On windows, paths are case-insensitive */
+               if (pg_tolower(*s1) != pg_tolower(*s2) &&
+#endif
                        !(IS_DIR_SEP(*s1) && IS_DIR_SEP(*s2)))
                        return (int) *s1 - (int) *s2;
                s1++, s2++;