- while (*argv) {
- parse(&curp, -1, *argv, &rc);
+ while (argc) {
+#if HAVE_SQLITE3
+ if (resp != NULL) {
+ rc = mparse_open(curp.mp, &fd, resp->file,
+ &child_pid);
+ if (fd == -1)
+ /* nothing */;
+ else if (resp->form & FORM_SRC) {
+ /* For .so only; ignore failure. */
+ chdir(paths.paths[resp->ipath]);
+ parse(&curp, fd, resp->file, &rc);
+ } else
+ rc = passthrough(resp->file, fd);
+ resp++;
+ } else
+#endif
+ {
+ rc = mparse_open(curp.mp, &fd, *argv++,
+ &child_pid);
+ if (fd != -1)
+ parse(&curp, fd, argv[-1], &rc);
+ }
+
+ if (child_pid &&
+ mparse_wait(curp.mp, child_pid) != MANDOCLEVEL_OK)
+ rc = MANDOCLEVEL_SYSERR;
+