diff --git a/args.go b/args.go index bf9ffa2..7850724 100644 --- a/args.go +++ b/args.go @@ -287,23 +287,14 @@ func copyArgs(dst, src []argsKV) []argsKV { } func delAllArgs(args []argsKV, key []byte) []argsKV { - for { - argsNew := delArg(args, key) - if len(argsNew) == len(args) { - return args - } - args = argsNew - } -} - -func delArg(args []argsKV, key []byte) []argsKV { for i, n := 0, len(args); i < n; i++ { kv := &args[i] if bytes.Equal(kv.key, key) { tmp := *kv copy(args[i:], args[i+1:]) - args[n-1] = tmp - return args[:n-1] + n-- + args[n] = tmp + args = args[:n] } } return args