summaryrefslogtreecommitdiffstats
path: root/mandocdb.c
diff options
context:
space:
mode:
Diffstat (limited to 'mandocdb.c')
-rw-r--r--mandocdb.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/mandocdb.c b/mandocdb.c
index 384f41f5..de0467a9 100644
--- a/mandocdb.c
+++ b/mandocdb.c
@@ -430,19 +430,20 @@ main(int argc, char *argv[])
ohash_init(&mlinks, 6, &mlinks_info);
if (OP_UPDATE == op || OP_DELETE == op || OP_TEST == op) {
- /*
- * Force processing all files.
- */
- use_all = 1;
/*
* All of these deal with a specific directory.
- * Jump into that directory then collect files specified
- * on the command-line.
+ * Jump into that directory first.
*/
if (0 == set_basedir(path_arg))
goto out;
+
if (dbopen(1)) {
+ /*
+ * The existing database is usable. Process
+ * all files specified on the command-line.
+ */
+ use_all = 1;
for (i = 0; i < argc; i++)
filescan(argv[i]);
if (OP_TEST != op)
@@ -452,6 +453,7 @@ main(int argc, char *argv[])
* Database missing or corrupt.
* Recreate from scratch.
*/
+ exitcode = (int)MANDOCLEVEL_OK;
op = OP_DEFAULT;
if (0 == treescan())
goto out;