]> diplodocus.org Git - nmh/blobdiff - sbr/m_convert.c
%(divide): Avoid SIGFPE on integer divide of INT_MIN by -1.
[nmh] / sbr / m_convert.c
index 06e31afec898ef028dc114d455f4e75098f60cd3..be12e5070389e64c3fd2bef9f9d5e116158fb6e3 100644 (file)
@@ -5,8 +5,14 @@
  * complete copyright information.
  */
 
-#include <h/mh.h>
-#include <h/utils.h>
+#include "h/mh.h"
+#include "ssequal.h"
+#include "m_convert.h"
+#include "folder_realloc.h"
+#include "context_find.h"
+#include "seq_getnum.h"
+#include "error.h"
+#include "h/utils.h"
 
 /*
  * error codes for sequence
@@ -37,7 +43,7 @@ static int attr (struct msgs *, char *);
 int
 m_convert (struct msgs *mp, char *name)
 {
-    int first, last, found, count, is_range, err;
+    int first, last, found, count, err;
     char *bp, *cp;
 
     /* check if user defined sequence */
@@ -54,7 +60,6 @@ m_convert (struct msgs *mp, char *name)
      */
 
     found = 0;
-    is_range = 1;
 
     /*
      * Check for special "new" sequence, which
@@ -129,9 +134,7 @@ rangerr:
 
     } else if (*cp == ':' || *cp == '=') {
 
-       if (*cp == '=')
-           is_range = 0;
-
+        bool is_range = *cp == ':';
        cp++;
 
        if (*cp == '-') {
@@ -349,9 +352,7 @@ attr (struct msgs *mp, char *cp)
     char op;
     int i, j;
     int found,
-       inverted = 0,
        count = 0,              /* range given?  else use entire sequence */
-       just_one = 0,           /* want entire sequence or range */
        first = 0,
        start = 0;
 
@@ -364,8 +365,9 @@ attr (struct msgs *mp, char *cp)
     }
 
     /* Check for sequence negation */
+    bool inverted = false;
     if ((dp = context_find (nsequence)) && *dp != '\0' && ssequal (dp, cp)) {
-       inverted = 1;
+       inverted = true;
        cp += strlen (dp);
     }
 
@@ -374,6 +376,8 @@ attr (struct msgs *mp, char *cp)
     for (dp = cp; isalnum((unsigned char)*dp); dp++)
        continue;
 
+    bool just_one = *dp == '='; /* want entire sequence or range */
+
     if (*dp == ':') {
        bp = dp++;
        count = 1;
@@ -454,8 +458,6 @@ attr (struct msgs *mp, char *cp)
        if (count == 0 || *ep)
            return BADLST;
 
-       just_one = 1;
-
        op = *bp;
        *bp = '\0';     /* temporarily terminate sequence name */
     }