From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from krisdoz.my.domain (schwarze@localhost [127.0.0.1]) by krisdoz.my.domain (8.14.5/8.14.5) with ESMTP id s34INV1T007439 for ; Fri, 4 Apr 2014 14:23:31 -0400 (EDT) Received: (from schwarze@localhost) by krisdoz.my.domain (8.14.5/8.14.3/Submit) id s34INUKx002152; Fri, 4 Apr 2014 14:23:30 -0400 (EDT) Date: Fri, 4 Apr 2014 14:23:30 -0400 (EDT) Message-Id: <201404041823.s34INUKx002152@krisdoz.my.domain> X-Mailinglist: mdocml-source Reply-To: source@mdocml.bsd.lv MIME-Version: 1.0 From: schwarze@mdocml.bsd.lv To: source@mdocml.bsd.lv Subject: mdocml: In -p (picky) mode, warn unless each filename (aka mlink) X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Log Message: ----------- In -p (picky) mode, warn unless each filename (aka mlink) appears as a name in the NAME section. While here, garbage collect two unused variables, both called "match". Modified Files: -------------- mdocml: mandocdb.c Revision Data ------------- Index: mandocdb.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mandocdb.c,v retrieving revision 1.130 retrieving revision 1.131 diff -Lmandocdb.c -Lmandocdb.c -u -p -r1.130 -r1.131 --- mandocdb.c +++ mandocdb.c @@ -147,7 +147,7 @@ static void *hash_alloc(size_t, void *); static void hash_free(void *, size_t, void *); static void *hash_halloc(size_t, void *); static void mlink_add(struct mlink *, const struct stat *); -static int mlink_check(struct mpage *, struct mlink *); +static void mlink_check(struct mpage *, struct mlink *); static void mlink_free(struct mlink *); static void mlinks_undupe(struct mpage *); static void mpages_free(void); @@ -924,12 +924,11 @@ nextlink: } } -static int +static void mlink_check(struct mpage *mpage, struct mlink *mlink) { - int match; - - match = 1; + struct str *str; + unsigned int slot; /* * Check whether the manual section given in a file @@ -941,11 +940,9 @@ mlink_check(struct mpage *mpage, struct */ if (FORM_SRC == mpage->form && - strcasecmp(mpage->sec, mlink->dsec)) { - match = 0; + strcasecmp(mpage->sec, mlink->dsec)) say(mlink->file, "Section \"%s\" manual in %s directory", mpage->sec, mlink->dsec); - } /* * Manual page directories exist for each kernel @@ -960,16 +957,28 @@ mlink_check(struct mpage *mpage, struct * on amd64, i386, sparc, and sparc64. */ - if (strcasecmp(mpage->arch, mlink->arch)) { - match = 0; + if (strcasecmp(mpage->arch, mlink->arch)) say(mlink->file, "Architecture \"%s\" manual in " "\"%s\" directory", mpage->arch, mlink->arch); - } - if (strcasecmp(mpage->title, mlink->name)) - match = 0; + /* + * XXX + * parse_cat() doesn't set TYPE_Nm and TYPE_NAME yet. + */ + + if (FORM_CAT == mpage->form) + return; + + /* + * Check whether this mlink + * appears as a name in the NAME section. + */ - return(match); + slot = ohash_qlookup(&strings, mlink->name); + str = ohash_find(&strings, slot); + assert(NULL != str); + if ( ! (TYPE_NAME & str->mask)) + say(mlink->file, "Name missing in NAME section"); } /* @@ -992,7 +1001,7 @@ mpages_merge(struct mchars *mc, struct m char *sodest; char *cp; pid_t child_pid; - int match, status; + int status; unsigned int pslot; enum mandoclevel lvl; @@ -1140,15 +1149,6 @@ mpages_merge(struct mchars *mc, struct m putkey(mpage, mlink->name, TYPE_Nm); } - if (warnings && !use_all) { - match = 0; - for (mlink = mpage->mlinks; mlink; - mlink = mlink->next) - if (mlink_check(mpage, mlink)) - match = 1; - } else - match = 1; - if (NULL != mdoc) { if (NULL != (cp = mdoc_meta(mdoc)->name)) putkey(mpage, cp, TYPE_Nm); @@ -1160,6 +1160,11 @@ mpages_merge(struct mchars *mc, struct m parse_man(mpage, man_node(man)); else parse_cat(mpage, fd[0]); + + if (warnings && !use_all) + for (mlink = mpage->mlinks; mlink; + mlink = mlink->next) + mlink_check(mpage, mlink); dbadd(mpage, mc); -- To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv