]> diplodocus.org Git - nmh/blobdiff - uip/scan.c
lock_file.c: close(2) file descriptor on failure, avoiding leak.
[nmh] / uip / scan.c
index 8ba503670ba819e58c6e70fe45fad4fcc4906cbf..b0c64f1ca0393aab28bde471f7482bd991d805a3 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * scan.c -- display a one-line "scan" listing of folder or messages
+/* scan.c -- display a one-line "scan" listing of folder or messages
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
@@ -13,6 +11,8 @@
 #include <h/tws.h>
 #include <h/mts.h>
 #include <h/utils.h>
+#include "sbr/m_maildir.h"
+#include "sbr/terminal.h"
 
 #define SCAN_SWITCHES \
     X("clear", 0, CLRSW) \
@@ -41,7 +41,7 @@ int
 main (int argc, char **argv)
 {
     int clearflag = 0, hdrflag = 0, ontty;
-    int width = 0, revflag = 0;
+    int width = -1, revflag = 0;
     int i, state, msgnum;
     ivector_t seqnum = ivector_create (0);
     int unseen, num_unseen_seq = 0;
@@ -54,7 +54,7 @@ main (int argc, char **argv)
 
     if (nmh_init(argv[0], 1)) { return 1; }
 
-    mts_init (invo_name);
+    mts_init ();
     arguments = getarguments (invo_name, argc, argv, 1);
     argp = arguments;
 
@@ -127,10 +127,9 @@ main (int argc, char **argv)
        if (*cp == '+' || *cp == '@') {
            if (folder)
                adios (NULL, "only one folder at a time!");
-           else
-               folder = pluspath (cp);
+            folder = pluspath (cp);
        } else
-               app_msgarg(&msgs, cp);
+            app_msgarg(&msgs, cp);
     }
 
     if (!context_find ("path"))
@@ -216,14 +215,13 @@ main (int argc, char **argv)
     if ((cp = context_find (usequence)) && *cp) {
        char **ap, *dp;
 
-       dp = getcpy(cp);
+       dp = mh_xstrdup(cp);
        ap = brkstring (dp, " ", "\n");
        for (i = 0; ap && *ap; i++, ap++)
            ivector_push_back (seqnum, seq_getnum (mp, *ap));
 
        num_unseen_seq = i;
-       if (dp)
-           free(dp);
+        free(dp);
     }
 
     ontty = isatty (fileno (stdout));
@@ -267,7 +265,7 @@ main (int argc, char **argv)
                    adios (NULL, "scan() botch (%d)", state);
 
                case SCNEOF: 
-                   advise (NULL, "message %d: empty", msgnum);
+                   inform("message %d: empty", msgnum);
                    break;
            }
            charstring_free (scanl);