X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/2e768e3cc0ce768373d3320eca4cdd08b8cf646a..63621a81d16ab743de6b57d47578a9a2c670ad22:/uip/anno.c diff --git a/uip/anno.c b/uip/anno.c index cf52021c..521f7b96 100644 --- a/uip/anno.c +++ b/uip/anno.c @@ -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 @@ -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 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. * @@ -45,6 +43,7 @@ #include #include +#include "sbr/m_maildir.h" #define ANNO_SWITCHES \ X("component field", 0, COMPSW) \ @@ -80,31 +79,27 @@ 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 */ -#ifdef LOCALE - setlocale(LC_ALL, ""); -#endif - 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; + append = list = false; + inplace = datesw = true; while ((cp = *argp++)) { if (*cp == '-') { switch (smatch (++cp, switches)) { @@ -131,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: @@ -160,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 */ @@ -175,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++; } @@ -184,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 */ @@ -199,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); } @@ -211,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); @@ -240,7 +234,7 @@ main (int argc, char **argv) adios (maildir, "unable to change directory to"); /* read folder and create message structure */ - if (!(mp = folder_read (folder))) + if (!(mp = folder_read (folder, 1))) adios (NULL, "unable to read folder %s", folder); /* check for empty folder */ @@ -289,7 +283,7 @@ make_comp (char **ap) 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);