~ubuntu-branches/ubuntu/jaunty/quassel/jaunty

« back to all changes in this revision

Viewing changes to debian/patches/quassel_16_ctcp_level_and_low_level_quoting.patch

  • Committer: Bazaar Package Importer
  • Author(s): Harald Sitter
  • Date: 2008-10-26 00:39:18 UTC
  • Revision ID: james.westby@ubuntu.com-20081026003918-l4jtya2v2e2l2ld6
Tags: 0.3.0-0ubuntu9
Fix wrong QByteArray use in quassel_16_ctcp_level_and_low_level_quoting
(LP: #289291)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
Index: quassel-0.3.0/src/core/ctcphandler.cpp
2
2
===================================================================
3
 
--- quassel-0.3.0.orig/src/core/ctcphandler.cpp 2008-08-27 15:48:56.000000000 +0200
4
 
+++ quassel-0.3.0/src/core/ctcphandler.cpp      2008-10-25 18:12:01.000000000 +0200
5
 
@@ -40,7 +40,17 @@
 
3
--- quassel-0.3.0.orig/src/core/ctcphandler.cpp 2008-10-25 18:12:09.000000000 +0200
 
4
+++ quassel-0.3.0/src/core/ctcphandler.cpp      2008-10-26 00:13:39.000000000 +0200
 
5
@@ -30,9 +30,9 @@
 
6
 {
 
7
 
 
8
   QByteArray MQUOTE = QByteArray("\020");
 
9
-  ctcpMDequoteHash[MQUOTE + '0'] = QByteArray("\000");
 
10
-  ctcpMDequoteHash[MQUOTE + 'n'] = QByteArray("\n");
 
11
-  ctcpMDequoteHash[MQUOTE + 'r'] = QByteArray("\r");
 
12
+  ctcpMDequoteHash[MQUOTE + '0'] = QByteArray(1, '\000');
 
13
+  ctcpMDequoteHash[MQUOTE + 'n'] = QByteArray(1, '\n');
 
14
+  ctcpMDequoteHash[MQUOTE + 'r'] = QByteArray(1, '\r');
 
15
   ctcpMDequoteHash[MQUOTE + MQUOTE] = MQUOTE;
 
16
 
 
17
   QByteArray XQUOTE = QByteArray("\134");
 
18
@@ -40,7 +40,23 @@
6
19
   ctcpXDelimDequoteHash[XQUOTE + QByteArray("a")] = XDELIM;
7
20
 }
8
21
 
9
22
-QByteArray CtcpHandler::dequote(const QByteArray &message) {
10
23
+QByteArray CtcpHandler::lowLevelQuote(const QByteArray &message) {
11
24
+  QByteArray quotedMessage = message;
12
 
+  QHash<QByteArray, QByteArray>::const_iterator quoteIter = ctcpMDequoteHash.constBegin();
13
 
+  while(quoteIter != ctcpMDequoteHash.constEnd()) {
 
25
+
 
26
+  QHash<QByteArray, QByteArray> quoteHash = ctcpMDequoteHash;
 
27
+  QByteArray MQUOTE = QByteArray("\020");
 
28
+  quoteHash.remove(MQUOTE + MQUOTE);
 
29
+  quotedMessage.replace(MQUOTE, MQUOTE + MQUOTE);
 
30
+
 
31
+  QHash<QByteArray, QByteArray>::const_iterator quoteIter = quoteHash.constBegin();
 
32
+  while(quoteIter != quoteHash.constEnd()) {
14
33
+    quotedMessage.replace(quoteIter.value(), quoteIter.key());
15
34
+    quoteIter++;
16
35
+  }
21
40
   QByteArray dequotedMessage;
22
41
   QByteArray messagepart;
23
42
   QHash<QByteArray, QByteArray>::iterator ctcpquote;
24
 
@@ -62,6 +72,15 @@
 
43
@@ -62,6 +78,15 @@
25
44
   return dequotedMessage;
26
45
 }
27
46
 
37
56
 
38
57
 QByteArray CtcpHandler::xdelimDequote(const QByteArray &message) {
39
58
   QByteArray dequotedMessage;
40
 
@@ -88,7 +107,7 @@
 
59
@@ -88,7 +113,7 @@
41
60
   QByteArray ctcp;
42
61
   
43
62
   //lowlevel message dequote
46
65
 
47
66
   CtcpType ctcptype = messageType == Message::Notice
48
67
     ? CtcpReply
49
 
@@ -135,19 +154,18 @@
 
68
@@ -135,19 +160,18 @@
50
69
 }
51
70
 
52
71
 QByteArray CtcpHandler::pack(const QByteArray &ctcpTag, const QByteArray &message) {
71
90
 
72
91
Index: quassel-0.3.0/src/core/ctcphandler.h
73
92
===================================================================
74
 
--- quassel-0.3.0.orig/src/core/ctcphandler.h   2008-08-27 15:48:56.000000000 +0200
75
 
+++ quassel-0.3.0/src/core/ctcphandler.h        2008-10-25 18:12:01.000000000 +0200
 
93
--- quassel-0.3.0.orig/src/core/ctcphandler.h   2008-10-25 18:12:09.000000000 +0200
 
94
+++ quassel-0.3.0/src/core/ctcphandler.h        2008-10-26 00:11:32.000000000 +0200
76
95
@@ -36,7 +36,9 @@
77
96
 
78
97
   void parse(Message::Type, const QString &prefix, const QString &target, const QByteArray &message);