mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Reactivated stripping control characters from EPG texts and adapted it to UTF-8
This commit is contained in:
parent
c5dfaf9681
commit
3c860ee043
1
HISTORY
1
HISTORY
@ -7262,3 +7262,4 @@ Video Disk Recorder Revision History
|
|||||||
thread to avoid sluggish response to user input on slow systems (based on a patch from
|
thread to avoid sluggish response to user input on slow systems (based on a patch from
|
||||||
Sören Moch).
|
Sören Moch).
|
||||||
- Fixed sorting folders before recordings in case of UTF-8 (thanks to Sören Moch).
|
- Fixed sorting folders before recordings in case of UTF-8 (thanks to Sören Moch).
|
||||||
|
- Reactivated stripping control characters from EPG texts and adapted it to UTF-8.
|
||||||
|
33
epg.c
33
epg.c
@ -7,7 +7,7 @@
|
|||||||
* Original version (as used in VDR before 1.3.0) written by
|
* Original version (as used in VDR before 1.3.0) written by
|
||||||
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
|
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
|
||||||
*
|
*
|
||||||
* $Id: epg.c 2.20 2012/09/29 11:49:11 kls Exp $
|
* $Id: epg.c 2.21 2012/09/29 14:29:49 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "epg.h"
|
#include "epg.h"
|
||||||
@ -641,6 +641,26 @@ void ReportEpgBugFixStats(bool Force)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void StripControlCharacters(char *s)
|
||||||
|
{
|
||||||
|
if (s) {
|
||||||
|
int len = strlen(s);
|
||||||
|
while (len > 0) {
|
||||||
|
int l = Utf8CharLen(s);
|
||||||
|
uchar *p = (uchar *)s;
|
||||||
|
if (l == 2 && *p == 0xC2) // UTF-8 sequence
|
||||||
|
p++;
|
||||||
|
if (*p == 0x86 || *p == 0x87) {
|
||||||
|
memmove(s, p + 1, len - l + 1); // we also copy the terminating 0!
|
||||||
|
len -= l;
|
||||||
|
l = 0;
|
||||||
|
}
|
||||||
|
s += l;
|
||||||
|
len -= l;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void cEvent::FixEpgBugs(void)
|
void cEvent::FixEpgBugs(void)
|
||||||
{
|
{
|
||||||
if (isempty(title)) {
|
if (isempty(title)) {
|
||||||
@ -850,15 +870,10 @@ Final:
|
|||||||
strreplace(p->description, '\n', ' ');
|
strreplace(p->description, '\n', ' ');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* TODO adapt to UTF-8
|
|
||||||
// Same for control characters:
|
// Same for control characters:
|
||||||
strreplace(title, '\x86', ' ');
|
StripControlCharacters(title);
|
||||||
strreplace(title, '\x87', ' ');
|
StripControlCharacters(shortText);
|
||||||
strreplace(shortText, '\x86', ' ');
|
StripControlCharacters(description);
|
||||||
strreplace(shortText, '\x87', ' ');
|
|
||||||
strreplace(description, '\x86', ' ');
|
|
||||||
strreplace(description, '\x87', ' ');
|
|
||||||
XXX*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- cSchedule -------------------------------------------------------------
|
// --- cSchedule -------------------------------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user