Module Name: src
Committed By: gutteridge
Date: Tue May 17 00:21:22 UTC 2022
Modified Files:
src/usr.sbin/makemandb: apropos.c
Log Message:
apropos.c: fix pager functionality
Issue reported by Rocky Hotas on NetBSD-Users, patch input from RVP on
same, adjustments by me.
To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/usr.sbin/makemandb/apropos.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.sbin/makemandb/apropos.c
diff -u src/usr.sbin/makemandb/apropos.c:1.24 src/usr.sbin/makemandb/apropos.c:1.25
--- src/usr.sbin/makemandb/apropos.c:1.24 Sat Nov 25 14:29:38 2017
+++ src/usr.sbin/makemandb/apropos.c Tue May 17 00:21:22 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: apropos.c,v 1.24 2017/11/25 14:29:38 abhinav Exp $ */
+/* $NetBSD: apropos.c,v 1.25 2022/05/17 00:21:22 gutteridge Exp $ */
/*-
* Copyright (c) 2011 Abhinav Upadhyay <[email protected]>
* All rights reserved.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: apropos.c,v 1.24 2017/11/25 14:29:38 abhinav Exp $");
+__RCSID("$NetBSD: apropos.c,v 1.25 2022/05/17 00:21:22 gutteridge Exp $");
#include <err.h>
#include <stdio.h>
@@ -157,6 +157,7 @@ main(int argc, char *argv[])
char *query = NULL; // the user query
char *errmsg = NULL;
char *str;
+ int pc = 0;
int rc = 0;
size_t i;
int s;
@@ -249,6 +250,8 @@ main(int argc, char *argv[])
if (aflags.format == APROPOS_HTML)
fprintf(cbdata.out, "</table>\n</body>\n</html>\n");
+ if (aflags.pager)
+ pc = pclose(cbdata.out);
free(query);
if (aflags.sections) {
@@ -264,6 +267,9 @@ main(int argc, char *argv[])
exit(EXIT_FAILURE);
}
+ if (pc == -1)
+ err(EXIT_FAILURE, "pclose error");
+
if (rc < 0) {
/* Something wrong with the database. Exit */
exit(EXIT_FAILURE);