summaryrefslogtreecommitdiffabout
path: root/kabc/vcard
authorulf69 <ulf69>2004-09-28 21:32:21 (UTC)
committer ulf69 <ulf69>2004-09-28 21:32:21 (UTC)
commit551a0bb353c7ffff4b307956a7cc7a023bf36863 (patch) (side-by-side diff)
tree99a2f40f6c510f8ea2f482d481f2051bd9f2227d /kabc/vcard
parent57c00cdf5002e90603e0e1cfb5ac5c2c8bf19fe7 (diff)
downloadkdepimpi-551a0bb353c7ffff4b307956a7cc7a023bf36863.zip
kdepimpi-551a0bb353c7ffff4b307956a7cc7a023bf36863.tar.gz
kdepimpi-551a0bb353c7ffff4b307956a7cc7a023bf36863.tar.bz2
fixed a potential crash when loading adresses from any adressbook file.
Diffstat (limited to 'kabc/vcard') (more/less context) (show whitespace changes)
-rw-r--r--kabc/vcard/ContentLine.cpp10
-rw-r--r--kabc/vcard/VCardv.cpp8
-rw-r--r--kabc/vcard/include/VCardDefines.h3
3 files changed, 16 insertions, 5 deletions
diff --git a/kabc/vcard/ContentLine.cpp b/kabc/vcard/ContentLine.cpp
index 0fb5b5d..f7e04a9 100644
--- a/kabc/vcard/ContentLine.cpp
+++ b/kabc/vcard/ContentLine.cpp
@@ -63,13 +63,16 @@
#include <VCardDefines.h>
using namespace VCARD;
ContentLine::ContentLine()
: Entity(),
- value_(0)
+ value_(0),
+ paramType_( ParamUnknown ),
+ valueType_( ValueUnknown ),
+ entityType_( EntityUnknown )
{
paramList_.setAutoDelete( TRUE );
}
ContentLine::ContentLine(const ContentLine & x)
: Entity(x),
@@ -94,13 +97,16 @@ ContentLine::ContentLine(const ContentLine & x)
}
}
ContentLine::ContentLine(const QCString & s)
: Entity(s),
- value_(0)
+ value_(0),
+ paramType_( ParamUnknown ),
+ valueType_( ValueUnknown ),
+ entityType_( EntityUnknown )
{
paramList_.setAutoDelete( TRUE );
}
ContentLine &
ContentLine::operator = (ContentLine & x)
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
@@ -185,18 +185,22 @@ VCard::_parse()
refolded.append(cur);
}
QStrListIterator it2(refolded);
for (; it2.current(); ++it2) {
-
vDebug("New contentline using \"" + QCString(it2.current()) + "\"");
ContentLine * cl = new ContentLine(it2.current());
cl->parse();
-
+ if (cl->value() == 0)
+ {
+ qDebug("Content line could not be parsed. Discarded: %s" + QCString(it2.current()));
+ delete cl;
+ }
+ else
contentLineList_.append(cl);
}
///////////////////////////////////////////////////////////////
// LAST LINE
diff --git a/kabc/vcard/include/VCardDefines.h b/kabc/vcard/include/VCardDefines.h
index dd38ae2..557410f 100644
--- a/kabc/vcard/include/VCardDefines.h
+++ b/kabc/vcard/include/VCardDefines.h
@@ -24,13 +24,14 @@
#ifndef VCARD_DEFINES_H
#define VCARD_DEFINES_H
#include <kdebug.h>
#ifdef VCARD_DEBUG
-#define vDebug(a) kdDebug(5710) << a << endl;
+//US #define vDebug(a) kdDebug(5710) << a << endl;
+#define vDebug(a) qDebug(a);
#else
#define vDebug(a)
#endif
#if 0
#ifndef NDEBUG