From: mmj Date: Wed, 2 Jun 2004 21:52:48 +0000 (+1000) Subject: Simply close socket if error in transmission X-Git-Tag: RELEASE_1_0_0~175 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=614ee98bb27add1f30d9d66e6007377697a85ec9;p=thirdparty%2Fmlmmj.git Simply close socket if error in transmission --- diff --git a/src/mlmmj-send.c b/src/mlmmj-send.c index d8dd2f77..70c4c5bc 100644 --- a/src/mlmmj-send.c +++ b/src/mlmmj-send.c @@ -530,15 +530,19 @@ int main(int argc, char **argv) break; case '2': /* Moderators */ initsmtp(&sockfd, relayhost); - send_mail_many(sockfd, bounceaddr, NULL, mailfile, subfile, - NULL, NULL, listdir, NULL); - endsmtp(&sockfd); + if(send_mail_many(sockfd, bounceaddr, NULL, mailfile, subfile, + NULL, NULL, listdir, NULL)) + close(sockfd); + else + endsmtp(&sockfd); break; case '3': /* resending earlier failed mails */ initsmtp(&sockfd, relayhost); - send_mail_many(sockfd, NULL, NULL, mailfile, subfile, - listaddr, mailfilename, listdir, mlmmjbounce); - endsmtp(&sockfd); + if(send_mail_many(sockfd, NULL, NULL, mailfile, subfile, + listaddr, mailfilename, listdir, mlmmjbounce)) + close(sockfd); + else + endsmtp(&sockfd); unlink(subfilename); break; default: /* normal list mail */ @@ -568,10 +572,12 @@ int main(int argc, char **argv) free(subfilename); initsmtp(&sockfd, relayhost); - send_mail_many(sockfd, NULL, NULL, mailfile, subfile, + if(send_mail_many(sockfd, NULL, NULL, mailfile, subfile, listaddr, archivefilename, listdir, - mlmmjbounce); - endsmtp(&sockfd); + mlmmjbounce)) + close(sockfd); + else + endsmtp(&sockfd); fclose(subfile); } closedir(subddir);