summaryrefslogtreecommitdiff
path: root/src/core/recode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/recode.c')
-rw-r--r--src/core/recode.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/core/recode.c b/src/core/recode.c
index 70768645..28a32bd5 100644
--- a/src/core/recode.c
+++ b/src/core/recode.c
@@ -117,18 +117,17 @@ char *recode_in(const SERVER_REC *server, const char *str, const char *target)
autodetect = settings_get_bool("recode_autodetect_utf8");
term_is_utf8 = recode_get_charset(&to);
+ if (translit && !is_translit(to))
+ to = translit_to = g_strconcat(to, "//TRANSLIT", NULL);
+
if (autodetect && str_is_utf8)
if (term_is_utf8)
return g_strdup(str);
else
from = "UTF-8";
- else {
+ else
from = find_conversion(server, target);
- }
-
- if (translit && !is_translit(to))
- to = translit_to = g_strconcat(to, "//TRANSLIT", NULL);
if (from)
recoded = g_convert_with_fallback(str, len, to, from, NULL, NULL, NULL, NULL);