]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Fix some problems related to series number parsing.
authorAdam Sutton <dev@adamsutton.me.uk>
Mon, 21 May 2012 13:02:12 +0000 (14:02 +0100)
committerAdam Sutton <dev@adamsutton.me.uk>
Mon, 21 May 2012 13:02:12 +0000 (14:02 +0100)
src/epg.c
src/epggrab/pyepg.c
src/htsmsg_xml.c

index 115064bb1d839eabe965811b1811e4f530e752ad..f34a52a0cf1ca117afda2b4737772ba5a2fe48a2 100644 (file)
--- 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) {
index 2891dc9b836eb929218aa75efb956cff5b96dd44..4362daef3aab57e2a432ca8f92285cb6a3ec3083 100644 (file)
@@ -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);
   }
 
index 05bb837cd0758a4c3ef16424e0118cf036b17e25..3532a9da7ecefcea97bc97e326381b488796dce4 100644 (file)
@@ -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);
 }