summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/util.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/android/util.go b/android/util.go
index 38e0a4dbb..fb09128f8 100644
--- a/android/util.go
+++ b/android/util.go
@@ -276,6 +276,8 @@ func RemoveFromList(s string, list []string) (bool, []string) {
// FirstUniqueStrings returns all unique elements of a slice of strings, keeping the first copy of
// each. It modifies the slice contents in place, and returns a subslice of the original slice.
func FirstUniqueStrings(list []string) []string {
+ // Do not moodify the input in-place, operate on a copy instead.
+ list = CopyOf(list)
// 128 was chosen based on BenchmarkFirstUniqueStrings results.
if len(list) > 128 {
return firstUniqueStringsMap(list)
@@ -332,6 +334,7 @@ func LastUniqueStrings(list []string) []string {
// SortedUniqueStrings returns what the name says
func SortedUniqueStrings(list []string) []string {
+ // FirstUniqueStrings creates a copy of `list`, so the input remains untouched.
unique := FirstUniqueStrings(list)
sort.Strings(unique)
return unique