From patchwork Sun Jul 22 20:38:21 2007 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Klaus Schmidinger X-Patchwork-Id: 12491 Received: from raven.cadsoft.de ([217.7.101.211]) by www.linuxtv.org with esmtp (Exim 4.63) (envelope-from ) id 1ICiC6-0002zA-Ke for vdr@linuxtv.org; Sun, 22 Jul 2007 22:38:22 +0200 Received: from [192.168.100.10] (hawk.cadsoft.de [192.168.100.10]) by raven.cadsoft.de (8.13.3/8.13.3) with ESMTP id l6MKcLfW017867 for ; Sun, 22 Jul 2007 22:38:21 +0200 Message-ID: <46A3C03D.4060805@cadsoft.de> Date: Sun, 22 Jul 2007 22:38:21 +0200 From: Klaus Schmidinger Organization: CadSoft Computer GmbH User-Agent: Thunderbird 1.5.0.12 (X11/20060911) MIME-Version: 1.0 To: vdr@linuxtv.org References: <46A3487E.10707@cadsoft.de> <46A3701C.9080506@ventoso.org> In-Reply-To: <46A3701C.9080506@ventoso.org> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (raven.cadsoft.de [192.168.1.1]); Sun, 22 Jul 2007 22:38:22 +0200 (CEST) Subject: Re: [vdr] [ANNOUNCE] VDR developer version 1.5.6 X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: VDR Mailing List List-Id: VDR Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 20:38:22 -0000 Status: O X-Status: X-Keywords: X-UID: 13580 On 07/22/07 16:56, Luca Olivetti wrote: > En/na Klaus Schmidinger ha escrit: >> VDR developer version 1.5.6 is now available at > > With this version display of national character broke here, e.g. "WDR > münster" changed to "WDR mnster" (not only in the > channels name, also in the epg for wdr, zdf, das erste ). > > I reverted these two fixes in tools.c: > >> - Fixed a buffer overflow in initializing the system character table (thanks >> to Marco Schlüßler). > [...] >> - Fixed handling single byte characters >0x7F in Utf8ToArray() (thanks to Udo >> Richter). > > with no result. Marco Schlüßler sent me the fix - see attachment. It was a side effect of the changes in skipspace()... Klaus diff -bur vdr-1.5.6_orig/tools.h vdr-1.5.6/tools.h --- vdr-1.5.6_orig/tools.h 2007-07-22 18:54:14.000000000 +0200 +++ vdr-1.5.6/tools.h 2007-07-22 18:56:30.000000000 +0200 @@ -175,9 +175,9 @@ char *strreplace(char *s, const char *s1, const char *s2); ///< re-allocates 's' and deletes the original string if necessary! inline char *skipspace(const char *s) { - if (*s > ' ') // most strings don't have any leading space, so handle this case as fast as possible + if ((uchar)*s > ' ') // most strings don't have any leading space, so handle this case as fast as possible return (char *)s; - while (*s && *s <= ' ') // avoiding isspace() here, because it is much slower + while (*s && (uchar)*s <= ' ') // avoiding isspace() here, because it is much slower s++; return (char *)s; }