-rw-r--r-- | kabc/vcard/ContentLine.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kabc/vcard/ContentLine.cpp b/kabc/vcard/ContentLine.cpp index 2f88cde..0a2f97d 100644 --- a/kabc/vcard/ContentLine.cpp +++ b/kabc/vcard/ContentLine.cpp @@ -156,18 +156,23 @@ ContentLine::~ContentLine() value_ = 0; } void ContentLine::_parse() { vDebug("parse"); + // Unfold folded lines + // NLR + strRep_ = strRep_.replace( QRegExp( "\\r" ), "" ); // Unqote newlines strRep_ = strRep_.replace( QRegExp( "\\\\n" ), "\n" ); + //NLR + strRep_ = strRep_.replace( QRegExp( "\\\\r" ), "\r" ); int split = strRep_.find(':'); if (split == -1) { // invalid content line vDebug("No ':'"); return; } @@ -280,16 +285,17 @@ ContentLine::_assemble() line += name_; ParamListIterator it(paramList_); for (; it.current(); ++it) line += ";" + it.current()->asString(); if (value_ != 0) line += ":" + value_->asString(); + line = line.replace( QRegExp( "\r" ), "\\r" ); line = line.replace( QRegExp( "\n" ), "\\n" ); // Fold lines longer than 72 chars const int maxLen = 72; uint cursor = 0; QString cut; while( line.length() > ( cursor + 1 ) * maxLen ) { cut += line.mid( cursor * maxLen, maxLen ); |