From a62e8e3de9dfd6dc740bb8535c0cf35f05973ecc Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Sun, 19 Jun 2005 21:10:48 +0000 Subject: [PATCH] when reading color syntax names or sorting filenames, use mbstrcasecmp() instead of strcasecmp() to compare them, in case they're UTF-8 git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2734 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 7 +++++++ src/color.c | 2 +- src/files.c | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3a00578c..c1920048 100644 --- a/ChangeLog +++ b/ChangeLog @@ -121,6 +121,10 @@ CVS code - - Change erroneous ENABLE_EXTRA #ifdef to NANO_EXTRA to fix a compilation problem when --enable-nanorc isn't used and --enable-extra is. (DLR) +- color.c: + update_color() + - Use mbstrcasecmp() instead of strcasecmp(), so that UTF-8 + color syntax names are properly detected. (DLR) - cut.c: cut_line() - Set placewewant properly after cutting a line, to avoid a @@ -148,6 +152,9 @@ CVS code - - Since lineswritten is a size_t, print its value as an unsigned long instead of an unsigned int. (DLR) - Declare the size_t i only in the loop where it's used. (DLR) + diralphasort() + - Use mbstrcasecmp() instead of strcasecmp(), so that UTF-8 + filenames are sorted properly. (DLR) cwd_tab_completion(), browser_init() - Rename variable next to nextdir to avoid confusion. (DLR) input_tab() diff --git a/src/color.c b/src/color.c index 11bbebe5..336c27da 100644 --- a/src/color.c +++ b/src/color.c @@ -122,7 +122,7 @@ void update_color(void) if (colorstrings == NULL && syntaxstr != NULL) { for (tmpsyntax = syntaxes; tmpsyntax != NULL; tmpsyntax = tmpsyntax->next) { - if (strcasecmp(tmpsyntax->desc, syntaxstr) == 0) + if (mbstrcasecmp(tmpsyntax->desc, syntaxstr) == 0) colorstrings = tmpsyntax->color; } } diff --git a/src/files.c b/src/files.c index d164db18..fddedc7d 100644 --- a/src/files.c +++ b/src/files.c @@ -2008,7 +2008,7 @@ int diralphasort(const void *va, const void *vb) if (!aisdir && bisdir) return 1; - return strcasecmp(a, b); + return mbstrcasecmp(a, b); } /* Free the memory allocated for array, which should contain len