summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/vcard/VCardv.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/kabc/vcard/VCardv.cpp b/kabc/vcard/VCardv.cpp
index d19a004..bc80707 100644
--- a/kabc/vcard/VCardv.cpp
+++ b/kabc/vcard/VCardv.cpp
@@ -101,193 +101,193 @@ VCard::_parse()
101 101
102 RTokenise(strRep_, "\r\n", l); 102 RTokenise(strRep_, "\r\n", l);
103 103
104 if (l.count() < 3) { // Invalid VCARD ! 104 if (l.count() < 3) { // Invalid VCARD !
105 vDebug("Invalid vcard"); 105 vDebug("Invalid vcard");
106 return; 106 return;
107 } 107 }
108 108
109 // Get the first line 109 // Get the first line
110 QCString beginLine = QCString(l.at(0)).stripWhiteSpace(); 110 QCString beginLine = QCString(l.at(0)).stripWhiteSpace();
111 111
112 vDebug("Begin line == \"" + beginLine + "\""); 112 vDebug("Begin line == \"" + beginLine + "\"");
113 113
114 // Remove extra blank lines 114 // Remove extra blank lines
115 while (QCString(l.last()).isEmpty()) 115 while (QCString(l.last()).isEmpty())
116 l.remove(l.last()); 116 l.remove(l.last());
117 117
118 // Now we know this is the last line 118 // Now we know this is the last line
119 QCString endLine = l.last(); 119 QCString endLine = l.last();
120 120
121 // Trash the first and last lines as we have seen them. 121 // Trash the first and last lines as we have seen them.
122 l.remove(0u); 122 l.remove(0u);
123 l.remove(l.last()); 123 l.remove(l.last());
124 124
125 /////////////////////////////////////////////////////////////// 125 ///////////////////////////////////////////////////////////////
126 // FIRST LINE 126 // FIRST LINE
127 127
128 int split = beginLine.find(':'); 128 int split = beginLine.find(':');
129 129
130 if (split == -1) { // invalid, no BEGIN 130 if (split == -1) { // invalid, no BEGIN
131 vDebug("No split"); 131 vDebug("No split");
132 return; 132 return;
133 } 133 }
134 134
135 QCString firstPart(beginLine.left(split)); 135 QCString firstPart(beginLine.left(split));
136 QCString valuePart(beginLine.mid(split + 1)); 136 QCString valuePart(beginLine.mid(split + 1));
137 137
138 split = firstPart.find('.'); 138 split = firstPart.find('.');
139 139
140 if (split != -1) { 140 if (split != -1) {
141 group_ = firstPart.left(split); 141 group_ = firstPart.left(split);
142 firstPart= firstPart.right(firstPart.length() - split - 1); 142 firstPart= firstPart.right(firstPart.length() - split - 1);
143 } 143 }
144 144
145 if (qstrnicmp(firstPart, "BEGIN", 5) != 0) { // No BEGIN ! 145 if (qstrnicmp(firstPart, "BEGIN", 5) != 0) { // No BEGIN !
146 vDebug("No BEGIN"); 146 vDebug("No BEGIN");
147 return; 147 return;
148 } 148 }
149 149
150 if (qstrnicmp(valuePart, "VCARD", 5) != 0) { // Not a vcard ! 150 if (qstrnicmp(valuePart, "VCARD", 5) != 0) { // Not a vcard !
151 vDebug("No VCARD"); 151 vDebug("No VCARD");
152 return; 152 return;
153 } 153 }
154 154
155 /////////////////////////////////////////////////////////////// 155 ///////////////////////////////////////////////////////////////
156 // CONTENT LINES 156 // CONTENT LINES
157 // 157 //
158 vDebug("Content lines"); 158 vDebug("Content lines");
159 159
160 // Handle folded lines. 160 // Handle folded lines.
161 161
162 QStrList refolded; 162 QStrList refolded;
163 163
164 QStrListIterator it(l); 164 QStrListIterator it(l);
165 165
166 QCString cur; 166 QCString cur;
167 167
168 for (; it.current(); ++it) { 168 for (; it.current(); ++it) {
169 169
170 cur = it.current(); 170 cur = it.current();
171 171
172 ++it; 172 ++it;
173 173
174 while ( 174 while (
175 it.current() && 175 it.current() &&
176 it.current()[0] == ' '&& 176 it.current()[0] == ' '&&
177 strlen(it.current()) != 1) 177 strlen(it.current()) != 1)
178 { 178 {
179 cur += it.current() + 1; 179 cur += it.current() + 1;
180 ++it; 180 ++it;
181 } 181 }
182 182
183 --it; 183 --it;
184 184
185 refolded.append(cur); 185 refolded.append(cur);
186 } 186 }
187 187
188 QStrListIterator it2(refolded); 188 QStrListIterator it2(refolded);
189 189
190 for (; it2.current(); ++it2) { 190 for (; it2.current(); ++it2) {
191 vDebug("New contentline using \"" + QCString(it2.current()) + "\""); 191 vDebug("New contentline using \"" + QCString(it2.current()) + "\"");
192 ContentLine * cl = new ContentLine(it2.current()); 192 ContentLine * cl = new ContentLine(it2.current());
193 193
194 cl->parse(); 194 cl->parse();
195 if (cl->value() == 0) 195 if (cl->value() == 0)
196 { 196 {
197 qDebug("Content line could not be parsed. Discarded: %s" + QCString(it2.current())); 197 qDebug("Content line could not be parsed. Discarded: %s", it2.current());
198 delete cl; 198 delete cl;
199 } 199 }
200 else 200 else
201 contentLineList_.append(cl); 201 contentLineList_.append(cl);
202 } 202 }
203 203
204 /////////////////////////////////////////////////////////////// 204 ///////////////////////////////////////////////////////////////
205 // LAST LINE 205 // LAST LINE
206 206
207 split = endLine.find(':'); 207 split = endLine.find(':');
208 208
209 if (split == -1) // invalid, no END 209 if (split == -1) // invalid, no END
210 return; 210 return;
211 211
212 firstPart = endLine.left(split); 212 firstPart = endLine.left(split);
213 valuePart = endLine.right(firstPart.length() - split - 1); 213 valuePart = endLine.right(firstPart.length() - split - 1);
214 214
215 split = firstPart.find('.'); 215 split = firstPart.find('.');
216 216
217 if (split != -1) { 217 if (split != -1) {
218 group_ = firstPart.left(split); 218 group_ = firstPart.left(split);
219 firstPart= firstPart.right(firstPart.length() - split - 1); 219 firstPart= firstPart.right(firstPart.length() - split - 1);
220 } 220 }
221 221
222 if (qstricmp(firstPart, "END") != 0) // No END ! 222 if (qstricmp(firstPart, "END") != 0) // No END !
223 return; 223 return;
224 224
225 if (qstricmp(valuePart, "VCARD") != 0) // Not a vcard ! 225 if (qstricmp(valuePart, "VCARD") != 0) // Not a vcard !
226 return; 226 return;
227} 227}
228 228
229 void 229 void
230VCard::_assemble() 230VCard::_assemble()
231{ 231{
232 vDebug("Assembling vcard"); 232 vDebug("Assembling vcard");
233 strRep_ = "BEGIN:VCARD\r\n"; 233 strRep_ = "BEGIN:VCARD\r\n";
234 strRep_ += "VERSION:3.0\r\n"; 234 strRep_ += "VERSION:3.0\r\n";
235 235
236 QPtrListIterator<ContentLine> it(contentLineList_); 236 QPtrListIterator<ContentLine> it(contentLineList_);
237 237
238 for (; it.current(); ++it) 238 for (; it.current(); ++it)
239 strRep_ += it.current()->asString() + "\r\n"; 239 strRep_ += it.current()->asString() + "\r\n";
240 240
241 strRep_ += "END:VCARD\r\n"; 241 strRep_ += "END:VCARD\r\n";
242} 242}
243 243
244 bool 244 bool
245VCard::has(EntityType t) 245VCard::has(EntityType t)
246{ 246{
247 parse(); 247 parse();
248 return contentLine(t) == 0 ? false : true; 248 return contentLine(t) == 0 ? false : true;
249} 249}
250 250
251 bool 251 bool
252VCard::has(const QCString & s) 252VCard::has(const QCString & s)
253{ 253{
254 parse(); 254 parse();
255 return contentLine(s) == 0 ? false : true; 255 return contentLine(s) == 0 ? false : true;
256} 256}
257 257
258 void 258 void
259VCard::add(const ContentLine & cl) 259VCard::add(const ContentLine & cl)
260{ 260{
261 parse(); 261 parse();
262 ContentLine * c = new ContentLine(cl); 262 ContentLine * c = new ContentLine(cl);
263 contentLineList_.append(c); 263 contentLineList_.append(c);
264} 264}
265 265
266 void 266 void
267VCard::add(const QCString & s) 267VCard::add(const QCString & s)
268{ 268{
269 parse(); 269 parse();
270 ContentLine * c = new ContentLine(s); 270 ContentLine * c = new ContentLine(s);
271 contentLineList_.append(c); 271 contentLineList_.append(c);
272} 272}
273 273
274 ContentLine * 274 ContentLine *
275VCard::contentLine(EntityType t) 275VCard::contentLine(EntityType t)
276{ 276{
277 parse(); 277 parse();
278 QPtrListIterator<ContentLine> it(contentLineList_); 278 QPtrListIterator<ContentLine> it(contentLineList_);
279 279
280 for (; it.current(); ++it) 280 for (; it.current(); ++it)
281 if (it.current()->entityType() == t) 281 if (it.current()->entityType() == t)
282 return it.current(); 282 return it.current();
283 283
284 return 0; 284 return 0;
285} 285}
286 286
287 ContentLine * 287 ContentLine *
288VCard::contentLine(const QCString & s) 288VCard::contentLine(const QCString & s)
289{ 289{
290 parse(); 290 parse();
291 QPtrListIterator<ContentLine> it(contentLineList_); 291 QPtrListIterator<ContentLine> it(contentLineList_);
292 292
293 for (; it.current(); ++it) 293 for (; it.current(); ++it)