<!-- Kamailio Pull Request Template -->
<!-- IMPORTANT: - for detailed contributing guidelines, read: https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md - pull requests must be done to master branch, unless they are backports of fixes from master branch to a stable branch - backports to stable branches must be done with 'git cherry-pick -x ...' - code is contributed under BSD for core and main components (tm, sl, auth, tls) - code is contributed GPLv2 or a compatible license for the other components - GPL code is contributed with OpenSSL licensing exception -->
#### Pre-Submission Checklist <!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply --> <!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above--> <!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list --> - [x] Commit message has the format required by CONTRIBUTING guide - [x] Commits are split per component (core, individual modules, libs, utils, ...) - [x] Each component has a single commit (if not, squash them into one commit) - [ ] No commits to README files for modules (changes must be done to docbook files in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change - [ ] Small bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist: <!-- Go over all points below, and after creating the PR, tick the checkboxes that apply --> - [ ] PR should be backported to stable branches - [x] Tested changes locally - [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
MR to add another xavp_copy function taking 4 params
``` xavc_copy("source_name", "source_index", "destination_name", "destination_index") ```
This will let the user copy to a specific position in the stack (replacing its value). This would bring coherent behaviour compared to assign to a specific index vs appending.
Example : swapping xavp in and existing stack: (second and third elements) ``` $xavp(a=>x) = "a-0-x"; $xavp(a[0]=>y) = "a-0-y"; $xavp(a=>x) = "a-1-x"; $xavp(a[0]=>y) = "a-1-y"; $xavp(a=>x) = "a-2-x"; $xavp(a[0]=>y) = "a-2-y";
# INFO: <script>: NEW $xavp(a[0]) = [a-2-x][a-2-y] # INFO: <script>: NEW $xavp(a[1]) = [a-1-x][a-1-y] # INFO: <script>: NEW $xavp(a[2]) = [a-0-x][a-0-y]
xavp_copy("a", "1", "c"); xavp_copy("a", "2", "a", "1"); xavp_copy("c", "0", "a", "2");
# INFO: <script>: AFTER $xavp(a[0]) = [a-2-x][a-2-y] # INFO: <script>: AFTER $xavp(a[1]) = [a-0-x][a-0-y] # INFO: <script>: AFTER $xavp(a[2]) = [a-1-x][a-1-y] ``` You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2097
-- Commit Summary --
* pv: adding xavp_copy with destination index
-- File Changes --
M src/modules/pv/pv.c (78)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2097.patch https://github.com/kamailio/kamailio/pull/2097.diff
You can merge it.
Thanks for looking, I will add the missing documentation and merge it shortly.
@jchavanton pushed 1 commit.
40afea331caa4821db3c93016dce56654e0cf4ef pv: adding xavp_copy with destination index
@jchavanton pushed 1 commit.
20a4f976e2a3825b2fa33b368fa38d03737e8a55 pv: adding xavp_copy with destination index
@jchavanton - if you have time go ahead with the merge, otherwise I can also merge it tomorrow.
@jchavanton pushed 1 commit.
d271fc6dd979aed4efd3edef388c672d65bc1485 pv: xavp_copy improved examples
Just retested and verified the examples in the doc. I will merge shortly.
merged ...
Closed #2097.