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 95e96d08e1
commit 02c3d74eb6
Signed by: Benjamin_Loison
SSH Key Fingerprint: SHA256:BtnEgYTlHdOg1u+RmYcDE0mnfz1rhv5dSbQ2gyxW8B8

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;