Fix compiler warnings from ignored write return values

pull/1/head
Timothy Pearson 9 years ago
parent c51a15f04a
commit 70bb9dde2a

@ -128,20 +128,22 @@ void SMTP::closeConnection(void)
void SMTP::sendMessage(void) void SMTP::sendMessage(void)
{ {
if(!connected) if(!connected)
connectTimerTick(); connectTimerTick();
if(state == FINISHED && connected){ if(state == FINISHED && connected){
kdDebug() << "state was == FINISHED\n" << endl; kdDebug() << "state was == FINISHED\n" << endl;
finished = false; finished = false;
state = IN; state = IN;
writeString = TQString::fromLatin1("helo %1\r\n").arg(domainName); writeString = TQString::fromLatin1("helo %1\r\n").arg(domainName);
write(sock->socket(), writeString.ascii(), writeString.length()); if (write(sock->socket(), writeString.ascii(), writeString.length()) < 0) {
} // Error
if(connected){ }
kdDebug() << "enabling read on sock...\n" << endl; }
interactTimer.start(timeOut, true); if(connected){
sock->enableRead(true); kdDebug() << "enabling read on sock...\n" << endl;
} interactTimer.start(timeOut, true);
sock->enableRead(true);
}
} }
#include <stdio.h> #include <stdio.h>
@ -246,91 +248,121 @@ void SMTP::socketClose(TDESocket *socket)
void SMTP::processLine(TQString *line) void SMTP::processLine(TQString *line)
{ {
int i, stat; int i, stat;
TQString tmpstr; TQString tmpstr;
i = line->find(' '); i = line->find(' ');
tmpstr = line->left(i); tmpstr = line->left(i);
if(i > 3) if(i > 3)
kdDebug() << "warning: SMTP status code longer then 3 digits: " << tmpstr << endl; kdDebug() << "warning: SMTP status code longer then 3 digits: " << tmpstr << endl;
stat = tmpstr.toInt(); stat = tmpstr.toInt();
serverState = (SMTPServerStatus)stat; serverState = (SMTPServerStatus)stat;
lastState = state; lastState = state;
kdDebug() << "smtp state: [" << stat << "][" << *line << "]" << endl; kdDebug() << "smtp state: [" << stat << "][" << *line << "]" << endl;
switch(stat){ switch(stat){
case GREET: //220 case GREET: //220
state = IN; state = IN;
writeString = TQString::fromLatin1("helo %1\r\n").arg(domainName); writeString = TQString::fromLatin1("helo %1\r\n").arg(domainName);
kdDebug() << "out: " << writeString << endl; kdDebug() << "out: " << writeString << endl;
write(sock->socket(), writeString.ascii(), writeString.length()); if (write(sock->socket(), writeString.ascii(), writeString.length()) < 0) {
break; // Error
case GOODBYE: //221 state = CERROR;
state = QUIT; kdDebug() << "smtp error (write failed)" << endl;
break; socketClose(sock);
case SUCCESSFUL://250 emit error(COMMAND);
switch(state){ }
case IN: break;
state = READY; case GOODBYE: //221
writeString = TQString::fromLatin1("mail from: %1\r\n").arg(senderAddress); state = QUIT;
kdDebug() << "out: " << writeString << endl; break;
write(sock->socket(), writeString.ascii(), writeString.length()); case SUCCESSFUL://250
break; switch(state) {
case READY: case IN:
state = SENTFROM; state = READY;
writeString = TQString::fromLatin1("rcpt to: %1\r\n").arg(recipientAddress); writeString = TQString::fromLatin1("mail from: %1\r\n").arg(senderAddress);
kdDebug() << "out: " << writeString << endl; kdDebug() << "out: " << writeString << endl;
write(sock->socket(), writeString.ascii(), writeString.length()); if (write(sock->socket(), writeString.ascii(), writeString.length()) < 0) {
break; // Error
case SENTFROM: state = CERROR;
state = SENTTO; kdDebug() << "smtp error (write failed)" << endl;
writeString = TQString::fromLatin1("data\r\n"); socketClose(sock);
kdDebug() << "out: " << writeString << endl; emit error(COMMAND);
write(sock->socket(), writeString.ascii(), writeString.length()); }
break; break;
case DATA: case READY:
state = FINISHED; state = SENTFROM;
finished = true; writeString = TQString::fromLatin1("rcpt to: %1\r\n").arg(recipientAddress);
sock->enableRead(false); kdDebug() << "out: " << writeString << endl;
emit messageSent(); if (write(sock->socket(), writeString.ascii(), writeString.length()) < 0) {
break; // Error
default: state = CERROR;
state = CERROR; kdDebug() << "smtp error (write failed)" << endl;
kdDebug() << "smtp error (state error): [" << lastState << "]:[" << stat << "][" << *line << "]" << endl; socketClose(sock);
socketClose(sock); emit error(COMMAND);
emit error(COMMAND); }
break; break;
} case SENTFROM:
break; state = SENTTO;
case READYDATA: //354 writeString = TQString::fromLatin1("data\r\n");
state = DATA; kdDebug() << "out: " << writeString << endl;
writeString = TQString::fromLatin1("Subject: %1\r\n").arg(messageSubject); if (write(sock->socket(), writeString.ascii(), writeString.length()) < 0) {
writeString += messageHeader; // Error
writeString += "\r\n"; state = CERROR;
writeString += messageBody; kdDebug() << "smtp error (write failed)" << endl;
writeString += TQString::fromLatin1(".\r\n"); socketClose(sock);
kdDebug() << "out: " << writeString; emit error(COMMAND);
write(sock->socket(), writeString.ascii(), writeString.length()); }
break; break;
case ERROR: //501 case DATA:
state = CERROR; state = FINISHED;
kdDebug() << "smtp error (command error): [" << lastState << "]:[" << stat << "][" << *line << "]\n" << endl; finished = true;
socketClose(sock); sock->enableRead(false);
emit error(COMMAND); emit messageSent();
break; break;
case UNKNOWN: //550 default:
state = CERROR; state = CERROR;
kdDebug() << "smtp error (unknown user): [" << lastState << "]:[" << stat << "][" << *line << "]" << endl; kdDebug() << "smtp error (state error): [" << lastState << "]:[" << stat << "][" << *line << "]" << endl;
socketClose(sock); socketClose(sock);
emit error(UNKNOWNUSER); emit error(COMMAND);
break; break;
default: }
state = CERROR; break;
kdDebug() << "unknown response: [" << lastState << "]:[" << stat << "][" << *line << "]" << endl; case READYDATA: //354
socketClose(sock); state = DATA;
emit error(UNKNOWNRESPONSE); writeString = TQString::fromLatin1("Subject: %1\r\n").arg(messageSubject);
} writeString += messageHeader;
writeString += "\r\n";
writeString += messageBody;
writeString += TQString::fromLatin1(".\r\n");
kdDebug() << "out: " << writeString;
if (write(sock->socket(), writeString.ascii(), writeString.length()) < 0) {
// Error
state = CERROR;
kdDebug() << "smtp error (write failed)" << endl;
socketClose(sock);
emit error(COMMAND);
}
break;
case ERROR: //501
state = CERROR;
kdDebug() << "smtp error (command error): [" << lastState << "]:[" << stat << "][" << *line << "]\n" << endl;
socketClose(sock);
emit error(COMMAND);
break;
case UNKNOWN: //550
state = CERROR;
kdDebug() << "smtp error (unknown user): [" << lastState << "]:[" << stat << "][" << *line << "]" << endl;
socketClose(sock);
emit error(UNKNOWNUSER);
break;
default:
state = CERROR;
kdDebug() << "unknown response: [" << lastState << "]:[" << stat << "][" << *line << "]" << endl;
socketClose(sock);
emit error(UNKNOWNRESPONSE);
}
} }
#include "smtp.moc" #include "smtp.moc"

Loading…
Cancel
Save