[sr-dev] git:5.4:d0f7c705: core: strutils - trim trailing spaces when comparing hdr names

Daniel-Constantin Mierla miconda at gmail.com
Thu Jul 16 17:31:24 CEST 2020


Module: kamailio
Branch: 5.4
Commit: d0f7c7056b32351cac0b20ce24b074d9be8459a2
URL: https://github.com/kamailio/kamailio/commit/d0f7c7056b32351cac0b20ce24b074d9be8459a2

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2020-07-16T17:31:06+02:00

core: strutils - trim trailing spaces when comparing hdr names

(cherry picked from commit 6d76b79b81bf448fa1f34753c1d000dc6c1870e0)

---

Modified: src/core/strutils.c
Modified: src/core/strutils.h

---

Diff:  https://github.com/kamailio/kamailio/commit/d0f7c7056b32351cac0b20ce24b074d9be8459a2.diff
Patch: https://github.com/kamailio/kamailio/commit/d0f7c7056b32351cac0b20ce24b074d9be8459a2.patch

---

diff --git a/src/core/strutils.c b/src/core/strutils.c
index e106dfe713..75d5b1ec10 100644
--- a/src/core/strutils.c
+++ b/src/core/strutils.c
@@ -28,6 +28,7 @@
 
 #include "dprint.h"
 #include "ut.h"
+#include "trim.h"
 #include "strutils.h"
 
 /*! \brief
@@ -453,16 +454,24 @@ int cmpi_str(str *s1, str *s2)
 
 int cmp_hdrname_str(str *s1, str *s2)
 {
+	str n1, n2;
+	n1 = *s1;
+	n2 = *s2;
+	trim_trailing(&n1);
+	trim_trailing(&n2);
 	/* todo: parse hdr name and compare with short/long alternative */
-	return cmpi_str(s1, s2);
+	return cmpi_str(&n1, &n2);
 }
 
-int cmp_hdrname_strzn(str *s1, char *s2, size_t n)
+int cmp_hdrname_strzn(str *s1, char *s2, size_t len)
 {
-	str s;
-	s.s = s2;
-	s.len = n;
-	return cmpi_str(s1, &s);
+	str n1, n2;
+	n1 = *s1;
+	n2.s = s2;
+	n2.len = len;
+	trim_trailing(&n1);
+	trim_trailing(&n2);
+	return cmpi_str(&n1, &n2);
 }
 
 int cmp_str_params(str *s1, str *s2)
diff --git a/src/core/strutils.h b/src/core/strutils.h
index 4747f898fd..fbaef7ee7a 100644
--- a/src/core/strutils.h
+++ b/src/core/strutils.h
@@ -43,7 +43,7 @@ int cmp_str(str *s1, str *s2);
 int cmpi_str(str *s1, str *s2);
 
 int cmp_hdrname_str(str *s1, str *s2);
-int cmp_hdrname_strzn(str *s1, char *s2, size_t n);
+int cmp_hdrname_strzn(str *s1, char *s2, size_t len);
 int cmp_uri_str(str *s1, str *s2);
 int cmp_uri_light_str(str *s1, str *s2);
 int cmp_aor_str(str *s1, str *s2);




More information about the sr-dev mailing list