aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/port/path.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/port/path.c b/src/port/path.c
index 13b57c81c1d..df520a3093a 100644
--- a/src/port/path.c
+++ b/src/port/path.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/port/path.c,v 1.70.2.1 2009/04/03 11:52:10 mha Exp $
+ * $PostgreSQL: pgsql/src/port/path.c,v 1.70.2.2 2009/04/03 23:27:28 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -420,20 +420,22 @@ get_progname(const char *argv0)
/*
- * dir_strcmp: strcmp except any two DIR_SEP characters are considered equal
+ * dir_strcmp: strcmp except any two DIR_SEP characters are considered equal,
+ * and we honor filesystem case insensitivity if known
*/
static int
dir_strcmp(const char *s1, const char *s2)
{
while (*s1 && *s2)
{
+ if (
#ifndef WIN32
- if (*s1 != *s2 &&
+ *s1 != *s2
#else
/* On windows, paths are case-insensitive */
- if (pg_tolower(*s1) != pg_tolower(*s2) &&
+ pg_tolower((unsigned char) *s1) != pg_tolower((unsigned char) *s2)
#endif
- !(IS_DIR_SEP(*s1) && IS_DIR_SEP(*s2)))
+ && !(IS_DIR_SEP(*s1) && IS_DIR_SEP(*s2)))
return (int) *s1 - (int) *s2;
s1++, s2++;
}