compilefix for media-video/vdr-2.4.1 Suggested-by: MatthiasK @ vdr-portal.de Signed-off-by: Joerg Bornkessel ( 27 Dec 2019 ) diff -Naur epgsync-1.0.1.orig/thread.c epgsync-1.0.1/thread.c --- epgsync-1.0.1.orig/thread.c 2019-12-26 00:12:49.124492713 +0100 +++ epgsync-1.0.1/thread.c 2019-12-26 00:17:55.129492713 +0100 @@ -42,9 +42,10 @@ } } -cChannel *GetChannelByName(const char* Name, const cChannel *IgnoreChannel = NULL, eChannelTypes Type = ctAll) +const cChannel *GetChannelByName(const char* Name, const cChannel *IgnoreChannel = NULL, eChannelTypes Type = ctAll) { - for (cChannel *channel = Channels.First(); channel; channel = Channels.Next(channel)) { + LOCK_CHANNELS_READ; + for (const cChannel *channel = Channels->First(); channel; channel = Channels->Next(channel)) { if (strcasecmp(Name, channel->Name()) == 0 || strcasecmp(Name, channel->ShortName()) == 0) { if (IsType(channel, Type) && channel != IgnoreChannel) return channel; @@ -95,20 +96,17 @@ if (EpgSyncSetup.redirectChannels == rcmId) { // Direct import, no mapping: // loop through local channels, get channels by ID - cSchedulesLock *lock = NULL; - for (cChannel *channel = Channels.First(); channel && Running(); - channel = Channels.Next(channel)) { - if (!lock) - lock = new cSchedulesLock(); - if (cSchedules::Schedules(*lock)->GetSchedule(channel)) { - DELETENULL(lock); + LOCK_CHANNELS_READ; + for (const cChannel *channel = Channels->First(); channel && Running(); + channel = Channels->Next(channel)) { + LOCK_SCHEDULES_READ; + if (Schedules->GetSchedule(channel)) { if (CmdLSTE(f, *channel->GetChannelID().ToString())) { AddSchedule(f); } cCondWait::SleepMs(EPGSYNC_SLEEPMS); } } - DELETENULL(lock); } else { // Map channels by name: @@ -182,7 +180,8 @@ targetChannel = NULL; const char* p = skipspace(s + 1); - cChannel *c = Channels.GetByChannelID(tChannelID::FromString(p)); + LOCK_CHANNELS_READ; + const cChannel *c = Channels->GetByChannelID(tChannelID::FromString(p)); bool cOk = IsType(c, (eChannelTypes) EpgSyncSetup.channelTypes); if (cOk && EpgSyncSetup.redirectChannels != rcmNameId) {