Skip to content

Commit

Permalink
optimized delAllArgs
Browse files Browse the repository at this point in the history
  • Loading branch information
valyala committed Mar 11, 2016
1 parent e0eac18 commit 3f6e5b6
Showing 1 changed file with 3 additions and 12 deletions.
15 changes: 3 additions & 12 deletions args.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 3f6e5b6

Please sign in to comment.