Diffstat (limited to 'noncore/unsupported/mailit/emailhandler.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/unsupported/mailit/emailhandler.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/noncore/unsupported/mailit/emailhandler.cpp b/noncore/unsupported/mailit/emailhandler.cpp index 59ccd90..39f693d 100644 --- a/noncore/unsupported/mailit/emailhandler.cpp +++ b/noncore/unsupported/mailit/emailhandler.cpp @@ -172,14 +172,16 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai pos = in.find(delimiter, 0, FALSE); header = in.left(pos); body = in.right(in.length() - pos - delimiter.length()); if ((body.at(body.length()-2) == '.') && (body.at(body.length()-3) == '\n')) body.truncate(body.length()-2); - TextParser p(header, lineShift); - + // TextParser p(header, lineShift); + TextParser * lp = new TextParser(header, lineShift); +#define p (*lp) + if ((pos = p.find("FROM",':', 0, TRUE)) != -1) { pos++; if (p.separatorAt(pos) == ' ') { mail->from = p.getString(&pos, '<', false); mail->from = mail->from.stripWhiteSpace(); if ( (mail->from.length() > 2) && (mail->from[0] == '"') ) { @@ -267,12 +269,13 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai boundary = "--" + boundary; //create boundary field } if (boundary == "") { //fooled by Mime-Version mail->body = body; mail->bodyPlain = body; + delete lp; return mail; } while (body.length() > 0) { pos = body.find(boundary, 0, FALSE); pos = body.find(delimiter, pos, FALSE); @@ -335,12 +338,13 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai } } } else { mail->bodyPlain = body; mail->body = body; } + delete lp; return TRUE; } bool EmailHandler::getEnclosure(Enclosure *ePtr) { QFile f(ePtr->path + ePtr->name); |