From 4c65b525dc1e3c62336b223d200a46fb30dc7e52 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 12 Aug 2007 18:00:00 +0200 Subject: =?UTF-8?q?Version=201.5.7=20-=20All=20logging=20now=20goes=20to?= =?UTF-8?q?=20LOG=5FERR,=20because=20some=20systems=20split=20error,=20inf?= =?UTF-8?q?o=20and=20=20=20debug=20messages=20into=20separate=20files,=20w?= =?UTF-8?q?hich=20repeatedly=20caused=20extra=20efforts=20to=20=20=20find?= =?UTF-8?q?=20out=20when=20incomplete=20log=20excerpts=20were=20attached?= =?UTF-8?q?=20to=20problem=20reports=20in=20=20=20the=20past.=20-=20Update?= =?UTF-8?q?d=20the=20Estonian=20OSD=20texts=20(thanks=20to=20Arthur=20Kono?= =?UTF-8?q?valov).=20-=20Fixed=20a=20problem=20with=20characters=20>0x7F?= =?UTF-8?q?=20in=20the=20modified=20version=20of=20skipspace()=20=20=20(th?= =?UTF-8?q?anks=20to=20Marco=20Schl=C3=BC=C3=9Fler).=20-=20Fixed=20a=20bug?= =?UTF-8?q?=20I=20introduced=20when=20simplifying=20the=20original=20patch?= =?UTF-8?q?=20for=20detecting=20=20=20Premiere=20NVOD=20channel=20links=20?= =?UTF-8?q?(crash=20reported=20by=20Malte=20Schr=C3=B6der).=20-=20Internat?= =?UTF-8?q?ionalization=20is=20now=20done=20with=20'gettext'=20(following?= =?UTF-8?q?=20a=20suggestion=20by=20=20=20Lucian=20Muresan).=20Plugin=20au?= =?UTF-8?q?thors=20may=20want=20to=20use=20the=20Perl=20script=20=20=20'i1?= =?UTF-8?q?8n-to-gettext.pl'=20to=20convert=20their=20internationalized=20?= =?UTF-8?q?texts=20to=20the=20gettext=20=20=20format=20(see=20the=20instru?= =?UTF-8?q?ctions=20inside=20that=20script=20file).=20The=20function=20=20?= =?UTF-8?q?=20cPlugin::RegisterI18n()=20is=20still=20present=20for=20compa?= =?UTF-8?q?tibility,=20but=20doesn't=20=20=20have=20any=20more=20functiona?= =?UTF-8?q?lity.=20So=20plugins=20that=20don't=20convert=20their=20texts?= =?UTF-8?q?=20to=20=20=20the=20gettext=20format=20will=20only=20present=20?= =?UTF-8?q?English=20texts.=20=20=20See=20PLUGINS.html,=20section=20"Inter?= =?UTF-8?q?nationalization",=20for=20instructions=20on=20how=20=20=20to=20?= =?UTF-8?q?make=20strings=20in=20arrays=20translatable.=20=20=20See=20READ?= =?UTF-8?q?ME.i18n=20for=20information=20on=20how=20to=20create=20new=20or?= =?UTF-8?q?=20maintain=20existing=20=20=20translations.=20-=20The=20three?= =?UTF-8?q?=20letter=20language=20codes=20and=20their=20aliases=20are=20st?= =?UTF-8?q?ored=20in=20i18n.c,=20and=20=20=20each=20translation=20file=20o?= =?UTF-8?q?nly=20contains=20one=20of=20them=20to=20link=20that=20language?= =?UTF-8?q?=20name=20=20=20to=20the=20code.=20-=20The=20'newplugin'=20scri?= =?UTF-8?q?pt=20has=20been=20extended=20to=20generate=20the=20Makefile=20s?= =?UTF-8?q?ection=20=20=20for=20i18n=20support.=20-=20The=20parameter=20OS?= =?UTF-8?q?DLanguage=20in=20'setup.conf'=20is=20now=20a=20string=20and=20h?= =?UTF-8?q?olds=20the=20locale=20=20=20code=20of=20the=20selected=20OSD=20?= =?UTF-8?q?language=20(e.g.=20en=5FUS).=20If=20Setup.OSDLanguage=20is=20no?= =?UTF-8?q?t=20=20=20set=20to=20a=20particular=20locale=20that=20is=20foun?= =?UTF-8?q?d=20in=20VDR's=20locale=20directory,=20the=20=20=20locale=20as?= =?UTF-8?q?=20defined=20in=20the=20system=20environment=20is=20used=20by?= =?UTF-8?q?=20default.=20-=20The=20list=20of=20tracks=20given=20in=20cStat?= =?UTF-8?q?us::SetAudioTrack()=20is=20now=20NULL=20terminated,=20=20=20so?= =?UTF-8?q?=20that=20plugins=20can=20actually=20use=20all=20the=20strings?= =?UTF-8?q?=20in=20the=20list,=20not=20just=20the=20=20=20one=20pointed=20?= =?UTF-8?q?to=20by=20Index=20(thanks=20to=20Alexander=20Rieger).=20-=20Fix?= =?UTF-8?q?ed=20handling=20kLeft=20in=20the=20calls=20to=20cStatus::MsgOsd?= =?UTF-8?q?TextItem()=20(thanks=20to=20=20=20Alexander=20Rieger).=20-=20Ad?= =?UTF-8?q?ded=20the=20"...or=20(at=20your=20option)=20any=20later=20versi?= =?UTF-8?q?on"=20phrase=20to=20the=20license=20=20=20information=20of=20al?= =?UTF-8?q?l=20plugins,=20and=20also=20the=20'newplugin'=20script=20(sugge?= =?UTF-8?q?sted=20by=20=20=20Ville=20Skytt=C3=A4).=20Plugin=20authors=20ma?= =?UTF-8?q?y=20want=20to=20consider=20doing=20the=20same.=20-=20Fixed=20th?= =?UTF-8?q?e=20link=20to=20the=20GPL2=20at=20http://www.gnu.org=20in=20vdr?= =?UTF-8?q?.c=20(thanks=20to=20Ville=20=20=20Skytt=C3=A4).=20-=20cBitmap::?= =?UTF-8?q?SetXpm()=20now=20checks=20whether=20the=20given=20Xpm=20pointer?= =?UTF-8?q?=20is=20not=20NULL,=20to=20=20=20avoid=20a=20crash=20with=20fil?= =?UTF-8?q?es=20that=20only=20contain=20"/*=20XPM=20*/"=20(suggested=20by?= =?UTF-8?q?=20Andreas=20=20=20Mair).=20-=20Added=20a=20debug=20error=20mes?= =?UTF-8?q?sage=20to=20cReceiver::~cReceiver()=20in=20case=20it=20is=20sti?= =?UTF-8?q?ll=20=20=20attached=20to=20a=20device=20(thanks=20to=20Reinhard?= =?UTF-8?q?=20Nissl).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'config.c') diff --git a/config.c b/config.c index 05f7f1f..aed0936 100644 --- a/config.c +++ b/config.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.c 1.154 2007/06/23 09:42:49 kls Exp $ + * $Id: config.c 1.156 2007/08/12 12:09:37 kls Exp $ */ #include "config.h" @@ -214,7 +214,7 @@ cSetup Setup; cSetup::cSetup(void) { - OSDLanguage = 0; + strcpy(OSDLanguage, ""); // default is taken from environment strcpy(OSDSkin, "sttng"); strcpy(OSDTheme, "default"); PrimaryDVB = 1; @@ -349,9 +349,9 @@ bool cSetup::Load(const char *FileName) void cSetup::StoreLanguages(const char *Name, int *Values) { - char buffer[I18nNumLanguages * 4]; + char buffer[I18nLanguages()->Size() * 4]; char *q = buffer; - for (int i = 0; i < I18nNumLanguages; i++) { + for (int i = 0; i < I18nLanguages()->Size(); i++) { if (Values[i] < 0) break; const char *s = I18nLanguageCode(Values[i]); @@ -369,7 +369,7 @@ void cSetup::StoreLanguages(const char *Name, int *Values) bool cSetup::ParseLanguages(const char *Value, int *Values) { int n = 0; - while (Value && *Value && n < I18nNumLanguages) { + while (Value && *Value && n < I18nLanguages()->Size()) { char buffer[4]; strn0cpy(buffer, Value, sizeof(buffer)); int i = I18nLanguageIndex(buffer); @@ -384,7 +384,7 @@ bool cSetup::ParseLanguages(const char *Value, int *Values) bool cSetup::Parse(const char *Name, const char *Value) { - if (!strcasecmp(Name, "OSDLanguage")) OSDLanguage = atoi(Value); + if (!strcasecmp(Name, "OSDLanguage")) { strn0cpy(OSDLanguage, Value, sizeof(OSDLanguage)); I18nSetLocale(OSDLanguage); } else if (!strcasecmp(Name, "OSDSkin")) Utf8Strn0Cpy(OSDSkin, Value, MaxSkinName); else if (!strcasecmp(Name, "OSDTheme")) Utf8Strn0Cpy(OSDTheme, Value, MaxThemeName); else if (!strcasecmp(Name, "PrimaryDVB")) PrimaryDVB = atoi(Value); -- cgit v1.2.3