From 44b60862c97e5ec855d2bacd4d15f81f7ae7f410 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 15 Mar 2018 15:33:54 +0300 Subject: MUCH more effective way of removing records from iterators --- protocols/IcqOscarJ/src/cookies.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'protocols/IcqOscarJ/src/cookies.cpp') diff --git a/protocols/IcqOscarJ/src/cookies.cpp b/protocols/IcqOscarJ/src/cookies.cpp index de73d58e03..a517f93923 100644 --- a/protocols/IcqOscarJ/src/cookies.cpp +++ b/protocols/IcqOscarJ/src/cookies.cpp @@ -33,9 +33,10 @@ void CIcqProto::RemoveExpiredCookies() { time_t tNow = time(nullptr); - for (auto &it : cookies.rev_iter()) + auto T = cookies.rev_iter(); + for (auto &it : T) if (it->dwTime + COOKIE_TIMEOUT < tNow) - cookies.remove(it); + cookies.remove(T.indexOf(&it)); } // Generate and allocate cookie -- cgit v1.2.3