]> andersk Git - openssh.git/blobdiff - fixpaths
- millert@cvs.openbsd.org 2001/03/04 17:42:28
[openssh.git] / fixpaths
index 8a6740649e5fa6045375d6f3bd65573232dc1a8e..edd9e486f17e119c0f18af96096da413c6cfb7c7 100755 (executable)
--- a/fixpaths
+++ b/fixpaths
@@ -3,22 +3,27 @@
 # 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");
+    @cmd = split(//, $ARGV[0]); $opt = $cmd[1];
+    die ("$usage$0: unknown option '-$opt'\n");
   }
 } # while parsing arguments
 
@@ -29,17 +34,16 @@ 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}#;
-      } # for $s
-      print OUT;
-    } # while <IN>
-  } # if (outfile open)
+  open(OUT, ">$of")        || die ("$0: cannot create output file $of: $!\n");
+  while (<IN>) {
+    for $s (keys(%def)) {
+      s#$s#$def{$s}#;
+    } # for $s
+    print OUT;
+  } # while <IN>
 } # for $f
 
 exit 0;
This page took 0.035458 seconds and 4 git commands to generate.