Add support for channelsToTreat to be empty

It's the case when providing a single channel in `channels.txt` for
instance.
This commit is contained in:
Benjamin Loison 2023-02-23 23:45:36 +01:00
parent 8475463d29
commit 2634e54976

View File

@ -712,7 +712,7 @@ void markChannelAsRequiringTreatmentIfNeeded(unsigned short threadId, string cha
if(channelsAlreadyTreated.find(channelId) == channelsAlreadyTreated.end() && channelsToTreatRev.find(channelId) == channelsToTreatRev.end()) if(channelsAlreadyTreated.find(channelId) == channelsAlreadyTreated.end() && channelsToTreatRev.find(channelId) == channelsToTreatRev.end())
{ {
// It is unclear to me why `channelsToTreat.end()->first + 1` doesn't work here. // It is unclear to me why `channelsToTreat.end()->first + 1` doesn't work here.
unsigned int channelsToTreatIndex = channelsToTreat.rbegin()->first + 1; unsigned int channelsToTreatIndex = !channelsToTreat.empty() ? channelsToTreat.rbegin()->first + 1 : channelsAlreadyTreated.size();
channelsToTreat[channelsToTreatIndex] = channelId; channelsToTreat[channelsToTreatIndex] = channelId;
channelsToTreatRev[channelId] = channelsToTreatIndex; channelsToTreatRev[channelId] = channelsToTreatIndex;