From d456bfa10d5a24ea6834d8b99480b67616e402aa Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Fri, 18 Mar 2005 19:07:25 +0000 Subject: [PATCH] add more locale string checks beyond case-sensitive "UTF-8" so that we can better detect UTF-8 locales, adapted from Debian's UTF-8 patch for slang git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2392 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 6 ++++-- src/nano.c | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8e4da46a..f088b1c5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -252,8 +252,10 @@ CVS code - main() - Try to automatically detect whether UTF-8 support is needed by setting the NO_UTF8 flag if setlocale() returns a string that - doesn't contain "UTF-8". When using slang 2.x, enable UTF-8 - support with SLutf8_enable(). (DLR) + doesn't contain "UTF8" or "UTF-8", case insensitively. When + using slang 2.x, enable UTF-8 support with SLutf8_enable(). + (DLR, string checks beyond case-sensitive "UTF-8" adapted from + Debian's UTF-8 patch for slang) - nano.h: - Remove now-unneeded #defines for functions that now have multibyte equivalents. (DLR) diff --git a/src/nano.c b/src/nano.c index 2f843c15..a9ce1540 100644 --- a/src/nano.c +++ b/src/nano.c @@ -3963,12 +3963,13 @@ int main(int argc, char **argv) #ifdef NANO_WIDE { /* If the locale set doesn't exist, or it exists but doesn't - * include the string "UTF-8", we shouldn't go into UTF-8 - * mode. */ + * include the case-insensitive string "UTF8" or "UTF-8", we + * shouldn't go into UTF-8 mode. */ char *locale = setlocale(LC_ALL, ""); if (locale == NULL || (locale != NULL && - strstr(locale, "UTF-8") == NULL)) + strcasestr(locale, "UTF8") == NULL && + strcasestr(locale, "UTF-8") == NULL)) SET(NO_UTF8); #ifdef USE_SLANG -- 2.39.5