$OpenBSD: patch-bulk_mailer_c,v 1.3 2010/06/30 01:55:08 kevlo Exp $ --- bulk_mailer.c.orig Thu May 25 03:34:33 2000 +++ bulk_mailer.c Tue Jun 29 14:23:23 2010 @@ -95,6 +95,8 @@ #include <sysexits.h> #include <errno.h> #include <time.h> +#include <stdlib.h> +#include <unistd.h> #ifdef HAVE_STRING_H #include <string.h> #endif @@ -122,9 +124,6 @@ char *strdup(); char *strchr(); char *strrchr(); #endif -char *malloc (); -char *realloc (); -char *mktemp (); /* * (default) max different domains per envelope. @@ -292,23 +291,6 @@ char *str; /* - * copy the first 'len' characters of a string into malloc'ed - * memory, appending a NUL to the copy. - */ - -static char * -strndup (str, len) -char *str; -int len; -{ - char *result = malloc_or_else (len + 1); - - strncpy (result, str, len); - result[len] = '\0'; - return result; -} - -/* * sort by case-folded reversed domain */ @@ -337,15 +319,15 @@ char *addr; { char *at; char *ptr; - char *domain; + /* char *domain; */ char tempbuf[1024]; - char c; + /* char c; */ /* * make sure there's room in the buffer. */ if (num_addrs >= num_addr_slots) { - struct address *new; + /* struct address *new; */ num_addr_slots += 1000; if (address_list == NULL) @@ -353,7 +335,7 @@ char *addr; malloc_or_else (num_addr_slots * sizeof (struct address)); else address_list = (struct address *) - realloc_or_else (address_list, + realloc_or_else ((char *) address_list, num_addr_slots * sizeof (struct address)); } @@ -985,7 +967,7 @@ static int copy_message (out, in) FILE *out, *in; { - int c; + /* int c; */ char linebuf[32*1024]; int has_valid_approved_hdr = 0; int has_resent_to_hdr = 0; @@ -1218,14 +1200,14 @@ FILE *out, *in; */ lines = 0; while (fgets (linebuf, sizeof (linebuf), in) != NULL) { - if (lines < 5 && + if (lines < 5 && ( /* * these often occur in English-text unsubscribe requests */ contains (linebuf, "delete me") || contains (linebuf, "remove me") || contains (linebuf, "subscribe") || - contains (linebuf, "unsubscribe")) + contains (linebuf, "unsubscribe"))) saw_command = 1; ++lines; fputs (linebuf, out); @@ -1326,13 +1308,13 @@ main (argc, argv) int argc; char *argv[]; { - int i; + /* int i; */ FILE *fp; FILE *tmp; static char template[] = "/tmp/blkXXXXXX"; char *tempname; - int c; - char buf[1024]; + /* int c; */ + /* char buf[1024]; */ while (argc > 1 && (*argv[1] == '-' || *argv[1] == '+')) { if (strcmp (argv[1], "-comment") == 0 && argc > 2) { @@ -1513,8 +1495,8 @@ char *argv[]; exit (EX_OSFILE); } - tempname = mktemp (template); - tmp = fopen (template, "w"); + tmp = fdopen (mkstemp(template), "w"); + tempname = strdup(template); switch (copy_message (tmp, stdin)) { case HAS_EMBEDDED_COMMAND: @@ -1592,4 +1574,5 @@ char *argv[]; exit (EX_OK); } + exit (EX_OK); }