summaryrefslogtreecommitdiff
path: root/other/openssh-reverse/fixpaths
diff options
context:
space:
mode:
Diffstat (limited to 'other/openssh-reverse/fixpaths')
-rwxr-xr-xother/openssh-reverse/fixpaths50
1 files changed, 50 insertions, 0 deletions
diff --git a/other/openssh-reverse/fixpaths b/other/openssh-reverse/fixpaths
new file mode 100755
index 0000000..4badd98
--- /dev/null
+++ b/other/openssh-reverse/fixpaths
@@ -0,0 +1,50 @@
1#!/usr/bin/perl -w
2#
3# fixpaths - substitute makefile variables into text files
4
5
6$usage = "Usage: $0 [-x<file dot-suffix>] [-Dstring=replacement] [[infile] ...]\n";
7
8$ext="out";
9
10if (!defined(@ARGV)) { die ("$usage"); }
11
12# read in the command line and get some definitions
13while ($_=$ARGV[0], /^-/) {
14 if (/^-[Dx]/) {
15 # definition
16 shift(@ARGV);
17 if ( /-D(.*)=(.*)/ ) {
18 $def{"$1"}=$2;
19 } elsif ( /-x\s*(\w+)/ ) {
20 $ext=$1;
21 } else {
22 die ("$usage$0: error in command line arguments.\n");
23 }
24 } else {
25 @cmd = split(//, $ARGV[0]); $opt = $cmd[1];
26 die ("$usage$0: unknown option '-$opt'\n");
27 }
28} # while parsing arguments
29
30if (!defined(%def)) {
31 die ("$0: nothing to do - no substitutions listed!\n");
32}
33
34for $f (@ARGV) {
35
36 $f =~ /(.*\/)*(.*)$/;
37 $of = $2.".$ext";
38
39 open(IN, "<$f") || die ("$0: input file $f missing!\n");
40 if (open(OUT, ">$of")) {
41 while (<IN>) {
42 for $s (keys(%def)) {
43 s#$s#$def{$s}#;
44 } # for $s
45 print OUT;
46 } # while <IN>
47 } # if (outfile open)
48} # for $f
49
50exit 0;