Deleted Added
full compact
device.subr (273067) device.subr (273068)
1if [ ! "$_DEVICE_SUBR" ]; then _DEVICE_SUBR=1
2#
3# Copyright (c) 2012-2014 Devin Teske
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:

--- 10 unchanged lines hidden (view full) ---

19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25# SUCH DAMAGE.
26#
1if [ ! "$_DEVICE_SUBR" ]; then _DEVICE_SUBR=1
2#
3# Copyright (c) 2012-2014 Devin Teske
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:

--- 10 unchanged lines hidden (view full) ---

19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25# SUCH DAMAGE.
26#
27# $FreeBSD: head/usr.sbin/bsdconfig/share/device.subr 273067 2014-10-14 03:11:46Z dteske $
27# $FreeBSD: head/usr.sbin/bsdconfig/share/device.subr 273068 2014-10-14 03:22:37Z dteske $
28#
29############################################################ INCLUDES
30
31BSDCFG_SHARE="/usr/share/bsdconfig"
32. $BSDCFG_SHARE/common.subr || exit 1
33f_dprintf "%s: loading includes..." device.subr
34f_include $BSDCFG_SHARE/dialog.subr
35f_include $BSDCFG_SHARE/geom.subr

--- 1075 unchanged lines hidden (view full) ---

1111# (newline to be specific) unless $var_to_set is present and non-NULL.
1112#
1113# This function is a two-parter. Below is the awk(1) portion of the function,
1114# afterward is the sh(1) function which utilizes the below awk script.
1115#
1116f_device_sort_by_awk='
1117# Variables that should be defined on the invocation line:
1118# -v prop="property"
28#
29############################################################ INCLUDES
30
31BSDCFG_SHARE="/usr/share/bsdconfig"
32. $BSDCFG_SHARE/common.subr || exit 1
33f_dprintf "%s: loading includes..." device.subr
34f_include $BSDCFG_SHARE/dialog.subr
35f_include $BSDCFG_SHARE/geom.subr

--- 1075 unchanged lines hidden (view full) ---

1111# (newline to be specific) unless $var_to_set is present and non-NULL.
1112#
1113# This function is a two-parter. Below is the awk(1) portion of the function,
1114# afterward is the sh(1) function which utilizes the below awk script.
1115#
1116f_device_sort_by_awk='
1117# Variables that should be defined on the invocation line:
1118# -v prop="property"
1119function asorti(src, dest)
1119function _asorti(src, dest)
1120{
1121 k = nitems = 0
1122 for (i in src) dest[++nitems] = i
1123 for (i = 1; i <= nitems; k = i++) {
1124 idx = dest[i]
1125 while ((k > 0) && (dest[k] > idx)) {
1126 dest[k+1] = dest[k]; k--
1127 }

--- 4 unchanged lines hidden (view full) ---

1132{
1133 split($0, devs, FS)
1134 for (d in devs) {
1135 name = ENVIRON["_struct_value_" devs[d] "_" prop]
1136 devices[name] = devs[d]
1137 }
1138}
1139END {
1120{
1121 k = nitems = 0
1122 for (i in src) dest[++nitems] = i
1123 for (i = 1; i <= nitems; k = i++) {
1124 idx = dest[i]
1125 while ((k > 0) && (dest[k] > idx)) {
1126 dest[k+1] = dest[k]; k--
1127 }

--- 4 unchanged lines hidden (view full) ---

1132{
1133 split($0, devs, FS)
1134 for (d in devs) {
1135 name = ENVIRON["_struct_value_" devs[d] "_" prop]
1136 devices[name] = devs[d]
1137 }
1138}
1139END {
1140 nitems = asorti(devices, devices_sorted)
1140 nitems = _asorti(devices, devices_sorted)
1141 for (i = 1; i <= nitems; i++) print devices[devices_sorted[i]]
1142}
1143'
1144f_device_sort_by()
1145{
1146 local __property="${1:-name}" __var_to_get="$2" __var_to_set="$3"
1147
1148 f_isset "$__var_to_get" || return $FAILURE

--- 248 unchanged lines hidden ---
1141 for (i = 1; i <= nitems; i++) print devices[devices_sorted[i]]
1142}
1143'
1144f_device_sort_by()
1145{
1146 local __property="${1:-name}" __var_to_get="$2" __var_to_set="$3"
1147
1148 f_isset "$__var_to_get" || return $FAILURE

--- 248 unchanged lines hidden ---