Das hier:
Code: Alles auswählen
@@ -2228,7 +2249,7 @@
count += sizeof(event_id_t) + 4 + 4 + (*e)->getName().length() + 1;
if (((*e)->getText()).empty())
{
- count += (*e)->getExtendedText().substr(0, 40).length();
+ count += (*e)->getExtendedText().substr(0, 50).length();
}
else
{
@@ -2249,7 +2270,7 @@
if (((*e)->getText()).empty())
{
- strcpy(liste, (*e)->getExtendedText().substr(0, 40).c_str());
+ strcpy(liste, (*e)->getExtendedText().substr(0, 50).c_str());
liste += strlen(liste);
}
else
@@ -3493,7 +3514,7 @@
count += sizeof(event_id_t) + 4 + 4 + eName.length() + 1;
if (eText.empty())
{
- count += eExtendedText.substr(0, 40).length();
+ count += eExtendedText.substr(0, 50).length();
}
else
{
@@ -3514,7 +3535,7 @@
if (eText.empty())
{
- strcpy(liste, eExtendedText.substr(0, 40).c_str());
+ strcpy(liste, eExtendedText.substr(0, 50).c_str());
liste += strlen(liste);
}
else
Sprich: Wenn kein Text zur Sendung da ist (das ist die "Überschrift", die im EPG kursiv dargestellt wird), was bei den Privaten generell zu sein scheint, wurden einfach die ersten 40 Zeichen des Extended Textes benutzt. Das passiert direkt im sectionsd. Und es ist halt wie gesagt nie aufgefallen, da der Text in der Channellist sowieso abgeschnitten wurde, falls er zu lang war. Und da fielen eben die 2-3 Zeichen (wenn der Text aus nur "i" bestanden hätte, wäre es mehr als 2-3 gewesen), die mehr dargestellt hätten werden können, niemandem auf. Mit der Erweiterung auf 50 ist man aber safe. Im Durchschnitt werden meistens bis zu 45 Zeichen dargestellt, kommt wegen der Proportionalschrift aber immer drauf an, wie der Textinhalt ist. Jedenfalls habe ich den Wert gestern abend in empirischen Studien statistisch erhoben.
Interessanterweise haben die Öffentlichen immer den Text, also die "Überschrift". Bei den Privaten fehlt der fast komplett. Erinnert mich an die Diskussion über ProSieben, die ja immer alles richtig machen.
Also könnte man sogar (fast?) sagen, die Alternative, den extended Text zu nehmen, ist nichts anderes als einer der vielen Hacks im sectionsd, um Unzulänglichkeiten der Provider zu umgehen.
Das Schöne bei sowas ist aber: Durch die Suche nach solchen "Bugs" lernt man den Code im CVS nach und nach kennen.