diff options
Diffstat (limited to 'sqmail-4.3.07/src/printmaillist.c')
-rw-r--r-- | sqmail-4.3.07/src/printmaillist.c | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/sqmail-4.3.07/src/printmaillist.c b/sqmail-4.3.07/src/printmaillist.c deleted file mode 100644 index 6edb3b3..0000000 --- a/sqmail-4.3.07/src/printmaillist.c +++ /dev/null @@ -1,53 +0,0 @@ -#include <unistd.h> -#include "buffer.h" -#include "logmsg.h" -#include "stralloc.h" -#include "getln.h" -#include "str.h" - -#define WHO "printmaillist" - -void badformat() -{ - logmsg(WHO,100,FATAL,"bad mailing list format"); -} - -stralloc line = {0}; -int match; - -int main() -{ - for (;;) { - if (getln(buffer_1small,&line,&match,'\0') == -1) - logmsg(WHO,111,FATAL,"unable to read input: "); - if (!match) { - if (line.len) - badformat(); - if (buffer_flush(buffer_1small) == -1) - logmsg(WHO,111,FATAL,"unable to write output: "); - _exit(0); - } - - if (line.s[str_chr(line.s,'\n')]) badformat(); - if (line.s[line.len - 1] == ' ') badformat(); - if (line.s[line.len - 1] == '\t') badformat(); - - if ((line.s[0] == '.') || (line.s[0] == '/')) { - if (buffer_puts(buffer_1small,line.s) == -1) - logmsg(WHO,111,FATAL,"unable to write output: "); - if (buffer_puts(buffer_1small,"\n") == -1) - logmsg(WHO,111,FATAL,"unable to write output: "); - continue; - } - if (line.s[0] == '&') { - if (line.len > 900) badformat(); - if (buffer_puts(buffer_1small,line.s) == -1) - logmsg(WHO,111,FATAL,"unable to write output: "); - if (buffer_puts(buffer_1small,"\n") == -1) - logmsg(WHO,111,FATAL,"unable to write output: "); - continue; - } - - badformat(); - } -} |