diff --git a/src/epg.c b/src/epg.c index 115064bb..f34a52a0 100644 --- a/src/epg.c +++ b/src/epg.c @@ -111,26 +111,26 @@ static void _epg_dump ( void ) RB_FOREACH(eb, &epg_brands, eb_link) { printf("BRAND: %p %s\n", eb, eb->eb_uri); RB_FOREACH(es, &eb->eb_seasons, es_blink) { - printf(" SEASON: %p %s\n", es, es->es_uri); + printf(" SEASON: %p %s %d\n", es, es->es_uri, es->es_number); RB_FOREACH(ee, &es->es_episodes, ee_slink) { - printf(" EPISODE: %p %s\n", ee, ee->ee_uri); + printf(" EPISODE: %p %s %d\n", ee, ee->ee_uri, ee->ee_number); } } RB_FOREACH(ee, &eb->eb_episodes, ee_blink) { - if ( !ee->ee_season ) printf(" EPISODE: %p %s\n", ee, ee->ee_uri); + if ( !ee->ee_season ) printf(" EPISODE: %p %s %d\n", ee, ee->ee_uri, ee->ee_number); } } RB_FOREACH(es, &epg_seasons, es_link) { if ( !es->es_brand ) { - printf("SEASON: %p %s\n", es, es->es_uri); + printf("SEASON: %p %s %d\n", es, es->es_uri, es->es_number); RB_FOREACH(ee, &es->es_episodes, ee_slink) { - printf(" EPISODE: %p %s\n", ee, ee->ee_uri); + printf(" EPISODE: %p %s %d\n", ee, ee->ee_uri, ee->ee_number); } } } RB_FOREACH(ee, &epg_episodes, ee_link) { if ( !ee->ee_brand && !ee->ee_season ) { - printf("EPISODE: %p %s\n", ee, ee->ee_uri); + printf("EPISODE: %p %s %d\n", ee, ee->ee_uri, ee->ee_number); } } RB_FOREACH(ec, &epg_channels, ec_link) { diff --git a/src/epggrab/pyepg.c b/src/epggrab/pyepg.c index 2891dc9b..4362daef 100644 --- a/src/epggrab/pyepg.c +++ b/src/epggrab/pyepg.c @@ -90,7 +90,7 @@ static int _pyepg_parse_brand ( htsmsg_t *data ) #endif /* Set season count */ - if (htsmsg_xml_get_cdata_u32(tags, "series-count", &u32)) { + if (htsmsg_xml_get_cdata_u32(tags, "series-count", &u32) == 0) { save |= epg_brand_set_season_count(brand, u32); } @@ -141,12 +141,12 @@ static int _pyepg_parse_season ( htsmsg_t *data ) #endif /* Set season number */ - if (htsmsg_xml_get_cdata_u32(tags, "number", &u32)) { + if (htsmsg_xml_get_cdata_u32(tags, "number", &u32) == 0) { save |= epg_season_set_number(season, u32); } /* Set episode count */ - if (htsmsg_xml_get_cdata_u32(tags, "episode-count", &u32)) { + if (htsmsg_xml_get_cdata_u32(tags, "episode-count", &u32) == 0) { save |= epg_season_set_episode_count(season, u32); } @@ -201,7 +201,7 @@ static int _pyepg_parse_episode ( htsmsg_t *data ) } /* Number */ - if (htsmsg_xml_get_cdata_u32(tags, "number", &u32)) { + if (htsmsg_xml_get_cdata_u32(tags, "number", &u32) == 0) { save |= epg_episode_set_number(episode, u32); } diff --git a/src/htsmsg_xml.c b/src/htsmsg_xml.c index 05bb837c..3532a9da 100644 --- a/src/htsmsg_xml.c +++ b/src/htsmsg_xml.c @@ -693,7 +693,7 @@ htsmsg_xml_parse_cd(xmlparser_t *xp, htsmsg_t *parent, char *src) } } - if(y == 1 && c > 1) { + if(y == 1 && c >= 1) { /* One segment UTF-8 (or 7bit ASCII), use data directly from source */ @@ -707,7 +707,7 @@ htsmsg_xml_parse_cd(xmlparser_t *xp, htsmsg_t *parent, char *src) *cc->cc_end = 0; free(cc); - } else if(c > 1) { + } else if(c >= 1) { body = malloc(c + 1); c = 0; @@ -886,7 +886,7 @@ htsmsg_xml_get_cdata_u32(htsmsg_t *tags, const char *name, uint32_t *u32) { htsmsg_t *sub; if((sub = htsmsg_get_map(tags, name)) == NULL) - return 0; + return HTSMSG_ERR_FIELD_NOT_FOUND; return htsmsg_get_u32(sub, "cdata", u32); }