Module Name:    src
Committed By:   christos
Date:           Mon Jan 14 18:04:58 UTC 2013

Modified Files:
        src/usr.sbin/makemandb: Makefile apropos.c

Log Message:
Fix the #ifdef NOTYET, namely use the terminal standout mode to highlight the
search terms.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/makemandb/Makefile
cvs rdiff -u -r1.8 -r1.9 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/Makefile
diff -u src/usr.sbin/makemandb/Makefile:1.4 src/usr.sbin/makemandb/Makefile:1.5
--- src/usr.sbin/makemandb/Makefile:1.4	Mon Jan 14 13:01:59 2013
+++ src/usr.sbin/makemandb/Makefile	Mon Jan 14 13:04:58 2013
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4 2013/01/14 18:01:59 christos Exp $
+# $NetBSD: Makefile,v 1.5 2013/01/14 18:04:58 christos Exp $
 
 .include <bsd.own.mk>
 
@@ -26,8 +26,8 @@ MDOCMLLIB=	${MDOCMLOBJDIR}/libmandoc.a
 
 DPADD.makemandb+= 	${MDOCMLLIB} ${LIBARCHIVE} ${LIBBZ2} ${LIBLZMA}
 LDADD.makemandb+= 	-L${MDOCMLOBJDIR} -lmandoc -larchive -lbz2 -llzma
-DPADD+=		${LIBSQLITE3} ${LIBM} ${LIBZ} ${LIBUTIL}
-LDADD+=		-lsqlite3 -lm -lz -lutil
+DPADD+=		${LIBSQLITE3} ${LIBM} ${LIBZ} ${LIBTERMLIB} ${LIBUTIL}
+LDADD+=		-lsqlite3 -lm -lz -ltermlib -lutil
 
 stopwords.c: stopwords.txt
 	( set -e; ${TOOL_NBPERF} -n stopwords_hash -s -p ${.ALLSRC};	\

Index: src/usr.sbin/makemandb/apropos.c
diff -u src/usr.sbin/makemandb/apropos.c:1.8 src/usr.sbin/makemandb/apropos.c:1.9
--- src/usr.sbin/makemandb/apropos.c:1.8	Sat Oct  6 11:33:59 2012
+++ src/usr.sbin/makemandb/apropos.c	Mon Jan 14 13:04:58 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: apropos.c,v 1.8 2012/10/06 15:33:59 wiz Exp $	*/
+/*	$NetBSD: apropos.c,v 1.9 2013/01/14 18:04:58 christos Exp $	*/
 /*-
  * Copyright (c) 2011 Abhinav Upadhyay <er.abhinav.upadh...@gmail.com>
  * All rights reserved.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: apropos.c,v 1.8 2012/10/06 15:33:59 wiz Exp $");
+__RCSID("$NetBSD: apropos.c,v 1.9 2013/01/14 18:04:58 christos Exp $");
 
 #include <err.h>
 #include <search.h>
@@ -40,6 +40,7 @@ __RCSID("$NetBSD: apropos.c,v 1.8 2012/1
 #include <string.h>
 #include <unistd.h>
 #include <util.h>
+#include <term.h>
 
 #include "apropos-utils.h"
 #include "sqlite3.h"
@@ -65,12 +66,40 @@ __dead static void usage(void);
 
 #define _PATH_PAGER	"/usr/bin/more -s"
 
+static int
+term_init(int fd, const char *sa[3])
+{
+	if (!isatty(fd))
+		return 0;
+
+	TERMINAL *ti;
+	int error;
+	if (ti_setupterm(&ti, NULL, fd, &error) == -1)
+		return 0;
+
+	const char *rmso = ti_getstr(ti, "rmso");
+	if (rmso == NULL)
+		goto out;
+
+	const char *smso = ti_getstr(ti, "smso");
+	if (smso == NULL)
+		goto out;
+
+	sa[0] = estrdup(smso);
+	sa[1] = estrdup(rmso);
+	sa[2] = estrdup("...");
+	del_curterm(ti);
+	return 1;
+out:
+	del_curterm(ti);
+	return 0;
+
+}
+
 int
 main(int argc, char *argv[])
 {
-#ifdef NOTYET
-	static const char *snippet_args[] = {"\033[1m", "\033[0m", "..."};
-#endif
+	const char *snippet_args[3];
 	query_args args;
 	char *query = NULL;	// the user query
 	char *errmsg = NULL;
@@ -175,12 +204,12 @@ main(int argc, char *argv[])
 	args.callback_data = &cbdata;
 	args.errmsg = &errmsg;
 
-#ifdef NOTYET
-	rc = run_query(db, snippet_args, &args);
-#else
-	rc = run_query_pager(db, &args);
-#endif
 
+	if (term_init(STDOUT_FILENO, snippet_args))
+		rc = run_query(db, snippet_args, &args);
+	else
+		rc = run_query_pager(db, &args);
+		
 	free(query);
 	close_db(db);
 	if (errmsg) {

Reply via email to