summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--bootstrap.conf5
-rw-r--r--src/dircolors.c11
3 files changed, 17 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 77157c746..9a7b0b68d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-02-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap.conf (gnulib_modules): Add c-strcase. Remove strcase.
+ * src/dircolors.c: Include c-strcase.h.
+ (dc_parse_stream): Use c_strcasecmp rather than
+ strcasecmp to avoid unreliable results in locales like Turkish
+ where strcasecmp is incompatible with the C locale.
+
2007-02-13 Jim Meyering <jim@meyering.net>
Also check for and print stderr output, in case a program fails.
diff --git a/bootstrap.conf b/bootstrap.conf
index 631f2eddf..e94478a07 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -38,7 +38,8 @@ obsolete_gnulib_modules='
gnulib_modules="
$avoided_gnulib_modules
$obsolete_gnulib_modules
- acl alloca announce-gen argmatch assert backupfile base64 c-strtod
+ acl alloca announce-gen argmatch assert backupfile base64
+ c-strcase c-strtod
c-strtold calloc canon-host canonicalize chown cloexec
config-h configmake
closeout cycle-check d-ino d-type diacrit dirfd dirname dup2
@@ -60,7 +61,7 @@ gnulib_modules="
rpmatch
safe-read same
save-cwd savedir savewd settime sha1 sig2str ssize_t stat-macros
- stat-time stdbool stdlib-safer stpcpy strcase strftime
+ stat-time stdbool stdlib-safer stpcpy strftime
strpbrk strtoimax strtoumax strverscmp sys_stat timespec tzset
unicodeio unistd-safer unlink-busy unlinkdir unlocked-io
uptime userspec utimecmp utimens vasprintf verify version-etc-fsf
diff --git a/src/dircolors.c b/src/dircolors.c
index a6c98893a..82eb1e088 100644
--- a/src/dircolors.c
+++ b/src/dircolors.c
@@ -24,6 +24,7 @@
#include "system.h"
#include "dircolors.h"
+#include "c-strcase.h"
#include "error.h"
#include "getline.h"
#include "obstack.h"
@@ -295,7 +296,7 @@ dc_parse_stream (FILE *fp, const char *filename)
}
unrecognized = false;
- if (strcasecmp (keywd, "TERM") == 0)
+ if (c_strcasecmp (keywd, "TERM") == 0)
{
if (STREQ (arg, term))
state = ST_TERMSURE;
@@ -324,9 +325,9 @@ dc_parse_stream (FILE *fp, const char *filename)
append_quoted (arg);
APPEND_CHAR (':');
}
- else if (strcasecmp (keywd, "OPTIONS") == 0
- || strcasecmp (keywd, "COLOR") == 0
- || strcasecmp (keywd, "EIGHTBIT") == 0)
+ else if (c_strcasecmp (keywd, "OPTIONS") == 0
+ || c_strcasecmp (keywd, "COLOR") == 0
+ || c_strcasecmp (keywd, "EIGHTBIT") == 0)
{
/* Ignore. */
}
@@ -335,7 +336,7 @@ dc_parse_stream (FILE *fp, const char *filename)
int i;
for (i = 0; slack_codes[i] != NULL; ++i)
- if (strcasecmp (keywd, slack_codes[i]) == 0)
+ if (c_strcasecmp (keywd, slack_codes[i]) == 0)
break;
if (slack_codes[i] != NULL)