Fix some problems related to series number parsing.
This commit is contained in:
parent
eb2b4c3f24
commit
cf73a7802d
3 changed files with 13 additions and 13 deletions
12
src/epg.c
12
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) {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue