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)
#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