diff options
Diffstat (limited to 'crypto/openssh/fixpaths')
-rwxr-xr-x | crypto/openssh/fixpaths | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/crypto/openssh/fixpaths b/crypto/openssh/fixpaths new file mode 100755 index 0000000..7e4178e --- /dev/null +++ b/crypto/openssh/fixpaths @@ -0,0 +1,43 @@ +#!/usr/bin/perl -w +# +# fixpaths - substitute makefile variables into text files + + +$usage = "Usage: $0 [-Dstring=replacement] [[infile] ...]\n"; + +if (!defined(@ARGV)) { die ("$usage"); } + +# read in the command line and get some definitions +while ($_=$ARGV[0], /^-/) { + if (/^-D/) { + # definition + shift(@ARGV); + if ( /-D(.*)=(.*)/ ) { + $def{"$1"}=$2; + } else { + die ("$usage$0: error in command line arguments.\n"); + } + } else { + @cmd = split(//, $ARGV[0]); $opt = $cmd[1]; + die ("$usage$0: unknown option '-$opt'\n"); + } +} # while parsing arguments + +if (!defined(%def)) { + die ("$0: nothing to do - no substitutions listed!\n"); +} + +for $f (@ARGV) { + + $f =~ /(.*\/)*(.*)$/; + + open(IN, "<$f") || die ("$0: input file $f missing!\n"); + while (<IN>) { + for $s (keys(%def)) { + s#$s#$def{$s}#; + } # for $s + print; + } # while <IN> +} # for $f + +exit 0; |