Module: kamailio Branch: 5.5 Commit: 557ac56a6ec6b4ca3d76a57ff8b21c64027791f2 URL: https://github.com/kamailio/kamailio/commit/557ac56a6ec6b4ca3d76a57ff8b21c64...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2021-06-29T14:42:12+02:00
core: str list - added function to insert a block string in list
(cherry picked from commit b92b931c26c199b756fd08e9c80cc9305469fd2b)
---
Modified: src/core/str_list.c Modified: src/core/str_list.h
---
Diff: https://github.com/kamailio/kamailio/commit/557ac56a6ec6b4ca3d76a57ff8b21c64... Patch: https://github.com/kamailio/kamailio/commit/557ac56a6ec6b4ca3d76a57ff8b21c64...
---
diff --git a/src/core/str_list.c b/src/core/str_list.c index f63b4c9151..207cee5bc3 100644 --- a/src/core/str_list.c +++ b/src/core/str_list.c @@ -13,13 +13,13 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
/** - * @file + * @file * @brief Kamailio core :: Simple str type list and helper functions * @ingroup core * Module: @ref core @@ -32,7 +32,7 @@
/** * @brief Add a new allocated list element to an existing list - * + * * Add a new allocated list element to an existing list, the allocation is done * from the private memory pool * @param s input character @@ -43,18 +43,45 @@ */ struct str_list *append_str_list(char *s, int len, struct str_list **last, int *total) { - struct str_list *new; - new = pkg_malloc(sizeof(struct str_list)); - if (!new) { + struct str_list *nv; + nv = pkg_malloc(sizeof(struct str_list)); + if (!nv) { PKG_MEM_ERROR; return 0; } - new->s.s = s; - new->s.len = len; - new->next = 0; + nv->s.s = s; + nv->s.len = len; + nv->next = 0;
- (*last)->next = new; - *last = new; + (*last)->next = nv; + *last = nv; *total += len; - return new; + return nv; +} + +/** + * @brief Add a new allocated list element with cloned block value to an existing list + * + * Add a new allocated list element with cloned value in block to an existing list, + * the allocation is done from the private memory pool + * @param head existing list + * @param s input character + * @param len length of input character + * @return extended list + */ +str_list_t *str_list_block_add(str_list_t **head, char *s, int len) +{ + str_list_t *nv; + nv = pkg_mallocxz(sizeof(str_list_t) + (len+1)*sizeof(char)); + if (!nv) { + PKG_MEM_ERROR; + return 0; + } + nv->s.s = (char*)nv + sizeof(str_list_t); + memcpy(nv->s.s, s, len); + nv->s.len = len; + nv->next = *head; + *head = nv; + + return nv; } diff --git a/src/core/str_list.h b/src/core/str_list.h index db3fa12887..1eac2578b0 100644 --- a/src/core/str_list.h +++ b/src/core/str_list.h @@ -51,4 +51,16 @@ typedef struct str_list { */ struct str_list *append_str_list(char *s, int len, struct str_list **last, int *total);
+/** + * @brief Add a new allocated list element with cloned block value to an existing list + * + * Add a new allocated list element with cloned value in block to an existing list, + * the allocation is done from the private memory pool + * @param head existing list + * @param s input character + * @param len length of input character + * @return extended list + */ +str_list_t *str_list_block_add(str_list_t **head, char *s, int len); + #endif
Hi Daniel,
I probably missed the relevant discussion on the issue tracker or list. Just wondered to which fix this utility extensions were about in the stable branch.
Thanks and regards,
Henning
Hello,
see the other commits that were backported related to modparamx/loadmodulex -- this one adds an internal helper function needed by them.
Cheers, Daniel
On 29.06.21 16:13, Henning Westerholt wrote:
Hi Daniel,
I probably missed the relevant discussion on the issue tracker or list. Just wondered to which fix this utility extensions were about in the stable branch.
Thanks and regards,
Henning
-- Henning Westerholt - https://skalatan.de/blog/ Kamailio services - https://gilawa.com
-----Original Message----- From: sr-dev sr-dev-bounces@lists.kamailio.org On Behalf Of Daniel-Constantin Mierla Sent: Tuesday, June 29, 2021 2:53 PM To: sr-dev@lists.kamailio.org Subject: [sr-dev] git:5.5:557ac56a: core: str list - added function to insert a block string in list
Module: kamailio Branch: 5.5 Commit: 557ac56a6ec6b4ca3d76a57ff8b21c64027791f2 URL: https://github.com/kamailio/kamailio/commit/557ac56a6ec6b4ca3d76a57ff8b21c64...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2021-06-29T14:42:12+02:00
core: str list - added function to insert a block string in list
(cherry picked from commit b92b931c26c199b756fd08e9c80cc9305469fd2b)
Modified: src/core/str_list.c Modified: src/core/str_list.h
Diff: https://github.com/kamailio/kamailio/commit/557ac56a6ec6b4ca3d76a57ff8b21c64... Patch: https://github.com/kamailio/kamailio/commit/557ac56a6ec6b4ca3d76a57ff8b21c64...
diff --git a/src/core/str_list.c b/src/core/str_list.c index f63b4c9151..207cee5bc3 100644 --- a/src/core/str_list.c +++ b/src/core/str_list.c @@ -13,13 +13,13 @@
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- You should have received a copy of the GNU General Public License
*/
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
/**
- @file
- @file
- @brief Kamailio core :: Simple str type list and helper functions
- @ingroup core
- Module: @ref core
@@ -32,7 +32,7 @@
/**
- @brief Add a new allocated list element to an existing list
- Add a new allocated list element to an existing list, the allocation is done
- from the private memory pool
- @param s input character
@@ -43,18 +43,45 @@ */ struct str_list *append_str_list(char *s, int len, struct str_list **last, int *total) {
- struct str_list *new;
- new = pkg_malloc(sizeof(struct str_list));
- if (!new) {
- struct str_list *nv;
- nv = pkg_malloc(sizeof(struct str_list));
- if (!nv) { PKG_MEM_ERROR; return 0; }
- new->s.s = s;
- new->s.len = len;
- new->next = 0;
- nv->s.s = s;
- nv->s.len = len;
- nv->next = 0;
- (*last)->next = new;
- *last = new;
- (*last)->next = nv;
- *last = nv; *total += len;
- return new;
- return nv;
+}
+/**
- @brief Add a new allocated list element with cloned block value to
+an existing list
- Add a new allocated list element with cloned value in block to an
+existing list,
- the allocation is done from the private memory pool
- @param head existing list
- @param s input character
- @param len length of input character
- @return extended list
- */
+str_list_t *str_list_block_add(str_list_t **head, char *s, int len) {
- str_list_t *nv;
- nv = pkg_mallocxz(sizeof(str_list_t) + (len+1)*sizeof(char));
- if (!nv) {
PKG_MEM_ERROR;
return 0;
- }
- nv->s.s = (char*)nv + sizeof(str_list_t);
- memcpy(nv->s.s, s, len);
- nv->s.len = len;
- nv->next = *head;
- *head = nv;
- return nv;
} diff --git a/src/core/str_list.h b/src/core/str_list.h index db3fa12887..1eac2578b0 100644 --- a/src/core/str_list.h +++ b/src/core/str_list.h @@ -51,4 +51,16 @@ typedef struct str_list { */ struct str_list *append_str_list(char *s, int len, struct str_list **last, int *total);
+/**
- @brief Add a new allocated list element with cloned block value to
+an existing list
- Add a new allocated list element with cloned value in block to an
+existing list,
- the allocation is done from the private memory pool
- @param head existing list
- @param s input character
- @param len length of input character
- @return extended list
- */
+str_list_t *str_list_block_add(str_list_t **head, char *s, int len);
#endif
Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Thanks for the pointer Daniel, missed it indeed.
-----Original Message----- From: Daniel-Constantin Mierla miconda@gmail.com Sent: Tuesday, June 29, 2021 5:24 PM To: Henning Westerholt hw@skalatan.de; Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org Subject: Re: [sr-dev] git:5.5:557ac56a: core: str list - added function to insert a block string in list
Hello,
see the other commits that were backported related to modparamx/loadmodulex -- this one adds an internal helper function needed by them.
Cheers, Daniel
On 29.06.21 16:13, Henning Westerholt wrote:
Hi Daniel,
I probably missed the relevant discussion on the issue tracker or list. Just wondered to which fix this utility extensions were about in the stable branch.
Thanks and regards,
Henning
-- Henning Westerholt - https://skalatan.de/blog/ Kamailio services - https://gilawa.com
-----Original Message----- From: sr-dev sr-dev-bounces@lists.kamailio.org On Behalf Of Daniel-Constantin Mierla Sent: Tuesday, June 29, 2021 2:53 PM To: sr-dev@lists.kamailio.org Subject: [sr-dev] git:5.5:557ac56a: core: str list - added function to insert a block string in list
Module: kamailio Branch: 5.5 Commit: 557ac56a6ec6b4ca3d76a57ff8b21c64027791f2 URL: https://github.com/kamailio/kamailio/commit/557ac56a6ec6b4ca3d76a57ff8 b21c64027791f2
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2021-06-29T14:42:12+02:00
core: str list - added function to insert a block string in list
(cherry picked from commit b92b931c26c199b756fd08e9c80cc9305469fd2b)
Modified: src/core/str_list.c Modified: src/core/str_list.h
Diff: https://github.com/kamailio/kamailio/commit/557ac56a6ec6b4ca3d76a57ff8 b21c64027791f2.diff Patch: https://github.com/kamailio/kamailio/commit/557ac56a6ec6b4ca3d76a57ff8 b21c64027791f2.patch
diff --git a/src/core/str_list.c b/src/core/str_list.c index f63b4c9151..207cee5bc3 100644 --- a/src/core/str_list.c +++ b/src/core/str_list.c @@ -13,13 +13,13 @@
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- You should have received a copy of the GNU General Public License
*/
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
/**
- @file
- @file
- @brief Kamailio core :: Simple str type list and helper functions
- @ingroup core
- Module: @ref core
@@ -32,7 +32,7 @@
/**
- @brief Add a new allocated list element to an existing list
- Add a new allocated list element to an existing list, the allocation is done
- from the private memory pool
- @param s input character
@@ -43,18 +43,45 @@ */ struct str_list *append_str_list(char *s, int len, struct str_list **last, int *total) {
- struct str_list *new;
- new = pkg_malloc(sizeof(struct str_list));
- if (!new) {
- struct str_list *nv;
- nv = pkg_malloc(sizeof(struct str_list));
- if (!nv) { PKG_MEM_ERROR; return 0; }
- new->s.s = s;
- new->s.len = len;
- new->next = 0;
- nv->s.s = s;
- nv->s.len = len;
- nv->next = 0;
- (*last)->next = new;
- *last = new;
- (*last)->next = nv;
- *last = nv; *total += len;
- return new;
- return nv;
+}
+/**
- @brief Add a new allocated list element with cloned block value to
+an existing list
- Add a new allocated list element with cloned value in block to an
+existing list,
- the allocation is done from the private memory pool
- @param head existing list
- @param s input character
- @param len length of input character
- @return extended list
- */
+str_list_t *str_list_block_add(str_list_t **head, char *s, int len) {
- str_list_t *nv;
- nv = pkg_mallocxz(sizeof(str_list_t) + (len+1)*sizeof(char));
- if (!nv) {
PKG_MEM_ERROR;
return 0;
- }
- nv->s.s = (char*)nv + sizeof(str_list_t);
- memcpy(nv->s.s, s, len);
- nv->s.len = len;
- nv->next = *head;
- *head = nv;
- return nv;
} diff --git a/src/core/str_list.h b/src/core/str_list.h index db3fa12887..1eac2578b0 100644 --- a/src/core/str_list.h +++ b/src/core/str_list.h @@ -51,4 +51,16 @@ typedef struct str_list { */ struct str_list *append_str_list(char *s, int len, struct str_list **last, int *total);
+/**
- @brief Add a new allocated list element with cloned block value to
+an existing list
- Add a new allocated list element with cloned value in block to an
+existing list,
- the allocation is done from the private memory pool
- @param head existing list
- @param s input character
- @param len length of input character
- @return extended list
- */
+str_list_t *str_list_block_add(str_list_t **head, char *s, int len);
#endif
Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
-- Daniel-Constantin Mierla -- www.asipto.com www.twitter.com/miconda -- www.linkedin.com/in/miconda