summaryrefslogtreecommitdiff
path: root/fixpaths
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2000-01-20 23:13:36 +1100
committerDamien Miller <djm@mindrot.org>2000-01-20 23:13:36 +1100
commit886c63a2c533e8ce8818580920232e4903a27da7 (patch)
treefe165f9c88b10cdef0b09873c14f118d127ce64e /fixpaths
parent88b86e40d65b3cf1238ad9eee67555a2acae61a8 (diff)
- Big manpage and config file cleanup from Andre Lucas
<andre.lucas@dial.pipex.com> - Re-added latest (unmodified) OpenBSD manpages
Diffstat (limited to 'fixpaths')
-rwxr-xr-xfixpaths14
1 files changed, 9 insertions, 5 deletions
diff --git a/fixpaths b/fixpaths
index 8a674064..e6f47c71 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 @@ if (!defined(%def)) {
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>