- Big manpage and config file cleanup from Andre Lucas
   <andre.lucas@dial.pipex.com>
   - Re-added latest (unmodified) OpenBSD manpages
diff --git a/fixpaths b/fixpaths
index 8a67406..e6f47c7 100755
--- a/fixpaths
+++ b/fixpaths
@@ -3,22 +3,26 @@
 # fixpaths  - substitute makefile variables into text files
 
 
-$usage = "Usage: $0 [-D<variable>=<value>] [[infile] ...]\n";
+$usage = "Usage: $0 [-x<file dot-suffix>] [-Dstring=replacement] [[infile] ...]\n";
+
+$ext="out";
 
 if (!defined(@ARGV)) { die ("$usage"); }
 
 # read in the command line and get some definitions
 while ($_=$ARGV[0], /^-/) {
-  if (/^-D/) {
+  if (/^-[Dx]/) {
     # definition
     shift(@ARGV);
     if ( /-D(.*)=(.*)/ ) {
       $def{"$1"}=$2;
+    } elsif ( /-x\s*(\w+)/ ) {
+	$ext=$1;
     } else {
       die ("$usage$0: error in command line arguments.\n");
     }
   } else {
-    &usage; die ("$usage$0: unknown option '-".$ARGV[0][1]."'\n");
+    die ("$usage$0: unknown option '-".$ARGV[0][1]."'\n");
   }
 } # while parsing arguments
 
@@ -29,13 +33,13 @@
 for $f (@ARGV) {
 
   $f =~ /(.*\/)*(.*)$/;
-  $of = $2; $of =~ s/.in$//;
+  $of = $2.".$ext"; 
 
   open(IN, "<$f")          || die ("$0: input file $f missing!\n");
   if (open(OUT, ">$of")) {
     while (<IN>) {
       for $s (keys(%def)) {
-	s#\@$s\@#$def{$s}#;
+	s#$s#$def{$s}#;
       } # for $s
       print OUT;
     } # while <IN>