X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fseq_read.c;h=1ceb42163e912b36c9ff8f3def6bee3496259aa0;hp=3a9633eb205ee9daa0052e07f9b9a5b3e09b7244;hb=d4c34b4439a9dbd89664de460ed37ecddc260fb1;hpb=b0b1dd37ff515578cf7cba51625189eb34a196cb diff --git a/sbr/seq_read.c b/sbr/seq_read.c index 3a9633e..1ceb421 100644 --- a/sbr/seq_read.c +++ b/sbr/seq_read.c @@ -7,6 +7,7 @@ ** complete copyright information. */ +#include #include #include @@ -78,7 +79,6 @@ seq_public(struct msgs *mp) fp)) { case FLD: case FLDPLUS: - case FLDEOF: if (state == FLDPLUS) { cp = getcpy(field); while (state == FLDPLUS) { @@ -87,17 +87,14 @@ 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(NULL, "no blank lines are permitted in %s", + adios(EX_CONFIG, NULL, "no blank lines are permitted in %s", seqfile); /* fall */ @@ -105,7 +102,7 @@ seq_public(struct msgs *mp) break; default: - adios(NULL, "%s is poorly formatted", seqfile); + adios(EX_CONFIG, NULL, "%s is poorly formatted", seqfile); } break; /* break from for loop */ } @@ -132,11 +129,10 @@ seq_private(struct msgs *mp) plen = strlen(mp->foldpath) + 1; for (np = m_defs; np; np = np->n_next) { - if (strncmp(np->n_name, "atr-", alen)==0 - && (j = strlen(np->n_name) - plen) > alen - && *(np->n_name + j) == '-' - && strcmp(mp->foldpath, np->n_name + j + 1) - == 0) { + if (strncmp(np->n_name, "atr-", alen)==0 && + (j = strlen(np->n_name) - plen) > alen && + *(np->n_name + j) == '-' && + strcmp(mp->foldpath, np->n_name + j + 1)==0) { cp = getcpy(np->n_name + alen); *(cp + j - alen) = '\0'; if ((i = seq_init(mp, cp, getcpy(np->n_field))) != -1) @@ -159,14 +155,15 @@ seq_private(struct msgs *mp) static int seq_init(struct msgs *mp, char *name, char *field) { - int i, j, k, is_current; + unsigned int i; + int j, k, is_current; char *cp, **ap; /* ** Check if this is the cur sequence, ** so we can do some special things. */ - is_current = !strcmp(seq_cur, name); + is_current = (strcmp(seq_cur, name)==0); /* ** Search for this sequence name to see if we've seen @@ -175,7 +172,7 @@ seq_init(struct msgs *mp, char *name, char *field) ** mesages in this folder. */ for (i = 0; mp->msgattrs[i]; i++) { - if (!strcmp(mp->msgattrs[i], name)) { + if (strcmp(mp->msgattrs[i], name)==0) { for (j = mp->lowmsg; j <= mp->hghmsg; j++) clear_sequence(mp, i, j); break; @@ -184,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; } @@ -194,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; @@ -231,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; }