]> diplodocus.org Git - nmh/blobdiff - uip/anno.c
lock_file.c: close(2) file descriptor on failure, avoiding leak.
[nmh] / uip / anno.c
index d815320b51fd687507ad3ab08fc7760380c99268..521f7b96a3fc50a831bdbd2fb3e9b2df34793784 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * anno.c -- annotate messages
+/* anno.c -- annotate 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
@@ -45,6 +43,7 @@
 
 #include <h/mh.h>
 #include <h/utils.h>
+#include "sbr/m_maildir.h"
 
 #define ANNO_SWITCHES \
     X("component field", 0, COMPSW) \
@@ -80,18 +79,18 @@ static void make_comp (char **);
 int
 main (int argc, char **argv)
 {
-    int inplace = 1, datesw = 1;
+    bool inplace, datesw;
     int msgnum;
     char *cp, *maildir;
     char *comp = NULL, *text = NULL, *folder = NULL, buf[BUFSIZ];
     char **argp, **arguments;
     struct msgs_array msgs = { 0, 0, NULL };
     struct msgs *mp;
-    int                append = 0;             /* append annotations instead of default prepend */
+    bool       append;                 /* append annotations instead of default prepend */
     int                delete = -2;            /* delete header element if set */
-    char       *draft = (char *)0;     /* draft file name */
+    char       *draft = NULL;  /* draft file name */
     int                isdf = 0;               /* return needed for m_draft() */
-    int                list = 0;               /* list header elements if set */
+    bool       list;                   /* list header elements if set */
     int                number = 0;             /* delete specific number of like elements if set */
 
     if (nmh_init(argv[0], 1)) { return 1; }
@@ -99,6 +98,8 @@ main (int argc, char **argv)
     arguments = getarguments (invo_name, argc, argv, 1);
     argp = arguments;
 
+    append = list = false;
+    inplace = datesw = true;
     while ((cp = *argp++)) {
        if (*cp == '-') {
            switch (smatch (++cp, switches)) {
@@ -125,17 +126,17 @@ main (int argc, char **argv)
                    continue;
 
                case DATESW:
-                   datesw++;
+                   datesw = true;
                    continue;
                case NDATESW:
-                   datesw = 0;
+                   datesw = false;
                    continue;
 
                case INPLSW:
-                   inplace++;
+                   inplace = true;
                    continue;
                case NINPLSW:
-                   inplace = 0;
+                   inplace = false;
                    continue;
 
                case TEXTSW:
@@ -154,7 +155,7 @@ main (int argc, char **argv)
                    continue;
 
                case LISTSW:            /* produce a listing */
-                   list = 1;
+                   list = true;
                    continue;
 
                case NUMBERSW:          /* number listing or delete by number */
@@ -169,7 +170,7 @@ main (int argc, char **argv)
                            number = -1;
 
                        else if (!(number = atoi(*argp)))
-                           adios (NULL, "missing argument to %s", argp[-2]);
+                           adios (NULL, "missing argument to %s", argp[-1]);
 
                        argp++;
                    }
@@ -178,7 +179,7 @@ main (int argc, char **argv)
                    continue;
 
                case APPENDSW:          /* append annotations instead of default prepend */
-                   append = 1;
+                   append = true;
                    continue;
 
                case PRESERVESW:        /* preserve access and modification times on annotated message */
@@ -193,8 +194,7 @@ 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);
     }
@@ -205,11 +205,11 @@ main (int argc, char **argv)
      * message numbers below.
      */
 
-    if (draft != (char *)0) {
+    if (draft != NULL) {
        if (msgs.size != 0)
            adios(NULL, "can only have message numbers or -draft.");
 
-       draft = getcpy(m_draft(folder, (char *)0, 1, &isdf));
+       draft = getcpy(m_draft(folder, NULL, 1, &isdf));
 
        make_comp(&comp);