Репозиторий ALT Linux backports/2.4
Последнее обновление: 9 июля 2008 | Пакетов: 497 | Посещений: 1484664
 поиск   регистрация   авторизация 
 
Группа :: Работа с файлами
Пакет: gnupg

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

Патч: gnupg-1.4.1-alt-cp1251.patch


diff -uprk.orig gnupg-1.4.1.orig/doc/gpg.1 gnupg-1.4.1/doc/gpg.1
--- gnupg-1.4.1.orig/doc/gpg.1	2005-03-07 21:26:19 +0300
+++ gnupg-1.4.1/doc/gpg.1	2005-03-17 17:27:19 +0300
@@ -891,6 +891,8 @@ This is currently an alias for 
 the Latin 1 set. 
 .IP "koi8-r" 10 
 The usual Russian set (rfc1489). 
+.IP "cp1251" 10 
+The cp1251 aka windows-1251 Cyrillic set.
 .IP "utf-8" 10 
 Bypass all translations and assume 
 that the OS uses native UTF-8 encoding. 
diff -uprk.orig gnupg-1.4.1.orig/doc/gpg.texi gnupg-1.4.1/doc/gpg.texi
--- gnupg-1.4.1.orig/doc/gpg.texi	2005-03-17 16:16:23 +0300
+++ gnupg-1.4.1/doc/gpg.texi	2005-03-17 17:27:19 +0300
@@ -1095,6 +1095,9 @@ the Latin 1 set.
 @item koi8-r
 The usual Russian set (rfc1489).
 
+@item cp1251
+The cp1251 aka windows-1251 Cyrillic set.
+
 @item utf-8
 Bypass all translations and assume
 that the OS uses native UTF-8 encoding.
diff -uprk.orig gnupg-1.4.1.orig/util/strgutil.c gnupg-1.4.1/util/strgutil.c
--- gnupg-1.4.1.orig/util/strgutil.c	2005-01-20 14:42:02 +0300
+++ gnupg-1.4.1/util/strgutil.c	2005-03-17 17:28:04 +0300
@@ -70,6 +70,25 @@ static ushort koi8_unicode[128] = {
     0x042c,0x042b,0x0417,0x0428,0x042d,0x0429,0x0427,0x042a
 };
 
+static ushort cp1251_unicode[128] = {
+    0x0402,0x0403,0x201a,0x0453,0x201e,0x2026,0x2020,0x2021,
+    0x20ac,0x2030,0x0409,0x2039,0x040a,0x040c,0x040b,0x040f,
+    0x0452,0x2018,0x2019,0x201c,0x201d,0x2022,0x2013,0x2014,
+    0xffff,0x2122,0x0459,0x203a,0x045a,0x045c,0x045b,0x045f,
+    0x00a0,0x040e,0x045e,0x0408,0x00a4,0x0490,0x00a6,0x00a7,
+    0x0401,0x00a9,0x0404,0x00ab,0x00ac,0x00ad,0x00ae,0x0407,
+    0x00b0,0x00b1,0x0406,0x0456,0x0491,0x00b5,0x00b6,0x00b7,
+    0x0451,0x2116,0x0454,0x00bb,0x0458,0x0405,0x0455,0x0457,
+    0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0416,0x0417,
+    0x0418,0x0419,0x041a,0x041b,0x041c,0x041d,0x041e,0x041f,
+    0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,0x0427,
+    0x0428,0x0429,0x042a,0x042b,0x042c,0x042d,0x042e,0x042f,
+    0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0436,0x0437,
+    0x0438,0x0439,0x043a,0x043b,0x043c,0x043d,0x043e,0x043f,
+    0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,0x0447,
+    0x0448,0x0449,0x044a,0x044b,0x044c,0x044d,0x044e,0x044f
+};
+
 static ushort latin2_unicode[128] = {
     0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
     0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
@@ -649,6 +668,13 @@ set_native_charset( const char *newset )
 	active_charset = koi8_unicode;
         use_iconv = 0;
     }
+    else if( !ascii_strcasecmp( newset, "cp1251" )
+        || !ascii_strcasecmp (newset, "windows-1251" ) ) {
+	active_charset_name = "cp1251";
+        no_translation = 0;
+	active_charset = cp1251_unicode;
+        use_iconv = 0;
+    }
     else
 	return G10ERR_GENERAL;
 #endif /*!USE_GNUPG_ICONV*/
 
design & coding: Vladimir Lettiev aka crux © 2004-2005