]> diplodocus.org Git - nmh/blobdiff - uip/new.c
picksbr.c: fprintf function pointer with unsigned-long-long cast.
[nmh] / uip / new.c
index 134f88ed9d821affa8bde1ea5070a75c9b9a939b..080f065f1c19753fa589232bb3392a0e6fd0bc14 100644 (file)
--- a/uip/new.c
+++ b/uip/new.c
@@ -14,6 +14,8 @@
 #include <h/mh.h>
 #include <h/crawl_folders.h>
 #include <h/utils.h>
+#include "../sbr/lock_file.h"
+#include "../sbr/m_maildir.h"
 
 #define NEW_SWITCHES \
     X("mode", 1, MODESW) \
@@ -96,11 +98,11 @@ get_msgnums(char *folder, char *sequences[])
     char *seqfile = NULL;
     FILE *fp;
     int state;
-    char name[NAMESZ], field[BUFSIZ];
+    char name[NAMESZ], field[NMH_BUFSIZ];
     char *cp;
     char *msgnums = NULL, *this_msgnums, *old_msgnums;
     int failed_to_lock = 0;
-    m_getfld_state_t gstate = 0;
+    m_getfld_state_t gstate;
 
     /* copied from seq_read.c:seq_public */
     /*
@@ -118,26 +120,24 @@ get_msgnums(char *folder, char *sequences[])
        return NULL;
 
     if ((fp = lkfopendata (seqfile, "r", & failed_to_lock)) == NULL) {
-
-       if (failed_to_lock) {
+       if (failed_to_lock)
            adios (seqfile, "failed to lock");
-       } else {
-           free(seqfile);
-           return NULL;
-       }
+        free(seqfile);
+        return NULL;
     }
 
-    /* Use m_getfld to scan sequence file */
+    /* Use m_getfld2 to scan sequence file */
+    gstate = m_getfld_state_init(fp);
     for (;;) {
        int fieldsz = sizeof field;
-       switch (state = m_getfld (&gstate, name, field, &fieldsz, fp)) {
+       switch (state = m_getfld2(&gstate, name, field, &fieldsz)) {
             case FLD:
             case FLDPLUS:
                 if (state == FLDPLUS) {
                     cp = getcpy (field);
                     while (state == FLDPLUS) {
                        fieldsz = sizeof field;
-                       state = m_getfld (&gstate, name, field, &fieldsz, fp);
+                       state = m_getfld2(&gstate, name, field, &fieldsz);
                         cp = add (field, cp);
                     }
 
@@ -176,7 +176,7 @@ get_msgnums(char *folder, char *sequences[])
 
             case BODY:
                 adios (NULL, "no blank lines are permitted in %s", seqfile);
-               /* FALLTHRU */
+                break;
 
             case FILEEOF:
                 break;