From 334bbf21155417ff9a54fce713bbbf4c718f2fe9 Mon Sep 17 00:00:00 2001 From: Sven Dowideit Date: Thu, 7 Jan 2021 11:16:13 +1000 Subject: [PATCH] use a more naive approach to removing an element from a list Signed-off-by: Sven Dowideit --- client.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/client.go b/client.go index 8fbbe11..003eb98 100644 --- a/client.go +++ b/client.go @@ -94,12 +94,13 @@ func (p *Provider) deleteRecord(ctx context.Context, zone string, record libdns. if len(rec.RRSetValues) > 1 { // if it contains multiple values, the best is to update the record instead of deleting all the values - for i, val := range rec.RRSetValues { - if val == record.Value { - rec.RRSetValues[len(rec.RRSetValues)-1], rec.RRSetValues[i] = rec.RRSetValues[i], rec.RRSetValues[len(rec.RRSetValues)-1] - rec.RRSetValues = rec.RRSetValues[:len(rec.RRSetValues)-1] + newRRSetValues := []string{} + for _, val := range rec.RRSetValues { + if val != record.Value { + newRRSetValues = append(newRRSetValues, val) } } + rec.RRSetValues = newRRSetValues raw, err := json.Marshal(rec) if err != nil {