Replace free() with mh_free0()
[mmh] / sbr / seq_read.c
index ff01c42..1ceb421 100644 (file)
@@ -79,7 +79,6 @@ seq_public(struct msgs *mp)
                                fp)) {
                case FLD:
                case FLDPLUS:
-               case FLDEOF:
                        if (state == FLDPLUS) {
                                cp = getcpy(field);
                                while (state == FLDPLUS) {
@@ -88,16 +87,13 @@ seq_public(struct msgs *mp)
                                        cp = add(field, cp);
                                }
                                seq_init(mp, getcpy(name), trimcpy(cp));
-                               free(cp);
+                               mh_free0(&cp);
                        } else {
                                seq_init(mp, getcpy(name), trimcpy(field));
                        }
-                       if (state == FLDEOF)
-                               break;
                        continue;
 
                case BODY:
-               case BODYEOF:
                        adios(EX_CONFIG, NULL, "no blank lines are permitted in %s",
                                        seqfile);
                        /* fall */
@@ -185,8 +181,8 @@ seq_init(struct msgs *mp, char *name, char *field)
 
        /* Return error, if too many sequences */
        if (i >= NUMATTRS) {
-               free(name);
-               free(field);
+               mh_free0(&name);
+               mh_free0(&field);
                return -1;
        }
 
@@ -195,7 +191,7 @@ seq_init(struct msgs *mp, char *name, char *field)
        ** name string.  Else add it to the list of sequence names.
        */
        if (mp->msgattrs[i]) {
-               free(name);
+               mh_free0(&name);
        } else {
                mp->msgattrs[i] = name;
                mp->msgattrs[i + 1] = NULL;
@@ -232,6 +228,6 @@ seq_init(struct msgs *mp, char *name, char *field)
                }
        }
 
-       free(field);  /* free string containing message ranges */
+       mh_free0(&field);  /* free string containing message ranges */
        return i;
 }