summaryrefslogtreecommitdiffabout
path: root/kabc/vcard/VCardEntity.cpp
authorulf69 <ulf69>2004-08-19 23:29:05 (UTC)
committer ulf69 <ulf69>2004-08-19 23:29:05 (UTC)
commitd81fbb0a720ba6eb0fbfa1d1eb0748877237a27e (patch) (side-by-side diff)
tree9b723a5c4f7da306036495e35d1863fbee646984 /kabc/vcard/VCardEntity.cpp
parentd9b7a7296b031b3cf3e510a163367b9c4ab42d7a (diff)
downloadkdepimpi-d81fbb0a720ba6eb0fbfa1d1eb0748877237a27e.zip
kdepimpi-d81fbb0a720ba6eb0fbfa1d1eb0748877237a27e.tar.gz
kdepimpi-d81fbb0a720ba6eb0fbfa1d1eb0748877237a27e.tar.bz2
bugfix: memoryleak in vCards during loading of addressbooks
Diffstat (limited to 'kabc/vcard/VCardEntity.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/vcard/VCardEntity.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/kabc/vcard/VCardEntity.cpp b/kabc/vcard/VCardEntity.cpp
index 0c21e2f..0cd2086 100644
--- a/kabc/vcard/VCardEntity.cpp
+++ b/kabc/vcard/VCardEntity.cpp
@@ -3,5 +3,5 @@
Copyright (C) 1998 Rik Hemsley rik@kde.org
-
+
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -32,4 +32,5 @@ VCardEntity::VCardEntity()
: Entity()
{
+ cardList_.setAutoDelete( TRUE );
}
@@ -37,4 +38,5 @@ VCardEntity::VCardEntity(const VCardEntity & x)
: Entity(x)
{
+ cardList_.setAutoDelete( TRUE );
}
@@ -42,4 +44,5 @@ VCardEntity::VCardEntity(const QCString & s)
: Entity(s)
{
+ cardList_.setAutoDelete( TRUE );
}
@@ -76,19 +79,19 @@ VCardEntity::_parse()
vDebug("parse");
QCString s(strRep_);
-
+
int i = s.find(QRegExp("BEGIN:VCARD", false));
-
+
while (i != -1) {
-
+
i = s.find(QRegExp("BEGIN:VCARD", false), 11);
-
+
QCString cardStr(s.left(i));
-
+
VCard * v = new VCard(cardStr);
-
+
cardList_.append(v);
-
+
v->parse();
-
+
s.remove(0, i);
}
@@ -99,5 +102,5 @@ VCardEntity::_assemble()
{
VCardListIterator it(cardList_);
-
+
for (; it.current(); ++it)
strRep_ += it.current()->asString() + "\r\n"; // One CRLF for luck.