1
0
mirror of https://github.com/irssi/irssi.git synced 2024-10-27 05:20:20 -04:00

Moved setlocale() at the beginning of initialization, should fix regexp

crashes with non-C locale.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2858 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2002-07-01 17:32:05 +00:00 committed by cras
parent 0c712801a0
commit b38316c8ba
2 changed files with 9 additions and 2 deletions

View File

@ -42,6 +42,7 @@
#include "textbuffer-reformat.h" #include "textbuffer-reformat.h"
#include <signal.h> #include <signal.h>
#include <locale.h>
#ifdef HAVE_STATIC_PERL #ifdef HAVE_STATIC_PERL
void perl_core_init(void); void perl_core_init(void);
@ -333,6 +334,14 @@ int main(int argc, char **argv)
textdomain(PACKAGE); textdomain(PACKAGE);
#endif #endif
/* setlocale() must be called at the beginning before any calls that
affect it, especially regexps seem to break if they're generated
before t his call.
locales aren't actually used for anything else than autodetection
of UTF-8 currently.. */
setlocale(LC_CTYPE, "");
textui_init(); textui_init();
args_register(options); args_register(options);
args_execute(argc, argv); args_execute(argc, argv);

View File

@ -27,7 +27,6 @@
#include "mainwindows.h" #include "mainwindows.h"
#ifdef HAVE_NL_LANGINFO #ifdef HAVE_NL_LANGINFO
# include <locale.h>
# include <langinfo.h> # include <langinfo.h>
#endif #endif
@ -155,7 +154,6 @@ void term_common_init(void)
read_settings(); read_settings();
#if defined (HAVE_NL_LANGINFO) && defined(CODESET) #if defined (HAVE_NL_LANGINFO) && defined(CODESET)
setlocale(LC_CTYPE, "");
if (strcmp(nl_langinfo(CODESET), "UTF-8") == 0) { if (strcmp(nl_langinfo(CODESET), "UTF-8") == 0) {
term_type = TERM_TYPE_UTF8; term_type = TERM_TYPE_UTF8;
term_set_input_type(TERM_TYPE_UTF8); term_set_input_type(TERM_TYPE_UTF8);