summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2021-02-28 22:26:32 +0300
committerGeorge Hazan <ghazan@miranda.im>2021-02-28 22:26:32 +0300
commit6b7f8c2129116382c8c67d05164110238845a1e0 (patch)
tree89f2361fcdcca5e9b1ad613de501f31856dcf2bd /plugins
parentb2c82971f99a2e46cf9a0819ed86154d06d1f92a (diff)
some evident reverse iterators moved to cursors
Diffstat (limited to 'plugins')
-rw-r--r--plugins/BasicHistory/src/HistoryWindow.cpp8
-rw-r--r--plugins/BuddyExpectator/src/BuddyExpectator.cpp5
-rw-r--r--plugins/Clist_nicer/src/contact.cpp18
-rw-r--r--plugins/FavContacts/src/contact_cache.cpp3
4 files changed, 16 insertions, 18 deletions
diff --git a/plugins/BasicHistory/src/HistoryWindow.cpp b/plugins/BasicHistory/src/HistoryWindow.cpp
index 36ea44152a..353de121b9 100644
--- a/plugins/BasicHistory/src/HistoryWindow.cpp
+++ b/plugins/BasicHistory/src/HistoryWindow.cpp
@@ -391,11 +391,9 @@ INT_PTR HistoryWindow::DeleteAllUserHistory(WPARAM hContact, LPARAM)
return FALSE;
db_set_safety_mode(FALSE);
- MEVENT hDbEvent = db_event_last(hContact);
- while (hDbEvent != NULL) {
- MEVENT hPrevEvent = db_event_prev(hContact, hDbEvent);
- hDbEvent = (db_event_delete(hDbEvent) == 0) ? hPrevEvent : NULL;
- }
+ DB::ECPTR cursor(DB::Events(hContact));
+ while (cursor.FetchNext())
+ cursor.DeleteEvent();
db_set_safety_mode(TRUE);
if (HistoryEventList::IsImportedHistory(hContact)) {
diff --git a/plugins/BuddyExpectator/src/BuddyExpectator.cpp b/plugins/BuddyExpectator/src/BuddyExpectator.cpp
index 02669fdbe3..54e342ab60 100644
--- a/plugins/BuddyExpectator/src/BuddyExpectator.cpp
+++ b/plugins/BuddyExpectator/src/BuddyExpectator.cpp
@@ -80,13 +80,12 @@ void setLastSeen(MCONTACT hContact)
time_t getLastInputMsg(MCONTACT hContact)
{
- MEVENT hDbEvent = db_event_last(hContact);
- while (hDbEvent) {
+ DB::ECPTR cursor(DB::EventsRev(hContact));
+ while (MEVENT hDbEvent = cursor.FetchNext()) {
DBEVENTINFO dbei = {};
db_event_get(hDbEvent, &dbei);
if (dbei.eventType == EVENTTYPE_MESSAGE && !(dbei.flags & DBEF_SENT))
return dbei.timestamp;
- hDbEvent = db_event_prev(hContact, hDbEvent);
}
return -1;
}
diff --git a/plugins/Clist_nicer/src/contact.cpp b/plugins/Clist_nicer/src/contact.cpp
index 5d63b7e119..7cda00d4da 100644
--- a/plugins/Clist_nicer/src/contact.cpp
+++ b/plugins/Clist_nicer/src/contact.cpp
@@ -65,21 +65,20 @@ HANDLE hThreadMFUpdate = nullptr;
static void MF_CalcFrequency(MCONTACT hContact, DWORD dwCutoffDays, int doSleep)
{
DWORD curTime = time(0);
- DWORD frequency, eventCount;
- MEVENT hEvent = db_event_last(hContact);
-
- eventCount = 0;
+ DWORD frequency, eventCount = 0;
DBEVENTINFO dbei = {};
- while (hEvent) {
+ DB::ECPTR cursor(DB::EventsRev(hContact));
+ while (MEVENT hEvent = cursor.FetchNext()) {
db_event_get(hEvent, &dbei);
- if (dbei.eventType == EVENTTYPE_MESSAGE && !(dbei.flags & DBEF_SENT)) { // record time of last event
+ // record time of last event
+ if (dbei.eventType == EVENTTYPE_MESSAGE && !(dbei.flags & DBEF_SENT))
eventCount++;
- }
+
if (eventCount >= 100 || dbei.timestamp < curTime - (dwCutoffDays * 86400))
break;
- hEvent = db_event_prev(hContact, hEvent);
+
if (doSleep && mf_updatethread_running == FALSE)
return;
if (doSleep)
@@ -136,7 +135,8 @@ void MF_InitCheck(void)
DWORD INTSORT_GetLastMsgTime(MCONTACT hContact)
{
- for (MEVENT hDbEvent = db_event_last(hContact); hDbEvent; hDbEvent = db_event_prev(hContact, hDbEvent)) {
+ DB::ECPTR cursor(DB::EventsRev(hContact));
+ while (MEVENT hDbEvent = cursor.FetchNext()) {
DBEVENTINFO dbei = {};
db_event_get(hDbEvent, &dbei);
if (dbei.eventType == EVENTTYPE_MESSAGE && !(dbei.flags & DBEF_SENT))
diff --git a/plugins/FavContacts/src/contact_cache.cpp b/plugins/FavContacts/src/contact_cache.cpp
index e3b05f2c24..42f46da620 100644
--- a/plugins/FavContacts/src/contact_cache.cpp
+++ b/plugins/FavContacts/src/contact_cache.cpp
@@ -84,7 +84,8 @@ void CContactCache::Rebuild()
info->hContact = hContact;
info->rate = 0;
- for (MEVENT hEvent = db_event_last(hContact); hEvent; hEvent = db_event_prev(hContact, hEvent)) {
+ DB::ECPTR cursor(DB::EventsRev(hContact));
+ while (MEVENT hEvent = cursor.FetchNext()) {
DBEVENTINFO dbei = {};
if (!db_event_get(hEvent, &dbei)) {
if (float weight = GetEventWeight(timestamp - dbei.timestamp)) {