From 3ed801fb95bde9db0d52e839ee688edb7125c238 Mon Sep 17 00:00:00 2001 From: Mikulas Patocka Date: Fri, 21 May 2010 15:28:16 +0000 Subject: [PATCH] Fix scripts/relpath.awk to work with mawk length(array) is specific to GNU awk and doesn't work in mawk. Use a return value of "split" function to indicate array size, this is supported in both gawk and mawk. This patch fixes the following errors during "make install" when mawk is installed as a default awk. mawk: scripts/relpath.awk: line 25: illegal reference to array from mawk: scripts/relpath.awk: line 25: illegal reference to array to mawk: scripts/relpath.awk: line 27: illegal reference to array from mawk: scripts/relpath.awk: line 32: illegal reference to array to Signed-off-by: Mikulas Patocka --- WHATS_NEW | 1 + scripts/relpath.awk | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/WHATS_NEW b/WHATS_NEW index bc1babf9b..6989e6453 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.67 - =============================== + Fixed scripts/relpath.awk to work in mawk Add _add_partial_replicator_to_dtree(). Activation code read and releases also remote VGs (Replicator). Check for missing VGs before taking lock_vol (Replicator). diff --git a/scripts/relpath.awk b/scripts/relpath.awk index 26fe1eeaa..9195ed8fc 100755 --- a/scripts/relpath.awk +++ b/scripts/relpath.awk @@ -19,17 +19,17 @@ # -> ../../e/f/ { - split($1, from, "/"); - split($2, to, "/") ; + length_from = split($1, from, "/"); + length_to = split($2, to, "/") ; l = 1; - while (l <= length(from) && l <= length(to) && from[l] == to[l]) + while (l <= length_from && l <= length_to && from[l] == to[l]) l++; - for (i = l; i <= length(from) && length(from[i]); i++) { + for (i = l; i <= length_from && length(from[i]); i++) { if (i > l) p = sprintf("%s/", p); p = sprintf("%s..", p); } - for (i = l; i <= length(to) && length(to[i]); i++) { + for (i = l; i <= length_to && length(to[i]); i++) { if (length(p) > 0) p = sprintf("%s/", p); p = sprintf("%s%s", p, to[i]);