From 551a0bb353c7ffff4b307956a7cc7a023bf36863 Mon Sep 17 00:00:00 2001 From: ulf69 Date: Tue, 28 Sep 2004 21:32:21 +0000 Subject: fixed a potential crash when loading adresses from any adressbook file. --- 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 @@ -66,7 +66,10 @@ using namespace VCARD; ContentLine::ContentLine() : Entity(), - value_(0) + value_(0), + paramType_( ParamUnknown ), + valueType_( ValueUnknown ), + entityType_( EntityUnknown ) { paramList_.setAutoDelete( TRUE ); } @@ -97,7 +100,10 @@ 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 ); } 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 @@ -188,13 +188,17 @@ VCard::_parse() 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); } /////////////////////////////////////////////////////////////// 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 @@ -27,7 +27,8 @@ #include #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 diff --git a/kabc/vcardformatimpl.cpp b/kabc/vcardformatimpl.cpp index 2d6eb3d..1bf2cde 100644 --- a/kabc/vcardformatimpl.cpp +++ b/kabc/vcardformatimpl.cpp @@ -261,6 +261,7 @@ bool VCardFormatImpl::loadAddressee( Addressee& addressee, VCard *v ) default: kdDebug(5700) << "VCardFormat::load(): Unsupported entity: " << int( type ) << ": " << cl->asString() << endl; + qDebug("VCardFormat::load(): Unsupported entity: %i: %s ", int(type), (const char*)cl->asString()); break; } } @@ -639,6 +640,7 @@ QString VCardFormatImpl::readTextValue( ContentLine *cl ) return QString::fromUtf8( value->asString() ); } else { kdDebug(5700) << "No value: " << cl->asString() << endl; + qDebug("No value: %s", (const char*)(cl->asString())); return QString::null; } } -- cgit v0.9.0.2