mirror of
https://github.com/valyala/fasthttp.git
synced 2026-06-13 15:46:49 +03:00
optimized delAllArgs
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user