1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

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 <mpatocka@redhat.com>
This commit is contained in:
Mikulas Patocka 2010-05-21 15:28:16 +00:00
parent dc7d777606
commit 3ed801fb95
2 changed files with 6 additions and 5 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.67 - Version 2.02.67 -
=============================== ===============================
Fixed scripts/relpath.awk to work in mawk
Add _add_partial_replicator_to_dtree(). Add _add_partial_replicator_to_dtree().
Activation code read and releases also remote VGs (Replicator). Activation code read and releases also remote VGs (Replicator).
Check for missing VGs before taking lock_vol (Replicator). Check for missing VGs before taking lock_vol (Replicator).

View File

@ -19,17 +19,17 @@
# -> ../../e/f/ # -> ../../e/f/
{ {
split($1, from, "/"); length_from = split($1, from, "/");
split($2, to, "/") ; length_to = split($2, to, "/") ;
l = 1; 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++; l++;
for (i = l; i <= length(from) && length(from[i]); i++) { for (i = l; i <= length_from && length(from[i]); i++) {
if (i > l) if (i > l)
p = sprintf("%s/", p); p = sprintf("%s/", p);
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) if (length(p) > 0)
p = sprintf("%s/", p); p = sprintf("%s/", p);
p = sprintf("%s%s", p, to[i]); p = sprintf("%s%s", p, to[i]);