diff --git a/CONTRIBUTORS b/CONTRIBUTORS index dbae9b03..d1e64a31 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2005,3 +2005,6 @@ Matthias Schwarzott Martin Ostermann for fixing processing the PDCDescriptor in 'libsi' on big endian systems + +Boguslaw Juza + for reporting that there are stations that use blanks in the language codes diff --git a/HISTORY b/HISTORY index 17191e00..e5495111 100644 --- a/HISTORY +++ b/HISTORY @@ -4931,7 +4931,10 @@ Video Disk Recorder Revision History - Official release. -2006-09-24: Version 1.4.3-1 +2006-10-07: Version 1.4.3-1 - The function cThread::Cancel() now only sets 'running' to false and does not actually kill the thread if the special value -1 is given (suggested by Udo Richter). +- Changed the I18nNormalizeLanguageCode() check to also allow blanks (and all other + printable characters) in the language codes (thanks to Boguslaw Juza for reporting + that there are stations that use blanks in these codes). diff --git a/i18n.c b/i18n.c index 34c81f62..67d2927b 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.282 2006/09/16 09:08:30 kls Exp $ + * $Id: i18n.c 1.283 2006/10/07 12:18:10 kls Exp $ * * Translations provided by: * @@ -6243,9 +6243,9 @@ int I18nLanguageIndex(const char *Code) const char *I18nNormalizeLanguageCode(const char *Code) { - if (Code[0] && !isalnum(Code[0]) || Code[1] && !isalnum(Code[1]) || Code[2] && !isalnum(Code[2])) { + if (Code[0] && !isprint(Code[0]) || Code[1] && !isprint(Code[1]) || Code[2] && !isprint(Code[2])) { // ISO 639 language codes are defined as alphabetical characters, but digits are apparently - // also used, for instance for "2ch" + // also used, for instance for "2ch". There are even channels that use blank characters. //dsyslog("invalid language code: '%s'", Code); return "???"; }