diff --git a/cli/app/list.go b/cli/app/list.go index 4917c4a5..91404902 100644 --- a/cli/app/list.go +++ b/cli/app/list.go @@ -183,9 +183,7 @@ can take some time. stats.latestCount++ } } else { - for i, j := 0, len(newUpdates)-1; i < j; i, j = i+1, j-1 { - newUpdates[i], newUpdates[j] = newUpdates[j], newUpdates[i] - } + newUpdates = internal.ReverseStringList(newUpdates) appStats.upgrade = strings.Join(newUpdates, "\n") stats.upgradeCount++ } diff --git a/cli/app/rollback.go b/cli/app/rollback.go index f9a7bb41..77741dc7 100644 --- a/cli/app/rollback.go +++ b/cli/app/rollback.go @@ -112,9 +112,7 @@ recipes. } } - for i, j := 0, len(availableDowngrades)-1; i < j; i, j = i+1, j-1 { - availableDowngrades[i], availableDowngrades[j] = availableDowngrades[j], availableDowngrades[i] - } + availableDowngrades = internal.ReverseStringList(availableDowngrades) var chosenDowngrade string if !internal.Chaos { diff --git a/cli/app/upgrade.go b/cli/app/upgrade.go index c17b3cce..3fe30c63 100644 --- a/cli/app/upgrade.go +++ b/cli/app/upgrade.go @@ -119,6 +119,8 @@ recipes. } } + availableUpgrades = internal.ReverseStringList(availableUpgrades) + var chosenUpgrade string if len(availableUpgrades) > 0 && !internal.Chaos { if internal.Force { diff --git a/cli/internal/list.go b/cli/internal/list.go new file mode 100644 index 00000000..d2a89527 --- /dev/null +++ b/cli/internal/list.go @@ -0,0 +1,10 @@ +package internal + +// ReverseStringList reverses a list of a strings. Roll on Go generics. +func ReverseStringList(strings []string) []string { + for i, j := 0, len(strings)-1; i < j; i, j = i+1, j-1 { + strings[i], strings[j] = strings[j], strings[i] + } + + return strings +}