Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37525169
en ru br
Репозитории ALT
S:2.8.9-alt1.pre.1.1
5.1: 2.8.6-alt7.rel.2
4.1: 2.8.6-alt3.rel.2
4.0: 2.8.6-alt2.rel.2.1
3.0: 2.8.5-alt4.dev.16.1
www.altlinux.org/Changes

Группа :: Сети/WWW
Пакет: lynx

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: lynx2-8-5-alt-i18n.patch
Скачать


--- ./src/LYMain.c.orig	2006-10-17 21:43:50 +0400
+++ ./src/LYMain.c	2006-10-17 21:45:49 +0400
@@ -52,6 +52,7 @@
 #ifdef LOCALE
 #undef gettext			/* Solaris locale.h prototypes gettext() */
 #include <locale.h>
+#include <langinfo.h>
 #ifndef HAVE_GETTEXT
 #define gettext(s) s
 #endif
@@ -594,6 +595,21 @@
 static BOOLEAN LYPrependBase = FALSE;
 static HTList *LYStdinArgs = NULL;
 
+char *local_language;
+char *local_charset;
+
+char *get_lynx_charset(char *glibc_name){
+    char *lynx_name;
+
+    //printf("debug %s\n",glibc_name);
+    if (!strcmp(glibc_name,"CP1251")){
+       lynx_name=strdup("windows-1251");
+    }else{
+       lynx_name=strdup(glibc_name);
+    }
+    return lynx_name;
+}
+
 #ifndef EXTENDED_OPTION_LOGIC
 /* if set then '--' will be recognized as the end of options */
 #define EXTENDED_OPTION_LOGIC 1
@@ -1098,7 +1114,13 @@
     /*
      * LOCALE support for international characters.
      */
-    setlocale(LC_ALL, "");
+    if (!setlocale(LC_ALL, "")){
+	perror("setlocale");
+	exit(1);
+    }else{
+	local_language=strdup(setlocale(LC_ALL, ""));
+	local_charset=nl_langinfo(CODESET); 
+    }
 #endif /* LOCALE */
     /* Set the text message domain.  */
 #if defined(HAVE_LIBINTL_H) || defined(HAVE_LIBGETTEXT_H)
@@ -1550,6 +1572,12 @@
        LYReadCFG.c:parse_html_src_spec -HV */
     HTSwitchDTD(TRUE);
 #endif
+
+    local_language[2]=0;
+    language=strdup(local_language);
+    pref_charset=strdup(get_lynx_charset(local_charset));
+    current_char_set=safeUCGetLYhndl_byMIME(get_lynx_charset(local_charset));
+
     /*
      * Process the configuration file.
      */
@@ -1599,6 +1627,7 @@
     /*
      * Process the RC file.
      */
+
     read_rc(NULL);
 
 #ifdef EXP_LOCALE_CHARSET
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin