From 5415f1d1fe1aeb2f1b69d4032675a5773a623277 Mon Sep 17 00:00:00 2001 From: David Levine Date: Tue, 19 Jun 2012 19:54:04 -0500 Subject: [PATCH] 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., --- sbr/readconfig.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) 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); + } } } } -- 1.7.10.4