1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
--- man-db-2.8.3/src/man.c 2018-06-18 22:44:35.672743065 -0500
+++ man-db-2.8.3/src/man.c 2018-06-18 22:46:35.032624890 -0500
@@ -1569,15 +1569,13 @@
{
debug ("add_output_iconv: source %s, target %s\n", source, target);
if (source && target && !STREQ (source, target)) {
- char *target_translit = xasprintf ("%s//TRANSLIT", target);
pipecmd *iconv_cmd;
iconv_cmd = pipecmd_new_args
- ("iconv", "-c", "-f", source, "-t", target_translit,
+ ("iconv", "-c", "-f", source, "-t", target,
NULL);
pipecmd_pre_exec (iconv_cmd, sandbox_load, sandbox_free,
sandbox);
pipeline_command (p, iconv_cmd);
- free (target_translit);
}
}
--- man-db-2.8.3/src/manconv.c
+++ man-db-2.8.3/src/manconv.c
@@ -106,10 +106,9 @@ static int try_iconv (pipeline *p, const char *try_from_code, const char *to,
static char *utf8 = NULL, *output = NULL;
size_t utf8left = 0;
iconv_t cd_utf8, cd = NULL;
- int to_utf8 = STREQ (try_to_code, "UTF-8") ||
- STRNEQ (try_to_code, "UTF-8//", 7);
- const char *utf8_target = last ? "UTF-8//IGNORE" : "UTF-8";
- int ignore_errors = (strstr (try_to_code, "//IGNORE") != NULL);;
+ int to_utf8 = STREQ (try_to_code, "UTF-8");
+ const char *utf8_target = "UTF-8";
+ int ignore_errors = 0;
int ret = 0;
debug ("trying encoding %s -> %s\n", try_from_code, try_to_code);
--- man-db-2.8.3/src/manconv_client.c
+++ man-db-2.8.3/src/manconv_client.c
@@ -105,7 +105,7 @@ void add_manconv (pipeline *p, const char *source, const char *target)
codes->from[2] = NULL;
name = appendstr (name, "UTF-8:", source, NULL);
}
- codes->to = xasprintf ("%s//IGNORE", target);
+ codes->to = xstrdup (target);
/* informational only; no shell quoting concerns */
name = appendstr (name, " -t ", codes->to, NULL);
if (quiet >= 2)
--- man-db-2.8.3/src/manconv_main.c
+++ man-db-2.8.3/src/manconv_main.c
@@ -107,9 +107,6 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
return 0;
case 't':
to_code = xstrdup (arg);
- if (!strstr (to_code, "//"))
- to_code = appendstr (to_code, "//TRANSLIT",
- NULL);
return 0;
case 'd':
debug_level = 1;
--- man-db-2.8.3/src/whatis.c
+++ man-db-2.8.3/src/whatis.c
@@ -968,7 +968,7 @@ int main (int argc, char *argv[])
display_seen = hashtable_create (&null_hashtable_free);
#ifdef HAVE_ICONV
- locale_charset = xasprintf ("%s//IGNORE", get_locale_charset ());
+ locale_charset = xstrdup (get_locale_charset ());
conv_to_locale = iconv_open (locale_charset, "UTF-8");
free (locale_charset);
#endif /* HAVE_ICONV */
|