Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37722816
en ru br
Репозитории ALT
S:42.2-alt1
5.1: 2.26.0-alt2
4.1: 2.23.1-alt2.M41.2
4.0: 2.16.2-alt1
3.0: 2.10.0-alt1
www.altlinux.org/Changes

Группа :: Графические оболочки/GNOME
Пакет: yelp

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

Патч: yelp-2.23.1-alt-man_encoding-part2.patch
Скачать


diff -durN yelp-2.23.91.orig/src/yelp-man-parser.c yelp-2.23.91/src/yelp-man-parser.c
--- yelp-2.23.91.orig/src/yelp-man-parser.c	2008-09-11 17:50:07 +0400
+++ yelp-2.23.91/src/yelp-man-parser.c	2008-09-14 17:45:32 +0400
@@ -99,12 +99,28 @@
 {
     GError *errormsg = NULL;
     /*gchar *ptr = NULL;*/
+    gchar **recode_argv;
+    gint recode_stdout_fd;
 
     g_return_val_if_fail (parser != NULL, NULL);
     g_return_val_if_fail (file != NULL, NULL);
     g_return_val_if_fail (encoding != NULL, NULL);
 	
-    parser->channel = yelp_io_channel_new_file (file, NULL);
+    recode_argv = g_new (gchar *, 3);
+    recode_argv[0] = g_strdup ("man-show-source");
+    recode_argv[1] = g_strdup (file);
+    recode_argv[2] = NULL;
+    if (g_spawn_async_with_pipes (NULL, recode_argv, NULL,
+				  G_SPAWN_SEARCH_PATH |
+				  G_SPAWN_STDERR_TO_DEV_NULL,
+				  NULL, NULL, NULL,
+				  NULL, &recode_stdout_fd, NULL,
+				  NULL)) {
+	parser->channel = g_io_channel_unix_new (recode_stdout_fd);
+	encoding = "UTF-8";
+    } else
+	parser->channel = yelp_io_channel_new_file (file, NULL);
+    g_strfreev (recode_argv);
 
     if (!parser->channel)
 	return NULL;
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin