commit c47df76

default  ·  2023-07-05 07:51:41 +0000 UTC
parent 5b3c7d4
Backport from xs.
2 files changed,  +13, -1
M xs.h
M xs.h
+12, -0
 1@@ -96,6 +96,7 @@ int xs_list_in(const xs_list *list, const xs_val *val);
 2 xs_str *xs_join(const xs_list *list, const char *sep);
 3 xs_list *xs_split_n(const char *str, const char *sep, int times);
 4 #define xs_split(str, sep) xs_split_n(str, sep, XS_ALL)
 5+xs_list *xs_list_cat(xs_list *l1, const xs_list *l2);
 6 
 7 xs_dict *xs_dict_new(void);
 8 xs_dict *xs_dict_append_m(xs_dict *dict, const xs_str *key, const xs_val *mem, int dsz);
 9@@ -858,6 +859,17 @@ xs_list *xs_split_n(const char *str, const char *sep, int times)
10 }
11 
12 
13+xs_list *xs_list_cat(xs_list *l1, const xs_list *l2)
14+/* concatenates list l2 to l1 */
15+{
16+    XS_ASSERT_TYPE(l1, XSTYPE_LIST);
17+    XS_ASSERT_TYPE(l2, XSTYPE_LIST);
18+
19+    /* inserts at the end of l1 the content of l2 (skipping header and footer) */
20+    return xs_insert_m(l1, xs_size(l1) - 1, l2 + 4, xs_size(l2) - 5);
21+}
22+
23+
24 /** dicts **/
25 
26 xs_dict *xs_dict_new(void)
+1, -1
1@@ -1 +1 @@
2-/* dada4e932155b621ab6d66820f62ea9cf09cbb70 */
3+/* 4c151c4cc5b7c6980c1f0dd733a3fab0a30f9695 */