=================================================================== RCS file: /cvs/mandoc/mandocdb.c,v retrieving revision 1.226 retrieving revision 1.230 diff -u -p -r1.226 -r1.230 --- mandoc/mandocdb.c 2016/08/05 17:22:45 1.226 +++ mandoc/mandocdb.c 2016/09/02 14:03:30 1.230 @@ -1,4 +1,4 @@ -/* $Id: mandocdb.c,v 1.226 2016/08/05 17:22:45 schwarze Exp $ */ +/* $Id: mandocdb.c,v 1.230 2016/09/02 14:03:30 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2011-2016 Ingo Schwarze @@ -448,10 +448,10 @@ mandocdb(int argc, char *argv[]) if (nodb == 0) dbprune(dba); } else { - /* - * Database missing or corrupt. - * Recreate from scratch. - */ + /* Database missing or corrupt. */ + if (op != OP_UPDATE || errno != ENOENT) + say(MANDOC_DB, "%s: Automatically recreating" + " from scratch", strerror(errno)); exitcode = (int)MANDOCLEVEL_OK; op = OP_DEFAULT; if (0 == treescan()) @@ -1049,7 +1049,7 @@ mlink_check(struct mpage *mpage, struct mlink *mlink) * architectures. * A few manuals are even shared across completely * different architectures, for example fdformat(1) - * on amd64, i386, sparc, and sparc64. + * on amd64, i386, and sparc64. */ if (strcasecmp(mpage->arch, mlink->arch)) @@ -2013,11 +2013,12 @@ dbadd(struct dba *dba, struct mpage *mpage) cp = mpage->desc; i = strlen(cp); mustfree = render_string(&cp, &i); - mpage->dba = dba_page_new(dba->pages, mlink->name, mpage->sec, + mpage->dba = dba_page_new(dba->pages, *mpage->arch == '\0' ? mlink->arch : mpage->arch, cp, mlink->file, mpage->form); if (mustfree) free(cp); + dba_page_add(mpage->dba, DBP_SECT, mpage->sec); while (mlink != NULL) { dbadd_mlink(mlink);