From bb26496186f9dd0318818fe28cce2a04f9b6b23c Mon Sep 17 00:00:00 2001 From: Johan Rehnberg Date: Sun, 13 Oct 2013 20:15:15 +0200 Subject: [PATCH] programs with non zero and equal episode numbers are considered duplicates --- src/dvr/dvr_db.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c index fd54d3a0..2129f232 100644 --- a/src/dvr/dvr_db.c +++ b/src/dvr/dvr_db.c @@ -427,11 +427,23 @@ dvr_entry_create_by_event(const char *config_name, creator, dae, pri); } +/** + * Considered a duplicate if it has episode numbers and it is equal to an existing recording + */ static int _dvr_duplicate_event ( epg_broadcast_t *e ) { dvr_entry_t *de; + epg_episode_num_t empty_epnum; + + memset(&empty_epnum, 0, sizeof(empty_epnum)); + if (epg_episode_number_cmp(&empty_epnum, &e->episode->epnum) == 0) + return 0; + LIST_FOREACH(de, &dvrentries, de_global_link) { - if (de->de_bcast && (de->de_bcast->episode == e->episode)) return 1; + if (de->de_bcast && epg_episode_number_cmp(&de->de_bcast->episode->epnum, &e->episode->epnum) == 0) + { + return 1; + } } return 0; }