From 438763b6e231410b95b5e352feb65c63cd54de6a Mon Sep 17 00:00:00 2001
From: Julien Cristau <jcristau@debian.org>
Date: Fri, 7 Nov 2014 16:19:57 +0000
Subject: [PATCH] If we have man-db, don't try and emulate man's pipeline

Just let man itself do the formatting / zsoelim / ... dance.

Debian bug#764792 <https://bugs.debian.org/764792>

Signed-off-by: Julien Cristau <jcristau@debian.org>
---
 xman/configure.ac | 5 +++++
 xman/misc.c       | 8 ++++++++
 2 files changed, 13 insertions(+)

diff --git a/xman/configure.ac b/xman/configure.ac
index 9a80cbb..8bb44f2 100644
--- a/xman/configure.ac
+++ b/xman/configure.ac
@@ -44,6 +44,11 @@ if test "x$GROFF" = "xfound" ; then
    AC_DEFINE([HAS_GROFF], 1, [Define to 1 if you have the groff package.])
 fi
 
+AC_CHECK_PROG([MANDB], [mandb], [yes], [no])
+if test x"$MANDB" = xyes; then
+	AC_DEFINE([HAVE_MANDB], 1, [Define if the man implementation is man-db])
+fi
+
 AC_CHECK_FUNCS([mkstemp])
 
 AC_ARG_WITH(helpdir,
diff --git a/xman/misc.c b/xman/misc.c
index 06891cd..da8744a 100644
--- a/xman/misc.c
+++ b/xman/misc.c
@@ -661,6 +661,13 @@ static Boolean
 ConstructCommand(char *cmdbuf, const char *path,
                  const char *filename, const char *tempfile)
 {
+#ifdef HAVE_MANDB
+    int used = snprintf(cmdbuf, BUFSIZ, "man -l %s > %s 2>/dev/null",
+                        filename, tempfile);
+    if (used >= BUFSIZ - 1)
+	return FALSE;
+    return TRUE;
+#else
     /* The original code did the following to produce a command line:
      *   sprintf(cmdbuf,"cd %s ; %s %s %s > %s %s", path, TBL,
      *      filename, FORMAT, man_globals->tempfile, "2> /dev/null");
@@ -783,6 +790,7 @@ ConstructCommand(char *cmdbuf, const char *path,
         return (FALSE);
 
     return (TRUE);
+#endif /* man-db */
 }
 #endif                          /* HANDLE_ROFFSEQ */
 
-- 
2.1.1

