Permalink
Browse files

Merge commit 'refs/pull/188/head' of github.com:znc/znc

Conflicts:
	modules/watch.cpp
  • Loading branch information...
2 parents a212f08 + 84fae4c commit 89f586d17362cc7293d691b61ca52bc70543e59b @DarthGandalf DarthGandalf committed Nov 8, 2012
Showing with 7 additions and 1 deletion.
  1. +7 −1 modules/watch.cpp
View
@@ -10,9 +10,11 @@
#include <znc/User.h>
#include <znc/IRCNetwork.h>
#include <list>
+#include <set>
using std::list;
using std::vector;
+using std::set;
class CWatchSource {
public:
@@ -287,15 +289,19 @@ class CWatcherMod : public CModule {
private:
void Process(const CNick& Nick, const CString& sMessage, const CString& sSource) {
+ set<CString> sHandledTargets;
+
for (list<CWatchEntry>::iterator it = m_lsWatchers.begin(); it != m_lsWatchers.end(); ++it) {
CWatchEntry& WatchEntry = *it;
- if (WatchEntry.IsMatch(Nick, sMessage, sSource, m_pNetwork)) {
+ if (WatchEntry.IsMatch(Nick, sMessage, sSource, m_pNetwork) &&
+ sHandledTargets.count(WatchEntry.GetTarget()) < 1) {
if (m_pNetwork->IsUserAttached()) {
m_pNetwork->PutUser(":" + WatchEntry.GetTarget() + "!watch@znc.in PRIVMSG " + m_pNetwork->GetCurNick() + " :" + sMessage);
} else {
m_Buffer.AddLine(":" + _NAMEDFMT(WatchEntry.GetTarget()) + "!watch@znc.in PRIVMSG {target} :{text}", sMessage);
}
+ sHandledTargets.insert(WatchEntry.GetTarget());
}
}
}

0 comments on commit 89f586d

Please sign in to comment.