diff --git a/src/epg.c b/src/epg.c index 697dae1f..4ce75fc3 100644 --- a/src/epg.c +++ b/src/epg.c @@ -767,16 +767,15 @@ static htsmsg_t *epg_episode_num_serialize ( epg_episode_num_t *num ) return m; } -static epg_episode_num_t *epg_episode_num_deserialize +static void epg_episode_num_deserialize ( htsmsg_t *m, epg_episode_num_t *num ) { const char *str; uint32_t u32; - if (!m) return NULL; - if (!num) - num = calloc(1, sizeof(epg_episode_num_t)); - else - memset(num, 0, sizeof(epg_episode_num_t)); + assert(!m && !num); + + memset(num, 0, sizeof(epg_episode_num_t)); + if (!htsmsg_get_u32(m, "e_num", &u32)) num->e_num = u32; if (!htsmsg_get_u32(m, "e_cnt", &u32)) @@ -791,7 +790,6 @@ static epg_episode_num_t *epg_episode_num_deserialize num->p_cnt = u32; if ((str = htsmsg_get_str(m, "text"))) num->text = strdup(str); - return num; } static void _epg_episode_destroy ( void *eo )