return NULL;
/* Make sure quad is < 255 */
if ( (r-q) == 3)
+ {
if (*q > '2')
return NULL;
else if (*q == '2')
return NULL;
}
}
+ }
return r;
}
/* release the per-message output sink, whether it's a pipe or SMTP socket */
{
if (ctl->bsmtp && sinkfp)
- fclose(sinkfp);
+ {
+ if (strcmp(ctl->bsmtp, "-"))
+ {
+ fclose(sinkfp);
+ sinkfp = (FILE *)NULL;
+ }
+ }
else if (ctl->mda)
{
if (sinkfp)
fputs(".\r\n", sinkfp);
error = ferror(sinkfp);
if (strcmp(ctl->bsmtp, "-"))
+ {
if (fclose(sinkfp) == EOF) error = 1;
+ sinkfp = (FILE *)NULL;
+ }
if (error)
{
report(stderr,