Fix awk(1) asorti() implementation to work when called in a loop.

MFC after:	3 days
X-MFC-to:	stable/10, stable/9
This commit is contained in:
Devin Teske 2014-10-14 03:11:46 +00:00
parent 78433c77c6
commit 489979a77d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=273067
3 changed files with 7 additions and 2 deletions

View File

@ -71,8 +71,10 @@ show_include()
-v show_desc=${SHOW_DESC:-0} '
function asorti(src, dest)
{
k = nitems = 0;
# Copy src indices to dest and calculate array length
nitems = 0; for (i in src) dest[++nitems] = i
for (i in src) dest[++nitems] = i
# Sort the array of indices (dest) using insertion sort method
for (i = 1; i <= nitems; k = i++)

View File

@ -1118,6 +1118,7 @@ f_device_sort_by_awk='
# -v prop="property"
function asorti(src, dest)
{
k = nitems = 0
for (i in src) dest[++nitems] = i
for (i = 1; i <= nitems; k = i++) {
idx = dest[i]

View File

@ -243,8 +243,10 @@ f_index_read()
eval "$( debug= f_getvar "$var_to_get" | awk -F'|' '
function asorti(src, dest)
{
k = nitems = 0
# Copy src indices to dest and calculate array length
nitems = 0; for (i in src) dest[++nitems] = i
for (i in src) dest[++nitems] = i
# Sort the array of indices (dest) using insertion sort method
for (i = 1; i <= nitems; k = i++)