summaryrefslogtreecommitdiffabout
path: root/kabc/vcard/VCardv.cpp
Side-by-side diff
Diffstat (limited to 'kabc/vcard/VCardv.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/vcard/VCardv.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/kabc/vcard/VCardv.cpp b/kabc/vcard/VCardv.cpp
index 391a69e..d19a004 100644
--- a/kabc/vcard/VCardv.cpp
+++ b/kabc/vcard/VCardv.cpp
@@ -167,55 +167,59 @@ VCard::_parse()
for (; it.current(); ++it) {
cur = it.current();
++it;
while (
it.current() &&
it.current()[0] == ' ' &&
strlen(it.current()) != 1)
{
cur += it.current() + 1;
++it;
}
--it;
refolded.append(cur);
}
QStrListIterator it2(refolded);
for (; it2.current(); ++it2) {
-
- vDebug("New contentline using \"" + QCString(it2.current()) + "\"");
+ vDebug("New contentline using \"" + QCString(it2.current()) + "\"");
ContentLine * cl = new ContentLine(it2.current());
cl->parse();
-
- contentLineList_.append(cl);
+ if (cl->value() == 0)
+ {
+ qDebug("Content line could not be parsed. Discarded: %s" + QCString(it2.current()));
+ delete cl;
+ }
+ else
+ contentLineList_.append(cl);
}
///////////////////////////////////////////////////////////////
// LAST LINE
split = endLine.find(':');
if (split == -1) // invalid, no END
return;
firstPart = endLine.left(split);
valuePart = endLine.right(firstPart.length() - split - 1);
split = firstPart.find('.');
if (split != -1) {
group_ = firstPart.left(split);
firstPart = firstPart.right(firstPart.length() - split - 1);
}
if (qstricmp(firstPart, "END") != 0) // No END !
return;
if (qstricmp(valuePart, "VCARD") != 0) // Not a vcard !