summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2003-05-24 02:07:21 (UTC)
committer llornkcor <llornkcor>2003-05-24 02:07:21 (UTC)
commit694ff39fe4f0f4164edd7a2a80abe6be3a4fa2f9 (patch) (side-by-side diff)
tree6c3f2a5837e32adf2755de4f90d3590d585f1a96
parent62d2ddfb5cd77e2637cdf7fe16d76aac04975984 (diff)
downloadopie-694ff39fe4f0f4164edd7a2a80abe6be3a4fa2f9.zip
opie-694ff39fe4f0f4164edd7a2a80abe6be3a4fa2f9.tar.gz
opie-694ff39fe4f0f4164edd7a2a80abe6be3a4fa2f9.tar.bz2
fix for a few crashes. one being stack overwrite. please test before I commit to 0_99
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mailit/emailclient.cpp8
-rw-r--r--noncore/net/mailit/emailhandler.cpp8
-rw-r--r--noncore/net/mailit/mailitwindow.cpp22
-rw-r--r--noncore/unsupported/mailit/emailclient.cpp8
-rw-r--r--noncore/unsupported/mailit/emailhandler.cpp8
-rw-r--r--noncore/unsupported/mailit/mailitwindow.cpp22
6 files changed, 42 insertions, 34 deletions
diff --git a/noncore/net/mailit/emailclient.cpp b/noncore/net/mailit/emailclient.cpp
index 2102ba7..da1226c 100644
--- a/noncore/net/mailit/emailclient.cpp
+++ b/noncore/net/mailit/emailclient.cpp
@@ -460,28 +460,28 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
mailPtr = item->getMail();
if (mailPtr->id == newMail.id) {
item->setMail(newMail);
emit mailUpdated(item->getMail());
found = true;
}
item = (EmailListItem *) item->nextSibling();
}
}
if ((!found)||(fromDisk)) {
item = new EmailListItem(inboxView, newMail, TRUE);
}
- if (item->getMail()->files.count()>0)
- {
- item->setPixmap(0, Resource::loadPixmap("mailit/attach"));
- }
+// if (item->getMail()->files.count()>0)
+// {
+// item->setPixmap(0, Resource::loadPixmap("mailit/attach"));
+// }
/*if (!newMail.downloaded)
mailDownloadList.sizeInsert(newMail.serverId, newMail.size);*/
mailboxView->setCurrentTab(0);
}
void EmailClient::allMailArrived(int count)
{
// not previewing means all mailtransfer has been done
/*if (!previewingMail) {*/
if ( (allAccounts) && ( (currentAccount = accountList.next()) !=0 ) ) {
diff --git a/noncore/net/mailit/emailhandler.cpp b/noncore/net/mailit/emailhandler.cpp
index 59ccd90..39f693d 100644
--- a/noncore/net/mailit/emailhandler.cpp
+++ b/noncore/net/mailit/emailhandler.cpp
@@ -166,26 +166,28 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai
if (in.right(temp.length()) != temp) {
mail->rawMail += temp;
}
delimiter = lineShift + lineShift; // "\n\n" or "\r\n\r\n"
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] == '"') ) {
mail->from = mail->from.left(mail->from.length() - 1);
mail->from = mail->from.right(mail->from.length() - 1);
}
pos++;
mail->fromMail = p.getString(&pos, '>', false);
} else {
@@ -261,24 +263,25 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai
pos++;
boundary = p.getString(&pos, 'z', true);
if (boundary[0] == '"') {
boundary = boundary.left(boundary.length() - 1); //strip "
boundary = boundary.right(boundary.length() - 1); //strip "
}
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);
mimeHeader = body.left(pos);
mimeBody = body.right(body.length() - pos - delimiter.length());
TextParser bp(mimeHeader, lineShift);
contentType = "";
contentAttribute = "";
@@ -329,24 +332,25 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai
mail->body = mimeBody;
mail->bodyPlain = mimeBody;
}
if (contentAttribute == "HTML") {
mail->body = mimeBody;
}
}
}
} else {
mail->bodyPlain = body;
mail->body = body;
}
+ delete lp;
return TRUE;
}
bool EmailHandler::getEnclosure(Enclosure *ePtr)
{
QFile f(ePtr->path + ePtr->name);
char src[4];
char *destPtr;
QByteArray buffer;
uint bufCount, pos, decodedCount, size, x;
if (! f.open(IO_WriteOnly) ) {
diff --git a/noncore/net/mailit/mailitwindow.cpp b/noncore/net/mailit/mailitwindow.cpp
index a111241..f945a0f 100644
--- a/noncore/net/mailit/mailitwindow.cpp
+++ b/noncore/net/mailit/mailitwindow.cpp
@@ -113,43 +113,43 @@ void MailItWindow::showEmailClient()
setCaption( tr(currentCaption) );
}
void MailItWindow::viewMail(QListView *view, Email *mail)
{
viewingMail = TRUE;
emailClient->hide();
int result=0;
if ((mail->received)&&(!mail->downloaded))
{
- QMessageBox mb( tr("Mail not downloaded"),
+ QMessageBox mb( tr("Mail not downloaded"),
tr("The mail you have clicked \n"
- "has not been downloaded yet.\n "
- "Would you like to do it now ?"),
+ "has not been downloaded yet.\n "
+ "Would you like to do it now ?"),
QMessageBox::Information,
QMessageBox::Yes | QMessageBox::Default,
QMessageBox::No | QMessageBox::Escape,0 );
-
- result=mb.exec();
-
- if (result==QMessageBox::Yes)
- {
- emailClient->download(mail);
- }
+
+ result=mb.exec();
+
+ if (result==QMessageBox::Yes)
+ {
+ emailClient->download(mail);
+ }
}
readMail->update(view, mail);
views->raiseWidget(readMail);
- setCaption( tr( "Examine mail" ) );
+ setCaption( tr( "Read Mail" ) );
}
void MailItWindow::updateMailView(Email *mail)
{
if (viewingMail) {
readMail->mailUpdated(mail);
}
}
void MailItWindow::updateCaption(const QString &newCaption)
{
currentCaption = newCaption;
diff --git a/noncore/unsupported/mailit/emailclient.cpp b/noncore/unsupported/mailit/emailclient.cpp
index 2102ba7..da1226c 100644
--- a/noncore/unsupported/mailit/emailclient.cpp
+++ b/noncore/unsupported/mailit/emailclient.cpp
@@ -460,28 +460,28 @@ void EmailClient::mailArrived(const Email &mail, bool fromDisk)
mailPtr = item->getMail();
if (mailPtr->id == newMail.id) {
item->setMail(newMail);
emit mailUpdated(item->getMail());
found = true;
}
item = (EmailListItem *) item->nextSibling();
}
}
if ((!found)||(fromDisk)) {
item = new EmailListItem(inboxView, newMail, TRUE);
}
- if (item->getMail()->files.count()>0)
- {
- item->setPixmap(0, Resource::loadPixmap("mailit/attach"));
- }
+// if (item->getMail()->files.count()>0)
+// {
+// item->setPixmap(0, Resource::loadPixmap("mailit/attach"));
+// }
/*if (!newMail.downloaded)
mailDownloadList.sizeInsert(newMail.serverId, newMail.size);*/
mailboxView->setCurrentTab(0);
}
void EmailClient::allMailArrived(int count)
{
// not previewing means all mailtransfer has been done
/*if (!previewingMail) {*/
if ( (allAccounts) && ( (currentAccount = accountList.next()) !=0 ) ) {
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
@@ -166,26 +166,28 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai
if (in.right(temp.length()) != temp) {
mail->rawMail += temp;
}
delimiter = lineShift + lineShift; // "\n\n" or "\r\n\r\n"
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] == '"') ) {
mail->from = mail->from.left(mail->from.length() - 1);
mail->from = mail->from.right(mail->from.length() - 1);
}
pos++;
mail->fromMail = p.getString(&pos, '>', false);
} else {
@@ -261,24 +263,25 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai
pos++;
boundary = p.getString(&pos, 'z', true);
if (boundary[0] == '"') {
boundary = boundary.left(boundary.length() - 1); //strip "
boundary = boundary.right(boundary.length() - 1); //strip "
}
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);
mimeHeader = body.left(pos);
mimeBody = body.right(body.length() - pos - delimiter.length());
TextParser bp(mimeHeader, lineShift);
contentType = "";
contentAttribute = "";
@@ -329,24 +332,25 @@ bool EmailHandler::parse(const QString &in, const QString &lineShift, Email *mai
mail->body = mimeBody;
mail->bodyPlain = mimeBody;
}
if (contentAttribute == "HTML") {
mail->body = mimeBody;
}
}
}
} else {
mail->bodyPlain = body;
mail->body = body;
}
+ delete lp;
return TRUE;
}
bool EmailHandler::getEnclosure(Enclosure *ePtr)
{
QFile f(ePtr->path + ePtr->name);
char src[4];
char *destPtr;
QByteArray buffer;
uint bufCount, pos, decodedCount, size, x;
if (! f.open(IO_WriteOnly) ) {
diff --git a/noncore/unsupported/mailit/mailitwindow.cpp b/noncore/unsupported/mailit/mailitwindow.cpp
index a111241..f945a0f 100644
--- a/noncore/unsupported/mailit/mailitwindow.cpp
+++ b/noncore/unsupported/mailit/mailitwindow.cpp
@@ -113,43 +113,43 @@ void MailItWindow::showEmailClient()
setCaption( tr(currentCaption) );
}
void MailItWindow::viewMail(QListView *view, Email *mail)
{
viewingMail = TRUE;
emailClient->hide();
int result=0;
if ((mail->received)&&(!mail->downloaded))
{
- QMessageBox mb( tr("Mail not downloaded"),
+ QMessageBox mb( tr("Mail not downloaded"),
tr("The mail you have clicked \n"
- "has not been downloaded yet.\n "
- "Would you like to do it now ?"),
+ "has not been downloaded yet.\n "
+ "Would you like to do it now ?"),
QMessageBox::Information,
QMessageBox::Yes | QMessageBox::Default,
QMessageBox::No | QMessageBox::Escape,0 );
-
- result=mb.exec();
-
- if (result==QMessageBox::Yes)
- {
- emailClient->download(mail);
- }
+
+ result=mb.exec();
+
+ if (result==QMessageBox::Yes)
+ {
+ emailClient->download(mail);
+ }
}
readMail->update(view, mail);
views->raiseWidget(readMail);
- setCaption( tr( "Examine mail" ) );
+ setCaption( tr( "Read Mail" ) );
}
void MailItWindow::updateMailView(Email *mail)
{
if (viewingMail) {
readMail->mailUpdated(mail);
}
}
void MailItWindow::updateCaption(const QString &newCaption)
{
currentCaption = newCaption;