On 18.01.2024 12:51, Alexander Kogan wrote:
Hi,

There's an error in re.subst transformation, it's not whitespace-safe. Is this patch OK?

Index: transformations.c
===================================================================
--- transformations.c   (revision 13886)
+++ transformations.c   (working copy)
@@ -3630,7 +3630,7 @@
                }
                p++;
                LM_DBG("preparing to parse param\n");
-               if (tr_parse_sparam(p, in, &tp, 0) == NULL)
+               if (tr_parse_sparam(p, in, &tp, 1) == NULL)
                        goto error;
                t->params = tp;
                tp = 0;

Hi Alexander,

Looks OK to me, for example this quick test seems to PASS after your patch without any side-effects on other tests:

    $var(in) = "+443 493 2212";
    assert($(var(in){re.subst, /([0-9]) ([0-9])/\1.\2/g}) == "+443.493.2212", "test-subst-2");

If you do a Pull Request on `master`, it will most likely get merged.  For the stable branches, this limitation can be bypassed by assigning the regex to a variable:

    $var(in) = "+443 493 2212";
    $var(re) = "/([0-9]) ([0-9])/\1.\2/g";
    assert($(var(in){re.subst, $var(re)}) == "+443.493.2212", "test-subst-2");

Best regards,

--
Liviu Chircu
www.twitter.com/liviuchircu | www.opensips-solutions.com
OpenSIPS Summit 2024 May 14-17 Valencia | www.opensips.org/events


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to