From: David Levine Date: Wed, 20 Jun 2012 00:54:04 +0000 (-0500) Subject: Refinement to e30560d793ff5bc704dadc2eab9d31100ad4636b: don't X-Git-Url: http://git.marmaro.de/?a=commitdiff_plain;h=5415f1d1fe1aeb2f1b69d4032675a5773a623277;p=mmh Refinement to e30560d793ff5bc704dadc2eab9d31100ad4636b: don't warn about profile components that are null, e.g., : This could be a comment. or just a hash, e.g., --- diff --git a/sbr/readconfig.c b/sbr/readconfig.c index 5900c37..0f38fdf 100644 --- a/sbr/readconfig.c +++ b/sbr/readconfig.c @@ -107,18 +107,25 @@ readconfig (struct node **npp, FILE *ib, char *file, int ctx) } if (opp == NULL) { - /* Check for duplicated profile entries. But only on this - very first call from context_read(), when opp is NULL. */ + /* Check for duplicated non-null profile entries. Also ignore + profile entries that are just "#", because that's what the + mh-profile man page suggests using for comments. Only do + this check on the very first call from context_read(), when + opp is + NULL. */ for (np = m_defs; np; np = np->n_next) { /* Yes, this is O(N^2). The profile should be small enough so that's not a performance problem. */ - struct node *np2; - for (np2 = np->n_next; np2; np2 = np2->n_next) { - if (!mh_strcasecmp (np->n_name, np2->n_name)) { - admonish (NULL, "multiple \"%s\" profile components " - "in %s, ignoring \"%s\"", - np->n_name, defpath, np2->n_field); + if (strlen (np->n_name) > 0 && strcmp ("#", np->n_name)) { + struct node *np2; + for (np2 = np->n_next; np2; np2 = np2->n_next) { + if (! mh_strcasecmp (np->n_name, np2->n_name)) { + printf ("%d\n", strlen (np->n_name)); + admonish (NULL, "multiple \"%s\" profile components " + "in %s, ignoring \"%s\"", + np->n_name, defpath, np2->n_field); + } } } }