#!/bin/bash

# iterates recursively over specified directory, tries to convert
# man pages and prints to stderr on errors.

# if called with two arguments, the first is the path to pandoc,
# and the second is the directory.  if with one argument, it
# is the directory, and pandoc is used from path.

if [ $# -eq 2 ]; then
        PANDOC=$1
        DIR=$2
elif [ $# -eq 1 ]; then
        PANDOC=pandoc
        DIR=$1
else
	echo "Not enough arguments"
	exit 1
fi

$PANDOC --version > /dev/null || { echo "pandoc executable error" >&2 ; exit 1 ; }

for f in `find "$DIR" -name '*.[0-9]'`; do
    ( iconv -f utf8 -t utf8 $f 2>/dev/null || iconv -f latin1 -t utf8 $f ) | \
        $PANDOC --resource-path "$DIR":"$(dirname $f)" -f man -o /dev/null || echo "Failed to convert $f"
done