]> diplodocus.org Git - nmh/blobdiff - uip/anno.c
Support iCalendar event request files that don't end with a newline.
[nmh] / uip / anno.c
index 75bcc68220dbf56357f0a42ca0c366a2036d7f45..191dd2dff72a3702c63282f8ec23895d2547bc83 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
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
@@ -34,7 +32,7 @@
  *     option is specified, only the last path name component of each field
  *     body is output.  The entire field body is output if the -text option
  *     is used; the contents of the -text argument are ignored.  If the -list
  *     option is specified, only the last path name component of each field
  *     body is output.  The entire field body is output if the -text option
  *     is used; the contents of the -text argument are ignored.  If the -list
- *     option is used in conjuction with the new -number option described
+ *     option is used in conjunction with the new -number option described
  *     below, each line is numbered starting with 1.  A tab separates the
  *     number from the field body.
  *
  *     below, each line is numbered starting with 1.  A tab separates the
  *     number from the field body.
  *
@@ -89,16 +87,12 @@ main (int argc, char **argv)
     struct msgs *mp;
     int                append = 0;             /* append annotations instead of default prepend */
     int                delete = -2;            /* delete header element if set */
     struct msgs *mp;
     int                append = 0;             /* 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 */
     int                number = 0;             /* delete specific number of like elements if set */
 
     int                isdf = 0;               /* return needed for m_draft() */
     int                list = 0;               /* list header elements if set */
     int                number = 0;             /* delete specific number of like elements if set */
 
-    setlocale(LC_ALL, "");
-    invo_name = r1bindex (argv[0], '/');
-
-    /* read user profile/context */
-    context_read();
+    if (nmh_init(argv[0], 1)) { return 1; }
 
     arguments = getarguments (invo_name, argc, argv, 1);
     argp = arguments;
 
     arguments = getarguments (invo_name, argc, argv, 1);
     argp = arguments;
@@ -173,7 +167,7 @@ main (int argc, char **argv)
                            number = -1;
 
                        else if (!(number = atoi(*argp)))
                            number = -1;
 
                        else if (!(number = atoi(*argp)))
-                           adios (NULL, "missing argument to %s", argp[-2]);
+                           adios (NULL, "missing argument to %s", argp[-1]);
 
                        argp++;
                    }
 
                        argp++;
                    }
@@ -209,11 +203,11 @@ main (int argc, char **argv)
      * message numbers below.
      */
 
      * message numbers below.
      */
 
-    if (draft != (char *)0) {
+    if (draft != NULL) {
        if (msgs.size != 0)
            adios(NULL, "can only have message numbers or -draft.");
 
        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);
 
 
        make_comp(&comp);
 
@@ -287,7 +281,7 @@ make_comp (char **ap)
 
     if ((cp = *ap + strlen (*ap) - 1) > *ap && *cp == ':')
        *cp = 0;
 
     if ((cp = *ap + strlen (*ap) - 1) > *ap && *cp == ':')
        *cp = 0;
-    if (strlen (*ap) == 0)
+    if (!**ap)
        adios (NULL, "null component name");
     if (**ap == '-')
        adios (NULL, "invalid component name %s", *ap);
        adios (NULL, "null component name");
     if (**ap == '-')
        adios (NULL, "invalid component name %s", *ap);