void close_warning_by_mail(struct query *, struct msgblk *);
/* rfc822.c: RFC822 header parsing */
-unsigned char *reply_hack(unsigned char *, const unsigned char *);
+unsigned char *reply_hack(unsigned char *, const unsigned char *, int *);
unsigned char *nxtaddr(const unsigned char *);
/* uid.c: UID support */
| SET NO SYSLOG {run.use_syslog = FALSE;}
| SET INVISIBLE {run.invisible = TRUE;}
| SET NO INVISIBLE {run.invisible = FALSE;}
- | SET SHOWDOTS {run.showdots = TRUE;}
- | SET NO SHOWDOTS {run.showdots = FALSE;}
+ | SET SHOWDOTS {run.showdots = FLAG_TRUE;}
+ | SET NO SHOWDOTS {run.showdots = FLAG_FALSE;}
/*
* The way the next two productions are written depends on the fact that
*/
if ( n && buf[n-1] != '\n' ) {
overlong = TRUE;
- rline = (char *) realloc(line, linelen);
+ rline = (char *) realloc(line, linelen + 1);
if (rline == NULL)
{
free (line);
}
line = rline;
memcpy(line + linelen - n, buf, n);
+ line[linelen] = '\0';
ch = ' '; /* So the next iteration starts */
continue;
}
sizeticker += linelen;
while (sizeticker >= SIZETICKER)
{
- if ((!run.use_syslog && !isafile(1)) || run.showdots)
+ if (outlevel > O_SILENT && run.showdots)
{
fputc('.', stdout);
fflush(stdout);
}
if (ctl->rewrite)
- line = reply_hack(line, ctl->server.truename);
+ line = reply_hack(line, ctl->server.truename, &linelen);
/*
* OK, this is messy. If we're forwarding by SMTP, it's the
sizeticker += linelen;
while (sizeticker >= SIZETICKER)
{
- if (outlevel > O_SILENT && (((run.poll_interval == 0 || nodetach) && !isafile(1)) || run.showdots))
+ if (outlevel > O_SILENT && run.showdots)
{
fputc('.', stdout);
fflush(stdout);