summaryrefslogtreecommitdiffstats
path: root/fixpaths
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2002-12-05 20:59:33 +1100
committerDamien Miller <djm@mindrot.org>2002-12-05 20:59:33 +1100
commitab1c12a11c0c05223405a814d39281b5b0b9b712 (patch)
tree029b70174bad312c5585237fb463483c4c7e9468 /fixpaths
parent1c9e688548a0f47fcfe41de43625f5b8a7d500dd (diff)
- (djm) PERL-free fixpaths from stuge-openssh-unix-dev@cdy.org
Diffstat (limited to 'fixpaths')
-rwxr-xr-xfixpaths49
1 files changed, 14 insertions, 35 deletions
diff --git a/fixpaths b/fixpaths
index 7e4178e4..60a67990 100755
--- a/fixpaths
+++ b/fixpaths
@@ -1,43 +1,22 @@
-#!/usr/bin/perl -w
+#!/bin/sh
#
# fixpaths - substitute makefile variables into text files
+# Usage: fixpaths -Dsomething=somethingelse ...
-
-$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");
+die() {
+ echo $*
+ exit -1
}
-for $f (@ARGV) {
+test -n "`echo $1|grep -- -D`" || \
+ die $0: nothing to do - no substitutions listed!
+
+test -n "`echo $1|grep -- '-D[^=]\+=[^ ]\+'`" || \
+ die $0: error in command line arguments.
- $f =~ /(.*\/)*(.*)$/;
+test -n "`echo $*|grep -- ' [^-]'`" || \
+ die Usage: $0 '[-Dstring=replacement] [[infile] ...]'
- 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
+sed `echo $*|sed -e 's/-D\([^=]\+\)=\([^ ]*\)/-e s=\1=\2=g/g'`
-exit 0;
+exit 0