Permalink
Browse files

Store all 005 values in a map.

Thanks to jayne for requesting this.
  • Loading branch information...
1 parent eb66e58 commit 9e047a3bebb577b202ec8fe5ae398bf64eaf9531 Alexey Sokolov committed Dec 4, 2011
Showing with 8 additions and 0 deletions.
  1. +2 −0 include/znc/IRCSock.h
  2. +6 −0 src/IRCSock.cpp
View
@@ -90,6 +90,7 @@ class CIRCSock : public CZNCSock {
// This is true if we are past raw 001
bool IsAuthed() const { return m_bAuthed; }
bool IsCapAccepted(const CString& sCap) { return 1 == m_ssAcceptedCaps.count(sCap); }
+ const MCString& GetISupport() const { return m_mISupport; }
// !Getters
// This handles NAMESX and UHNAMES in a raw 353 reply
@@ -121,6 +122,7 @@ class CIRCSock : public CZNCSock {
unsigned int m_uNumCTCP;
static const time_t m_uCTCPFloodTime;
static const unsigned int m_uCTCPFloodCount;
+ MCString m_mISupport;
};
#endif // !_IRCSOCK_H
View
@@ -1023,6 +1023,12 @@ void CIRCSock::ParseISupport(const CString& sLine) {
CString sName = it->Token(0, false, "=");
CString sValue = it->Token(1, true, "=");
+ if (0 < sName.length() && ':' == sName[0]) {
+ break;
+ }
+
+ m_mISupport[sName] = sValue;
+
if (sName.Equals("PREFIX")) {
CString sPrefixes = sValue.Token(1, false, ")");
CString sPermModes = sValue.Token(0, false, ")");

0 comments on commit 9e047a3

Please sign in to comment.