diff --git a/debian/changelog b/debian/changelog index 31058c47..0b1346ac 100644 --- a/debian/changelog +++ b/debian/changelog @@ -64,6 +64,8 @@ hts-tvheadend (2.3) hts; urgency=low all tuning parameters manually Ticket #37 + * Fix a bug causing channel <> tags mapping not to be restored on load. + hts-tvheadend (2.2) hts; urgency=low * Set $HOME so forked processes (XMLTV) will have correct environment diff --git a/src/channels.c b/src/channels.c index 4ef4ab02..104e8cca 100644 --- a/src/channels.c +++ b/src/channels.c @@ -241,6 +241,7 @@ channel_load_one(htsmsg_t *c, int id) htsmsg_t *tags; htsmsg_field_t *f; channel_tag_t *ct; + char buf[32]; if(name == NULL) return; @@ -272,9 +273,11 @@ channel_load_one(htsmsg_t *c, int id) if((tags = htsmsg_get_list(c, "tags")) != NULL) { HTSMSG_FOREACH(f, tags) { - if(f->hmf_type == HMF_STR && - (ct = channel_tag_find(f->hmf_str, 0)) != NULL) { - channel_tag_map(ch, ct, 1); + if(f->hmf_type == HMF_S64) { + snprintf(buf, sizeof(buf), "%lld", f->hmf_s64); + + if((ct = channel_tag_find(buf, 0)) != NULL) + channel_tag_map(ch, ct, 1); } } }