From 48f845e02ce951a52294ebda0440428df1ab8fd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96man?= Date: Sun, 26 Jul 2009 10:25:12 +0000 Subject: [PATCH] * If the EPG receives an updated description for an even that is shorter than the current description it will be ignored. This typically happens if the XMLTV and DVB EIT (Event Information Table) differs. In other words, we assume that a longer description of an event is better than a short. --- debian/changelog | 10 ++++++++-- src/epg.c | 8 +++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 446df9aa..dec80536 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,14 +17,20 @@ hts-tvheadend (2.4) hts; urgency=low * Use absolute paths when serving static content (the web app itself) This was only a problem when fork()ing a development build - * Rewrork the CWC reconnection strategy. + * Rework the CWC reconnection strategy. If there are active subscription, Tvheadend will attempt to reconnect immediately and then retry every three seconds. If no subscription is active a reconnection attempt is performed every minute. Also, if any CWC configuration changes are made from the UI, Tvheadend will try to reconnect directly. - + + * If the EPG receives an updated description for an even that is shorter + than the current description it will be ignored. + This typically happens if the XMLTV and DVB EIT (Event Information Table) + differs. In other words, we assume that a longer description of an + event is better than a short. + hts-tvheadend (2.3) hts; urgency=low * A simple web interface has been added. To access it, visit diff --git a/src/epg.c b/src/epg.c index 1a22daa5..3345a270 100644 --- a/src/epg.c +++ b/src/epg.c @@ -137,8 +137,14 @@ epg_event_set_title(event_t *e, const char *title) void epg_event_set_desc(event_t *e, const char *desc) { - if(e->e_desc != NULL && !strcmp(e->e_desc, desc)) + if(e->e_desc != NULL && strlen(e->e_desc) >= strlen(desc)) { + /* The current description is longer than the one we try to set. + * We assume that a longer description is better than a shorter + * so we just bail out. + * Typically happens when the XMLTV and DVB EPG feed differs. + */ return; + } free(e->e_desc); e->e_desc = strdup(desc); epg_event_changed(e);