summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2007-08-24 12:56:57 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2007-08-24 12:56:57 +0200
commitf075b1cea75d8494b158df6c9238a453f2988948 (patch)
tree2eab79dbcd5dd6a54f68db38e94d88f4a89200b1
parent0a2fe2b6e87a0b0d101420ac98a9c7c1a6e5e8c5 (diff)
downloadvdr-f075b1cea75d8494b158df6c9238a453f2988948.tar.gz
vdr-f075b1cea75d8494b158df6c9238a453f2988948.tar.bz2
Fixed stripping the context in I18nTranslate()
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--i18n.c8
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 <cwieninger@gmx.de>
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 <tgehrke@reel-multimedia.com>
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)