]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
Simply close socket if error in transmission
authormmj <none@none>
Wed, 2 Jun 2004 21:52:48 +0000 (07:52 +1000)
committermmj <none@none>
Wed, 2 Jun 2004 21:52:48 +0000 (07:52 +1000)
src/mlmmj-send.c

index d8dd2f7710b753147b5826c603ffe914cd0e1f65..70c4c5bcf83f56f26be391113e03a55edfce4878 100644 (file)
@@ -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);