From 5415f1d1fe1aeb2f1b69d4032675a5773a623277 Mon Sep 17 00:00:00 2001
From: David Levine <levinedl@acm.org>
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 5900c375..0f38fdfb 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);
+		    }
 		}
 	    }
 	}
-- 
2.39.5