From f075b1cea75d8494b158df6c9238a453f2988948 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 24 Aug 2007 12:56:57 +0200 Subject: Fixed stripping the context in I18nTranslate() --- CONTRIBUTORS | 1 + HISTORY | 2 ++ i18n.c | 8 ++++---- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 9193800d..4a57c235 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1870,6 +1870,7 @@ Christian Wieninger for reporting a problem with a format string in recording.c on 64bit systems for reporting a problem with the device selection in case of timer conflicts for a patch that fixed part of a crash in i18n character set conversion + for reporting a bug in stripping the context in I18nTranslate() Thiemo Gehrke for suggesting to add a setup option to turn off the automatic timeout of the diff --git a/HISTORY b/HISTORY index 4eb6316c..9ddbf649 100644 --- a/HISTORY +++ b/HISTORY @@ -5385,3 +5385,5 @@ Video Disk Recorder Revision History - Fixed handling locale directories with a large number of entries (thanks to Anssi Hannula). - Updated Turkish language texts (thanks to Oktay Yolgeçen). +- Fixed stripping the context in I18nTranslate() (reported by Christian + Wieninger). diff --git a/i18n.c b/i18n.c index c17dae70..1eb8ebbf 100644 --- a/i18n.c +++ b/i18n.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: i18n.c 1.313 2007/08/19 16:03:03 kls Exp $ + * $Id: i18n.c 1.314 2007/08/24 12:53:53 kls Exp $ * * */ @@ -208,10 +208,10 @@ const char *I18nTranslate(const char *s, const char *Plugin) t = dgettext(Plugin, s); if (t == s) t = gettext(s); - s = t; + if (t != s) + return t; } - const char *p = strchr(s, '$'); - return p ? p + 1 : s; + return SkipContext(s); } const char *I18nLocale(int Language) -- cgit v1.2.3