Просмотр исходного кода

Fix awk subst.in/subst script path error (#2722832 - Martin Foster)

Thomas Guyot-Sionnest 16 лет назад
Родитель
Сommit
56cf66c9b8
3 измененных файлов с 13 добавлено и 10 удалено
  1. 1 0
      NEWS
  2. 1 0
      THANKS.in
  3. 11 10
      plugins-scripts/subst.in

+ 1 - 0
NEWS

@@ -33,6 +33,7 @@ This file documents the major additions and syntax changes between releases.
 	check_nt can return UNKNOWN on timeouts (-u)
 	Fixed typos for check_disk (Chris Pepper)
 	Fixed check_mysql* not using password set in my.cnf (#2531905 - Ben Timby) - Specify an empty password explicitly if you need to override it.
+	Fixed awk subst.in/subst script path error (#2722832 - Martin Foster)
 
 1.4.13 25th Sept 2008
 	Fix Debian bug #460097: check_http --max-age broken (Hilko Bengen)

+ 1 - 0
THANKS.in

@@ -251,3 +251,4 @@ John Barbuto
 Oskar Ahner
 Chris Pepper
 Ben Timby
+Martin Foster

+ 11 - 10
plugins-scripts/subst.in

@@ -47,6 +47,17 @@ BEGIN {
 /^#! ?\/.*\/[a-z]{0,2}awk/ {sub(/^#! ?\/.*\/[a-z]{0,2}awk/,"#! @AWK@");}
 /^#! ?\/.*\/sh/ {sub(/^#! ?\/.*\/sh/,"#! @SHELL@");}
 
+# If a script contains a reference to a fully qualified command,
+# subst will replace the fully qualified command with whatever is
+# returned from the which subroutine. run before changes to INC to add libexecdir
+# FIXME: Prepend executables with a substitution keyword instead.
+#
+/^[^#]/ && /(\/.*)?\/(bin|sbin|lib|libexec)\// {
+	match($0,/(\/.*)?\/(bin|sbin|lib|libexec)\/[-_a-zA-Z0-9]+/);
+	c=substr($0,RSTART,RLENGTH);
+	sub(c,which(c,path));
+}
+
 # add to libexecdir to INC for perl utils.pm
 /^use/ { if (/lib/) { if (/utils.pm|"."/ ) {sub(/utils.pm|"."/,led() )} } }
 
@@ -61,16 +72,6 @@ BEGIN {
 	sub(/\=.*$/,"='@with_trusted_path@' # autoconf-derived");
 }
 
-# If a script contains a reference to a fully qualified command, 
-# subst will replace the fully qualified command with whatever is
-# returned from the which subroutine
-#
-/^[^#]/ && /(\/.*)?\/(bin|sbin|lib|libexec)\// {
-	match($0,/(\/.*)?\/(bin|sbin|lib|libexec)\/[-_a-zA-Z0-9]+/);
-	c=substr($0,RSTART,RLENGTH);
-	sub(c,which(c,path));
-}
-
 {
 	print;
 }