From: Jaroslav Kysela Date: Thu, 15 Feb 2018 17:04:10 +0000 (+0100) Subject: epg: optimize epg_episode_epnum_serialize() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf80096b1897550980646738ea2c146eab021762;p=thirdparty%2Ftvheadend.git epg: optimize epg_episode_epnum_serialize() --- diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c index 9d7ed6093..a786e6e10 100644 --- a/src/dvr/dvr_db.c +++ b/src/dvr/dvr_db.c @@ -2565,7 +2565,8 @@ dvr_entry_class_save(idnode_t *self, char *filename, size_t fsize) int64_t s64; idnode_save(&de->de_id, m); - htsmsg_add_msg(m, "episode", epg_episode_epnum_serialize(&de->de_epnum)); + if ((e = epg_episode_epnum_serialize(&de->de_epnum)) != NULL) + htsmsg_add_msg(m, "episode", e); if (de->de_files) { l = htsmsg_create_list(); HTSMSG_FOREACH(f, de->de_files) diff --git a/src/epg.c b/src/epg.c index 364b8d52b..eee6507df 100644 --- a/src/epg.c +++ b/src/epg.c @@ -347,6 +347,10 @@ htsmsg_t *epg_episode_epnum_serialize ( epg_episode_num_t *num ) { htsmsg_t *m; if (!num) return NULL; + if (!num->e_num && !num->e_cnt && + !num->s_num && !num->s_cnt && + !num->p_num && !num->p_cnt && + !num->text) return NULL; m = htsmsg_create_map(); if (num->e_num) htsmsg_add_u32(m, "enum", num->e_num); @@ -1546,7 +1550,8 @@ htsmsg_t *epg_broadcast_serialize ( epg_broadcast_t *broadcast ) lang_str_serialize(broadcast->summary, m, "sum"); if (broadcast->description) lang_str_serialize(broadcast->description, m, "des"); - htsmsg_add_msg(m, "epn", epg_episode_epnum_serialize(&broadcast->epnum)); + if ((a = epg_episode_epnum_serialize(&broadcast->epnum)) != NULL) + htsmsg_add_msg(m, "epn", a); a = NULL; LIST_FOREACH(eg, &broadcast->genre, link) { if (!a) a = htsmsg_create_list();