Fixed corner case in libcarddav; error occured while saving when UID was broken across multiple lines and/or included whitespace

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1178442 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
v3.5.13-sru
tpearson 15 years ago
parent d8c5485f25
commit 57cf682583

@ -739,6 +739,15 @@ TQString ResourceCalDav::getICalString(const Incidence::List& inc) {
}
data = data + footer;
// Remove any line feeds/carriage returns/white spaces from the UID field as they WILL break libcaldav
int uidPos = data.find("UID:", 0) + 4;
int nextPos = data.findRev("\n", data.find(":", uidPos));
TQString uidField = data.mid(uidPos, nextPos-uidPos);
data.remove(uidPos, nextPos-uidPos);
uidField.replace("\n", "");
uidField.replace("\r", "");
uidField.replace(" ", "");
data.insert(uidPos, uidField);
return data;
}

Loading…
Cancel
Save