diff --git a/src/epg.c b/src/epg.c index e9872e51..c163ce16 100644 --- a/src/epg.c +++ b/src/epg.c @@ -235,12 +235,16 @@ epg_remove_event_from_channel(channel_t *ch, event_t *e) * */ event_t * -epg_event_create(channel_t *ch, time_t start, time_t stop, int dvb_id) +epg_event_create(channel_t *ch, time_t start, time_t stop, int dvb_id, + int *created) { static event_t *skel; event_t *e, *p, *n; static int tally; + if(created != NULL) + *created = 0; + if((stop - start) > 11 * 3600) return NULL; @@ -257,6 +261,10 @@ epg_event_create(channel_t *ch, time_t start, time_t stop, int dvb_id) e = RB_INSERT_SORTED(&ch->ch_epg_events, skel, e_channel_link, e_ch_cmp); if(e == NULL) { /* New entry was inserted */ + + if(created != NULL) + *created = 1; + e = skel; skel = NULL; diff --git a/src/epg.h b/src/epg.h index 2a0f576b..e09456f4 100644 --- a/src/epg.h +++ b/src/epg.h @@ -79,7 +79,7 @@ void epg_event_set_desc(event_t *e, const char *desc); void epg_event_set_content_type(event_t *e, epg_content_type_t *ect); event_t *epg_event_create(channel_t *ch, time_t start, time_t stop, - int dvb_id); + int dvb_id, int *created); event_t *epg_event_find_by_time(channel_t *ch, time_t t);