commit d456bfa10d5a24ea6834d8b99480b67616e402aa
parent 22a3564a2e02ed8ceef59fcc9e0855b8550bfee1
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Fri, 18 Mar 2005 19:07:25 +0000
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
Diffstat:
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git 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
@@ -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