]> diplodocus.org Git - nmh/blobdiff - sbr/seq_list.c
Removed a local variable from m_Eom().
[nmh] / sbr / seq_list.c
index 8a440691a417eaca0eea716d1c569d92b9a430c4..c456428108faa6aa338200a9ac3d40aa67cb20b7 100644 (file)
@@ -1,16 +1,13 @@
-
-/*
- * seq_list.c -- Get all messages in a sequence and return them
+/* seq_list.c -- Get all messages in a sequence and return them
  *            -- as a space separated list of message ranges.
  *
- * $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 <h/utils.h>
 
 /* allocate this much buffer space at a time */
 #define MAXBUFFER 1024
@@ -29,8 +26,7 @@ seq_list(struct msgs *mp, char *seqname)
     /* On first invocation, allocate initial buffer space */
     if (!buffer) {
        len = MAXBUFFER;
-       if (!(buffer = malloc ((size_t) len)))
-           adios (NULL, "unable to malloc storage in seq_list");
+       buffer = mh_xmalloc ((size_t) len);
     }
 
     /*
@@ -41,10 +37,10 @@ seq_list(struct msgs *mp, char *seqname)
      */
     if (!strcmp (current, seqname)) {
        if (mp->curmsg) {       
-           sprintf(buffer, "%s", m_name(mp->curmsg));
+           snprintf(buffer, len, "%s", m_name(mp->curmsg));
            return (buffer);
-       } else
-           return (NULL);
+       }
+        return (NULL);
     }
 
     /* If the folder is empty, just return NULL */
@@ -75,8 +71,7 @@ seq_list(struct msgs *mp, char *seqname)
            char *newbuf;
 
            len += MAXBUFFER;
-           if (!(newbuf = realloc (buffer, (size_t) len)))
-               adios (NULL, "unable to realloc storage in seq_list");
+           newbuf = mh_xrealloc (buffer, (size_t) len);
            bp = newbuf + (bp - buffer);
            buffer = newbuf;
        }
@@ -88,7 +83,7 @@ seq_list(struct msgs *mp, char *seqname)
        if (bp > buffer)
            *bp++ = ' ';
 
-       sprintf(bp, "%s", m_name(i));
+       strcpy(bp, m_name(i));
        bp += strlen(bp);
        j = i;                  /* Remember beginning of message range */
 
@@ -100,7 +95,8 @@ seq_list(struct msgs *mp, char *seqname)
            ;
 
        if (i - j > 1) {
-           sprintf(bp, "-%s", m_name(i - 1));
+            *bp++ = '-';
+           strcpy(bp, m_name(i - 1));
            bp += strlen(bp);
        }
     }