summaryrefslogtreecommitdiff
path: root/noncore
authorskyhusker <skyhusker>2005-06-09 20:06:01 (UTC)
committer skyhusker <skyhusker>2005-06-09 20:06:01 (UTC)
commitccc819750468aa161255e863dac4d2ca55ace253 (patch) (unidiff)
treedcd5f82590f051fe6c6efc6380cc4fc603bb1ae9 /noncore
parent5173a392a1422add3e3ae2a38d6bd4eb5df3cf87 (diff)
downloadopie-ccc819750468aa161255e863dac4d2ca55ace253.zip
opie-ccc819750468aa161255e863dac4d2ca55ace253.tar.gz
opie-ccc819750468aa161255e863dac4d2ca55ace253.tar.bz2
Fix #1665
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieirc/ircmessage.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/net/opieirc/ircmessage.cpp b/noncore/net/opieirc/ircmessage.cpp
index da8db77..f4b09bc 100644
--- a/noncore/net/opieirc/ircmessage.cpp
+++ b/noncore/net/opieirc/ircmessage.cpp
@@ -18,49 +18,49 @@ using namespace Opie::Core;
18IRCMessage::IRCMessage(QString line) { 18IRCMessage::IRCMessage(QString line) {
19 /* Remove CRs from the message */ 19 /* Remove CRs from the message */
20 while((line.right(1) == "\n") || (line.right(1) == "\r")) 20 while((line.right(1) == "\n") || (line.right(1) == "\r"))
21 line = line.left(line.length() - 1); 21 line = line.left(line.length() - 1);
22 QTextIStream stream(&line); 22 QTextIStream stream(&line);
23 QString temp; 23 QString temp;
24 24
25 stream >> temp; 25 stream >> temp;
26 if (temp.startsWith(":")) { 26 if (temp.startsWith(":")) {
27 /* extract the prefix */ 27 /* extract the prefix */
28 m_prefix = temp.right(temp.length()-1); 28 m_prefix = temp.right(temp.length()-1);
29 stream >> temp; 29 stream >> temp;
30 m_command = temp.upper(); 30 m_command = temp.upper();
31 m_allParameters = line.right(line.length() - m_prefix.length() - m_command.length() - 3); 31 m_allParameters = line.right(line.length() - m_prefix.length() - m_command.length() - 3);
32 } else { 32 } else {
33 m_command = temp.upper(); 33 m_command = temp.upper();
34 m_allParameters = line.right(line.length() - m_command.length() - 1); 34 m_allParameters = line.right(line.length() - m_command.length() - 1);
35 } 35 }
36 36
37 /* Create a list of all parameters */ 37 /* Create a list of all parameters */
38 while(!(stream.atEnd())) { 38 while(!(stream.atEnd())) {
39 stream >> temp; 39 stream >> temp;
40 if (temp.startsWith(":")) { 40 if (temp.startsWith(":")) {
41 /* last parameter */ 41 /* last parameter */
42 m_trailing = line.right(line.length() - line.find(QChar(':'), 1) - 1); 42 m_trailing = line.right(line.length() - line.find(" :") - 2);
43 m_parameters << m_trailing; 43 m_parameters << m_trailing;
44 break; 44 break;
45 } else { 45 } else {
46 m_parameters << temp; 46 m_parameters << temp;
47 } 47 }
48 } 48 }
49 49
50 50
51 m_commandNumber = m_command.toInt(&m_isNumerical); 51 m_commandNumber = m_command.toInt(&m_isNumerical);
52 /* Is this a CTCP command */ 52 /* Is this a CTCP command */
53 if ((m_command == "PRIVMSG" || m_command == "NOTICE") && m_trailing.length()>0 && m_trailing.left(1) == QChar(1)) { 53 if ((m_command == "PRIVMSG" || m_command == "NOTICE") && m_trailing.length()>0 && m_trailing.left(1) == QChar(1)) {
54 m_ctcp = TRUE; 54 m_ctcp = TRUE;
55 55
56 m_ctcpRequest = (m_command == "PRIVMSG"); 56 m_ctcpRequest = (m_command == "PRIVMSG");
57 57
58 /* Strip CTCP \001 characters */ 58 /* Strip CTCP \001 characters */
59 m_allParameters = m_allParameters.replace(QRegExp(QChar(1)), ""); 59 m_allParameters = m_allParameters.replace(QRegExp(QChar(1)), "");
60 QTextIStream ctcpStream(&m_allParameters); 60 QTextIStream ctcpStream(&m_allParameters);
61 ctcpStream >> m_ctcpDestination; 61 ctcpStream >> m_ctcpDestination;
62 ctcpStream >> temp; 62 ctcpStream >> temp;
63 m_ctcpCommand = temp.upper().right(temp.length()-1); 63 m_ctcpCommand = temp.upper().right(temp.length()-1);
64 m_parameters.clear(); 64 m_parameters.clear();
65 int length = m_allParameters.length() - m_ctcpCommand.length() - 1; 65 int length = m_allParameters.length() - m_ctcpCommand.length() - 1;
66 length -= m_ctcpDestination.length() + 1; 66 length -= m_ctcpDestination.length() + 1;