X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Freadconfig.c;h=5900c375dc4154d296a9ed622ae6f57cf039b3d3;hb=e30560d793ff5bc704dadc2eab9d31100ad4636b;hp=2321145f522931b804d55c7d4410846dc26d269a;hpb=b5d9d6e4b1b05797ad7b2d86bdaf7cbf86d5e3da;p=mmh diff --git a/sbr/readconfig.c b/sbr/readconfig.c index 2321145..5900c37 100644 --- a/sbr/readconfig.c +++ b/sbr/readconfig.c @@ -106,5 +106,23 @@ readconfig (struct node **npp, FILE *ib, char *file, int ctx) break; } + if (opp == NULL) { + /* Check for duplicated profile entries. But only on this + 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); + } + } + } + } + opp = npp; }