#
# HELP: SYNOPSIS:
# HELP:     generic/multivol/sortvol
# HELP:
# HELP: DESCRIPTION:
# HELP:     Sorts all volumes
#
CECHO ${$root.func.var.new("string","firstvol")}                                     
CECHO ${$firstvol=$root.vol[current].name}
CECHO ${$root.func.var.new("int","numvols")}                                     
CECHO ${$root.func.var.new("int","i")}
CECHO ${$root.func.var.new("int","j")}                                     
CECHO ${$numvols=0}
{ NEXTVOL 1
  CECHO ${$numvols=$numvols+1}
  VOL_SET *NEXT*
} NEXTVOL 1 ${$root.vol[current].name!=$firstvol}

CECHO ${$i=0}
{ OUTERLOOP
	CECHO ${$j=0}
	VOL_SET *TOP*
	# skip already sorted start.
	{ SKIPSELECTED ${$j<$i}
		VOL_SET *NEXT*
	} SKIPSELECTED ${$j+=1} 1
	# search for the biggest name
	CECHO ${$firstvol=$root.vol[current].name}
	{ INNERLOOP ${$j<$numvols}
		VOL_SET *NEXT*
		{ SWAP ${$firstvol<=$root.vol[current].name}
			CECHO ${$firstvol=$root.vol[current].name}
		} SWAP 0 0
	} INNERLOOP ${$j+=1} 1
	# move found smallest name to next position.
	CECHO MOVING ${$firstvol} to ${$i}
	VOL_MOVETO ${$firstvol} ${$i}
} OUTERLOOP ${$i=$i+1} ${$i<$numvols}
