aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2004-12-19 14:14:02 +0000
committerVincent Richard <[email protected]>2004-12-19 14:14:02 +0000
commit68e51fe26265ec286be8369dfd945b6ac30b822e (patch)
treea3dd16111ddbecc181abebb2a2022f40fea2b952
parentFixed warning when compiling. (diff)
downloadvmime-68e51fe26265ec286be8369dfd945b6ac30b822e.tar.gz
vmime-68e51fe26265ec286be8369dfd945b6ac30b822e.zip
Do not use std::remove() for removing elements from std::vector...
-rw-r--r--src/messaging/IMAPFolder.cpp6
-rw-r--r--src/messaging/maildirFolder.cpp6
2 files changed, 10 insertions, 2 deletions
diff --git a/src/messaging/IMAPFolder.cpp b/src/messaging/IMAPFolder.cpp
index 0cbb860a..8d1b9a8e 100644
--- a/src/messaging/IMAPFolder.cpp
+++ b/src/messaging/IMAPFolder.cpp
@@ -662,7 +662,11 @@ void IMAPFolder::registerMessage(IMAPMessage* msg)
void IMAPFolder::unregisterMessage(IMAPMessage* msg)
{
- std::remove(m_messages.begin(), m_messages.end(), msg);
+ std::vector <IMAPMessage*>::iterator it =
+ std::find(m_messages.begin(), m_messages.end(), msg);
+
+ if (it != m_messages.end())
+ m_messages.erase(it);
}
diff --git a/src/messaging/maildirFolder.cpp b/src/messaging/maildirFolder.cpp
index 7ce56623..4bf1fcfb 100644
--- a/src/messaging/maildirFolder.cpp
+++ b/src/messaging/maildirFolder.cpp
@@ -168,7 +168,11 @@ void maildirFolder::registerMessage(maildirMessage* msg)
void maildirFolder::unregisterMessage(maildirMessage* msg)
{
- std::remove(m_messages.begin(), m_messages.end(), msg);
+ std::vector <maildirMessage*>::iterator it =
+ std::find(m_messages.begin(), m_messages.end(), msg);
+
+ if (it != m_messages.end())
+ m_messages.erase(it);
}