]> diplodocus.org Git - nmh/blobdiff - uip/picksbr.c
Alter HasSuffixC()'s char * to be const.
[nmh] / uip / picksbr.c
index c572cde01ff82a6b53bf8c6b7ad80ef165f36d37..6433d2d02949804f5fd89120ad19c9e8e05e4439 100644 (file)
@@ -157,7 +157,6 @@ struct nexus {
 #define        n_tws    un.st3.un_tws
 
 static int talked;
 #define        n_tws    un.st3.un_tws
 
 static int talked;
-static int pdebug = 0;
 
 static char *datesw;
 static char **argp;
 
 static char *datesw;
 static char **argp;
@@ -195,11 +194,6 @@ static int TWSaction();
 int
 pcompile (char **vec, char *date)
 {
 int
 pcompile (char **vec, char *date)
 {
-    register char *cp;
-
-    if ((cp = getenv ("MHPDEBUG")) && *cp)
-       pdebug++;
-
     argp = vec;
     if ((datesw = date) == NULL)
        datesw = "date";
     argp = vec;
     if ((datesw = date) == NULL)
        datesw = "date";
@@ -220,8 +214,8 @@ pcompile (char **vec, char *date)
 static struct nexus *
 parse (void)
 {
 static struct nexus *
 parse (void)
 {
-    register char  *cp;
-    register struct nexus *n, *o;
+    char  *cp;
+    struct nexus *n, *o;
 
     if ((n = nexp1 ()) == NULL || (cp = nxtarg ()) == NULL)
        return n;
 
     if ((n = nexp1 ()) == NULL || (cp = nxtarg ()) == NULL)
        return n;
@@ -249,6 +243,7 @@ parse (void)
            if ((o->n_R_child = parse ()))
                return o;
            padvise (NULL, "missing disjunctive");
            if ((o->n_R_child = parse ()))
                return o;
            padvise (NULL, "missing disjunctive");
+           free (o);
            return NULL;
 
 header: ;
            return NULL;
 
 header: ;
@@ -261,14 +256,15 @@ header: ;
 static struct nexus *
 nexp1 (void)
 {
 static struct nexus *
 nexp1 (void)
 {
-    register char *cp;
-    register struct nexus *n, *o;
+    char *cp;
+    struct nexus *n, *o;
 
     if ((n = nexp2 ()) == NULL || (cp = nxtarg ()) == NULL)
        return n;
 
     if (*cp != '-') {
        padvise (NULL, "%s unexpected", cp);
 
     if ((n = nexp2 ()) == NULL || (cp = nxtarg ()) == NULL)
        return n;
 
     if (*cp != '-') {
        padvise (NULL, "%s unexpected", cp);
+       free (n);
        return NULL;
     }
 
        return NULL;
     }
 
@@ -278,10 +274,12 @@ nexp1 (void)
        case AMBIGSW: 
            ambigsw (cp, parswit);
            talked++;
        case AMBIGSW: 
            ambigsw (cp, parswit);
            talked++;
+           free (n);
            return NULL;
        case UNKWNSW: 
            fprintf (stderr, "-%s unknown\n", cp);
            talked++;
            return NULL;
        case UNKWNSW: 
            fprintf (stderr, "-%s unknown\n", cp);
            talked++;
+           free (n);
            return NULL;
 
        case PRAND: 
            return NULL;
 
        case PRAND: 
@@ -290,6 +288,7 @@ nexp1 (void)
            if ((o->n_R_child = nexp1 ()))
                return o;
            padvise (NULL, "missing conjunctive");
            if ((o->n_R_child = nexp1 ()))
                return o;
            padvise (NULL, "missing conjunctive");
+           free (o);
            return NULL;
 
 header: ;
            return NULL;
 
 header: ;
@@ -303,8 +302,8 @@ header: ;
 static struct nexus *
 nexp2 (void)
 {
 static struct nexus *
 nexp2 (void)
 {
-    register char *cp;
-    register struct nexus *n;
+    char *cp;
+    struct nexus *n;
 
     if ((cp = nxtarg ()) == NULL)
        return NULL;
 
     if ((cp = nxtarg ()) == NULL)
        return NULL;
@@ -331,6 +330,7 @@ nexp2 (void)
            if ((n->n_L_child = nexp3 ()))
                return n;
            padvise (NULL, "missing negation");
            if ((n->n_L_child = nexp3 ()))
                return n;
            padvise (NULL, "missing negation");
+           free (n);
            return NULL;
 
 header: ;
            return NULL;
 
 header: ;
@@ -344,9 +344,9 @@ static struct nexus *
 nexp3 (void)
 {
     int i;
 nexp3 (void)
 {
     int i;
-    register char *cp, *dp;
+    char *cp, *dp;
     char buffer[BUFSIZ], temp[64];
     char buffer[BUFSIZ], temp[64];
-    register struct nexus *n;
+    struct nexus *n;
 
     if ((cp = nxtarg ()) == NULL)
        return NULL;
 
     if ((cp = nxtarg ()) == NULL)
        return NULL;
@@ -412,15 +412,17 @@ nexp3 (void)
            n->n_header = 0;
            if (!(cp = nxtarg ())) {/* allow -xyz arguments */
                padvise (NULL, "missing argument to %s", argp[-2]);
            n->n_header = 0;
            if (!(cp = nxtarg ())) {/* allow -xyz arguments */
                padvise (NULL, "missing argument to %s", argp[-2]);
+               free (n);
                return NULL;
            }
            dp = cp;
     pattern: ;
            if (!gcompile (n, dp)) {
                padvise (NULL, "pattern error in %s %s", argp[-2], cp);
                return NULL;
            }
            dp = cp;
     pattern: ;
            if (!gcompile (n, dp)) {
                padvise (NULL, "pattern error in %s %s", argp[-2], cp);
+               free (n);
                return NULL;
            }
                return NULL;
            }
-           n->n_patbuf = getcpy (dp);
+           n->n_patbuf = mh_xstrdup(dp);
            return n;
 
        case PROTHR: 
            return n;
 
        case PROTHR: 
@@ -444,6 +446,7 @@ nexp3 (void)
            n->n_datef = datesw;
            if (!tcompile (cp, &n->n_tws, n->n_after = i == PRAFTR)) {
                padvise (NULL, "unable to parse %s %s", argp[-2], cp);
            n->n_datef = datesw;
            if (!tcompile (cp, &n->n_tws, n->n_after = i == PRAFTR)) {
                padvise (NULL, "unable to parse %s %s", argp[-2], cp);
+               free (n);
                return NULL;
            }
            return n;
                return NULL;
            }
            return n;
@@ -454,11 +457,9 @@ nexp3 (void)
 static struct nexus *
 newnexus (int (*action)())
 {
 static struct nexus *
 newnexus (int (*action)())
 {
-    register struct nexus *p;
-
-    if ((p = (struct nexus *) calloc ((size_t) 1, sizeof *p)) == NULL)
-       adios (NULL, "unable to allocate component storage");
+    struct nexus *p;
 
 
+    NEW0(p);
     p->n_action = action;
     return p;
 }
     p->n_action = action;
     return p;
 }
@@ -467,19 +468,19 @@ newnexus (int (*action)())
 #define        args(a) a, fp, msgnum, start, stop
 #define        params  args (n)
 #define        plist   \
 #define        args(a) a, fp, msgnum, start, stop
 #define        params  args (n)
 #define        plist   \
-           register struct nexus  *n; \
-           register FILE *fp; \
+           struct nexus  *n; \
+           FILE *fp; \
            int msgnum; \
            long    start, \
                    stop;
 
 int
            int msgnum; \
            long    start, \
                    stop;
 
 int
-pmatches (FILE *fp, int msgnum, long start, long stop)
+pmatches (FILE *fp, int msgnum, long start, long stop, int debug)
 {
     if (!head)
        return 1;
 
 {
     if (!head)
        return 1;
 
-    if (!talked++ && pdebug)
+    if (!talked++ && debug)
        PRaction (head, 0);
 
     return (*head->n_action) (args (head));
        PRaction (head, 0);
 
     return (*head->n_action) (args (head));
@@ -489,7 +490,7 @@ pmatches (FILE *fp, int msgnum, long start, long stop)
 static void
 PRaction (struct nexus *n, int level)
 {
 static void
 PRaction (struct nexus *n, int level)
 {
-    register int i;
+    int i;
 
     for (i = 0; i < level; i++)
        fprintf (stderr, "| ");
 
     for (i = 0; i < level; i++)
        fprintf (stderr, "| ");
@@ -558,12 +559,12 @@ plist
 static int
 gcompile (struct nexus *n, char *astr)
 {
 static int
 gcompile (struct nexus *n, char *astr)
 {
-    register int c;
+    int c;
     int cclcnt;
     int cclcnt;
-    register unsigned char *ep, *dp, *sp, *lastep = 0;
+    unsigned char *ep, *dp, *sp, *lastep = 0;
 
 
-    dp = (ep = n->n_expbuf) + sizeof n->n_expbuf;
-    sp = astr;
+    dp = (ep = (unsigned char *) n->n_expbuf) + sizeof n->n_expbuf;
+    sp = (unsigned char *) astr;
     if (*sp == '^') {
        n->n_circf = 1;
        sp++;
     if (*sp == '^') {
        n->n_circf = 1;
        sp++;
@@ -650,7 +651,7 @@ plist
 {
     int c, body, lf;
     long pos = start;
 {
     int c, body, lf;
     long pos = start;
-    register char *p1, *p2, *ebp, *cbp;
+    char *p1, *p2, *ebp, *cbp;
     char ibuf[BUFSIZ];
     NMH_UNUSED (msgnum);
 
     char ibuf[BUFSIZ];
     NMH_UNUSED (msgnum);
 
@@ -740,7 +741,7 @@ plist
 static int
 advance (char *alp, char *aep)
 {
 static int
 advance (char *alp, char *aep)
 {
-    register unsigned char *lp, *ep, *curlp;
+    unsigned char *lp, *ep, *curlp;
 
     lp = (unsigned char *)alp;
     ep = (unsigned char *)aep;
 
     lp = (unsigned char *)alp;
     ep = (unsigned char *)aep;
@@ -802,7 +803,7 @@ advance (char *alp, char *aep)
        star: 
                do {
                    lp--;
        star: 
                do {
                    lp--;
-                   if (advance (lp, ep))
+                   if (advance ((char *) lp, (char *) ep))
                        return (1);
                } while (lp > curlp);
                return 0;
                        return (1);
                } while (lp > curlp);
                return 0;
@@ -817,8 +818,8 @@ advance (char *alp, char *aep)
 static int
 cclass (unsigned char *aset, int ac, int af)
 {
 static int
 cclass (unsigned char *aset, int ac, int af)
 {
-    register unsigned int    n;
-    register unsigned char   c, *set;
+    unsigned int    n;
+    unsigned char   c, *set;
 
     set = aset;
     if ((c = ac) == 0)
 
     set = aset;
     if ((c = ac) == 0)
@@ -836,7 +837,7 @@ cclass (unsigned char *aset, int ac, int af)
 static int
 tcompile (char *ap, struct tws *tb, int isafter)
 {
 static int
 tcompile (char *ap, struct tws *tb, int isafter)
 {
-    register struct tws *tw;
+    struct tws *tw;
 
     if ((tw = tws_parse (ap, isafter)) == NULL)
        return 0;
 
     if ((tw = tws_parse (ap, isafter)) == NULL)
        return 0;
@@ -850,7 +851,7 @@ static struct tws *
 tws_parse (char *ap, int isafter)
 {
     char buffer[BUFSIZ];
 tws_parse (char *ap, int isafter)
 {
     char buffer[BUFSIZ];
-    register struct tws *tw, *ts;
+    struct tws *tw, *ts;
 
     if ((tw = tws_special (ap)) != NULL) {
        tw->tw_sec = tw->tw_min = isafter ? 59 : 0;
 
     if ((tw = tws_special (ap)) != NULL) {
        tw->tw_sec = tw->tw_min = isafter ? 59 : 0;
@@ -892,22 +893,22 @@ tws_special (char *ap)
 {
     int i;
     time_t clock;
 {
     int i;
     time_t clock;
-    register struct tws *tw;
+    struct tws *tw;
 
     time (&clock);
 
     time (&clock);
-    if (!mh_strcasecmp (ap, "today"))
+    if (!strcasecmp (ap, "today"))
        return dlocaltime (&clock);
        return dlocaltime (&clock);
-    if (!mh_strcasecmp (ap, "yesterday")) {
+    if (!strcasecmp (ap, "yesterday")) {
        clock -= (long) (60 * 60 * 24);
        return dlocaltime (&clock);
     }
        clock -= (long) (60 * 60 * 24);
        return dlocaltime (&clock);
     }
-    if (!mh_strcasecmp (ap, "tomorrow")) {
+    if (!strcasecmp (ap, "tomorrow")) {
        clock += (long) (60 * 60 * 24);
        return dlocaltime (&clock);
     }
 
     for (i = 0; tw_ldotw[i]; i++)
        clock += (long) (60 * 60 * 24);
        return dlocaltime (&clock);
     }
 
     for (i = 0; tw_ldotw[i]; i++)
-       if (!mh_strcasecmp (ap, tw_ldotw[i]))
+       if (!strcasecmp (ap, tw_ldotw[i]))
            break;
     if (tw_ldotw[i]) {
        if ((tw = dlocaltime (&clock)) == NULL)
            break;
     if (tw_ldotw[i]) {
        if ((tw = dlocaltime (&clock)) == NULL)
@@ -915,11 +916,12 @@ tws_special (char *ap)
        if ((i -= tw->tw_wday) > 0)
            i -= 7;
     }
        if ((i -= tw->tw_wday) > 0)
            i -= 7;
     }
-    else
+    else {
        if (*ap != '-')
            return NULL;
        if (*ap != '-')
            return NULL;
-       else                    /* -ddd days ago */
-           i = atoi (ap);      /* we should error check this */
+       /* -ddd days ago */
+       i = atoi (ap);  /* we should error check this */
+    }
 
     clock += (long) ((60 * 60 * 24) * i);
     return dlocaltime (&clock);
 
     clock += (long) ((60 * 60 * 24) * i);
     return dlocaltime (&clock);
@@ -931,9 +933,9 @@ TWSaction (params)
 plist
 {
     int state;
 plist
 {
     int state;
-    register char *bp;
+    char *bp;
     char buf[BUFSIZ], name[NAMESZ];
     char buf[BUFSIZ], name[NAMESZ];
-    register struct tws *tw;
+    struct tws *tw;
     m_getfld_state_t gstate = 0;
     NMH_UNUSED (stop);
 
     m_getfld_state_t gstate = 0;
     NMH_UNUSED (stop);
 
@@ -943,15 +945,14 @@ plist
        switch (state = m_getfld (&gstate, name, buf, &bufsz, fp)) {
            case FLD: 
            case FLDPLUS: 
        switch (state = m_getfld (&gstate, name, buf, &bufsz, fp)) {
            case FLD: 
            case FLDPLUS: 
-               if (bp != NULL)
-                   free (bp), bp = NULL;
+                mh_xfree(bp);
                bp = add (buf, NULL);
                while (state == FLDPLUS) {
                    bufsz = sizeof buf;
                    state = m_getfld (&gstate, name, buf, &bufsz, fp);
                    bp = add (buf, bp);
                }
                bp = add (buf, NULL);
                while (state == FLDPLUS) {
                    bufsz = sizeof buf;
                    state = m_getfld (&gstate, name, buf, &bufsz, fp);
                    bp = add (buf, bp);
                }
-               if (!mh_strcasecmp (name, n->n_datef))
+               if (!strcasecmp (name, n->n_datef))
                    break;
                continue;
 
                    break;
                continue;
 
@@ -961,8 +962,7 @@ plist
            case FMTERR: 
                if (state == LENERR || state == FMTERR)
                    advise (NULL, "format error in message %d", msgnum);
            case FMTERR: 
                if (state == LENERR || state == FMTERR)
                    advise (NULL, "format error in message %d", msgnum);
-               if (bp != NULL)
-                   free (bp);
+                mh_xfree(bp);
                return 0;
 
            default: 
                return 0;
 
            default: 
@@ -979,7 +979,6 @@ plist
        state = n->n_after ? (twsort (tw, &n->n_tws) > 0)
            : (twsort (tw, &n->n_tws) < 0);
 
        state = n->n_after ? (twsort (tw, &n->n_tws) > 0)
            : (twsort (tw, &n->n_tws) < 0);
 
-    if (bp != NULL)
-       free (bp);
+    mh_xfree(bp);
     return state;
 }
     return state;
 }