]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/tinfo/lib_setup.c
ncurses 6.1 - patch 20180908
[ncurses.git] / ncurses / tinfo / lib_setup.c
index 298f08ecd4a94eb074ef6c254ff032c868075d06..e90a5467c4a89838ef8ae5813bb4665f9bfca435 100644 (file)
@@ -48,7 +48,7 @@
 #include <locale.h>
 #endif
 
-MODULE_ID("$Id: lib_setup.c,v 1.192 2018/04/07 21:10:20 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.196 2018/09/08 20:14:26 tom Exp $")
 
 /****************************************************************************
  *
@@ -543,9 +543,9 @@ _nc_get_locale(void)
      */
     env = setlocale(LC_CTYPE, 0);
 #else
-    if (((env = getenv("LC_ALL")) != 0 && *env != '\0')
+    if (((env = getenv("LANG")) != 0 && *env != '\0')
        || ((env = getenv("LC_CTYPE")) != 0 && *env != '\0')
-       || ((env = getenv("LANG")) != 0 && *env != '\0')) {
+       || ((env = getenv("LC_ALL")) != 0 && *env != '\0')) {
        ;
     }
 #endif
@@ -560,7 +560,7 @@ NCURSES_EXPORT(int)
 _nc_unicode_locale(void)
 {
     int result = 0;
-#if defined(__MINGW32__) && USE_WIDEC_SUPPORT
+#if defined(_WIN32) && USE_WIDEC_SUPPORT
     result = 1;
 #elif HAVE_LANGINFO_CODESET
     char *env = nl_langinfo(CODESET);
@@ -714,6 +714,24 @@ TINFO_SETUP_TERM(TERMINAL **tp,
            ret_error0(TGETENT_ERR,
                       "Not enough memory to create terminal structure.\n");
        }
+#if HAVE_SYSCONF
+       {
+           long limit;
+#ifdef LINE_MAX
+           limit = LINE_MAX;
+#else
+           limit = _nc_globals.getstr_limit;
+#endif
+#ifdef _SC_LINE_MAX
+           if (limit < sysconf(_SC_LINE_MAX))
+               limit = sysconf(_SC_LINE_MAX);
+#endif
+           if (_nc_globals.getstr_limit < (int) limit)
+               _nc_globals.getstr_limit = (int) limit;
+       }
+#endif /* HAVE_SYSCONF */
+       T(("using %d for getstr limit", _nc_globals.getstr_limit));
+
 #ifdef USE_TERM_DRIVER
        INIT_TERM_DRIVER();
        TCB = (TERMINAL_CONTROL_BLOCK *) termp;