Bug #20028 (Debian bug 399271): fix code assuming that pointer
[mmh] / sbr / m_getfld.c
index a667be8..59b8682 100644 (file)
@@ -3,10 +3,15 @@
  * m_getfld.c -- read/parse a message
  *
  * $Id$
+ *
+ * This code is Copyright (c) 2002, by the authors of nmh.  See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
  */
 
 #include <h/mh.h>
-#include <zotnet/mts/mts.h>
+#include <h/mts.h>
+#include <h/utils.h>
 
 /* This module has a long and checkered history.  First, it didn't burst
    maildrops correctly because it considered two CTRL-A:s in a row to be
@@ -178,7 +183,7 @@ static int fdelimlen;
 static unsigned char *edelim;
 static int edelimlen;
 
-static int (*eom_action)() = NULL;
+static int (*eom_action)(int) = NULL;
 
 #ifdef _FSTDIO
 # define _ptr    _p            /* Gag   */
@@ -558,7 +563,7 @@ m_unknown(FILE *iob)
        msg_style = MS_MMDF;
     }
     c = strlen (delimstr);
-    fdelim = (unsigned char *) malloc((size_t) (c + 3));
+    fdelim = (unsigned char *) mh_xmalloc((size_t) (c + 3));
     *fdelim++ = '\0';
     *fdelim = '\n';
     msg_delim = (char *)fdelim+1;
@@ -591,7 +596,7 @@ m_unknown(FILE *iob)
 
 
 void
-m_eomsbr (int (*action)())
+m_eomsbr (int (*action)(int))
 {
     if ((eom_action = action)) {
        msg_style = MS_MSH;
@@ -695,10 +700,10 @@ get_returnpath (char *rp, int rplen, char *dd, int ddlen)
     if (cp) {
        /* return path for UUCP style addressing */
        dp = strchr (++cp, '\n');
-       snprintf (rp, rplen, "%.*s!%.*s\n", dp - cp, cp, bp - ap, ap);
+       snprintf (rp, rplen, "%.*s!%.*s\n", (int)(dp - cp), cp, (int)(bp - ap), ap);
     } else {
        /* return path for standard domain addressing */
-       snprintf (rp, rplen, "%.*s\n", bp - ap, ap);
+       snprintf (rp, rplen, "%.*s\n", (int)(bp - ap), ap);
     }
 
     /*