]> diplodocus.org Git - nmh/blobdiff - sbr/m_getfld.c
sbr/mts.c: Make MMDF's delimeters fixed at compile time.
[nmh] / sbr / m_getfld.c
index 8d784889a7f02fc4be29bf27e7b40a5601916252..e500e24e61a8eb0481e46e8c3690ba9b8f0e25e8 100644 (file)
@@ -664,7 +664,7 @@ m_getfld (m_getfld_state_t *gstate, char name[NAMESZ], char *buf, int *bufsz,
            max = *bufsz-1;
            /* Back up and store the current position. */
            bp = --s->readpos;
-           c = s->end - s->readpos < max  ?  s->end - s->readpos  :  max;
+            c = min(s->end - s->readpos, max);
            if (s->msg_style != MS_DEFAULT && c > 1) {
                /*
                 * packed maildrop - only take up to the (possible)
@@ -823,16 +823,22 @@ m_unknown(m_getfld_state_t *gstate, FILE *iob)
     if (s->edelimlen <= 1)
        adios (NULL, "maildrop delimiter must be at least 2 bytes");
 
-    /* Now malloc'd memory at s->fdelim-1 referenced several times:
+    /* Now malloc'd memory at s->fdelim-1 is referenced several times,
+     * containing a copy of the string constant from delimstr.
      *
-     *     delimstr         "\nFrom "      "\001\001\001\001\n"
-     *     c                6              5
-     *     s->fdelim      \0"\n\nFrom "  \0"\n\001\001\001\001\n"
-     *     s->fdelimlen     6              5
-     *     s->msg_delim     "\nFrom "      "\001\001\001\001\n"
-     *     s->edelim        "From "        "\001\001\001\n"
-     *     s->edelimlen     5              4
-     *     s->delimend      " "            "\n"
+     *     "\nFrom \0"   7                  "\001\001\001\001\n\0"  6
+     *       |                                  |
+     *       delimstr   c=6                     delimstr   c=5
+     *
+     *     "\0\n\nFrom \0"   9              "\0\n\001\001\001\001\n\0"   8
+     *         | ||   |                         |   |   |         |
+     *         | ||   s->delimend               |   |   |         s->delimend
+     *         | ||                             |   |   |
+     *         | |s->edelim  s->edelimlen=5     |   |   s->edelim  s->edelimlen=4
+     *         | |                              |   |
+     *         | s->msg_delim                   |   s->msg_delim
+     *         |                                |
+     *         s->fdelim  s->fdelimlen=7        s->fdelim  s->fdelimlen=6
      */
 
     /*