From 1158f11cb31e1d3689ea32bdbf621ffe04bdd925 Mon Sep 17 00:00:00 2001 From: Juliusz Chroboczek Date: Sun, 8 Jun 2025 23:14:22 +0200 Subject: [PATCH] Avoid recursion in Param.Get. We like our small stacks, and I don't think Go does tail recursion. --- sip/param.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sip/param.go b/sip/param.go index 7353003..6cf5465 100644 --- a/sip/param.go +++ b/sip/param.go @@ -30,13 +30,13 @@ type Param struct { // Get returns an entry in O(n) time. func (p *Param) Get(name string) *Param { - if p == nil { - return nil - } - if strings.EqualFold(p.Name, name) { - return p + for p != nil { + if strings.EqualFold(p.Name, name) { + return p + } + p = p.Next } - return p.Next.Get(name) + return nil } // Append serializes parameters in insertion order.