diff options
| -rw-r--r-- | xs.h | 12 | ||||
| -rw-r--r-- | xs_version.h | 2 |
2 files changed, 13 insertions, 1 deletions
| @@ -96,6 +96,7 @@ int xs_list_in(const xs_list *list, const xs_val *val); | |||
| 96 | xs_str *xs_join(const xs_list *list, const char *sep); | 96 | xs_str *xs_join(const xs_list *list, const char *sep); |
| 97 | xs_list *xs_split_n(const char *str, const char *sep, int times); | 97 | xs_list *xs_split_n(const char *str, const char *sep, int times); |
| 98 | #define xs_split(str, sep) xs_split_n(str, sep, XS_ALL) | 98 | #define xs_split(str, sep) xs_split_n(str, sep, XS_ALL) |
| 99 | xs_list *xs_list_cat(xs_list *l1, const xs_list *l2); | ||
| 99 | 100 | ||
| 100 | xs_dict *xs_dict_new(void); | 101 | xs_dict *xs_dict_new(void); |
| 101 | xs_dict *xs_dict_append_m(xs_dict *dict, const xs_str *key, const xs_val *mem, int dsz); | 102 | xs_dict *xs_dict_append_m(xs_dict *dict, const xs_str *key, const xs_val *mem, int dsz); |
| @@ -858,6 +859,17 @@ xs_list *xs_split_n(const char *str, const char *sep, int times) | |||
| 858 | } | 859 | } |
| 859 | 860 | ||
| 860 | 861 | ||
| 862 | xs_list *xs_list_cat(xs_list *l1, const xs_list *l2) | ||
| 863 | /* concatenates list l2 to l1 */ | ||
| 864 | { | ||
| 865 | XS_ASSERT_TYPE(l1, XSTYPE_LIST); | ||
| 866 | XS_ASSERT_TYPE(l2, XSTYPE_LIST); | ||
| 867 | |||
| 868 | /* inserts at the end of l1 the content of l2 (skipping header and footer) */ | ||
| 869 | return xs_insert_m(l1, xs_size(l1) - 1, l2 + 4, xs_size(l2) - 5); | ||
| 870 | } | ||
| 871 | |||
| 872 | |||
| 861 | /** dicts **/ | 873 | /** dicts **/ |
| 862 | 874 | ||
| 863 | xs_dict *xs_dict_new(void) | 875 | xs_dict *xs_dict_new(void) |
diff --git a/xs_version.h b/xs_version.h index a8007e7..bc84175 100644 --- a/xs_version.h +++ b/xs_version.h | |||
| @@ -1 +1 @@ | |||
| /* dada4e932155b621ab6d66820f62ea9cf09cbb70 */ | /* 4c151c4cc5b7c6980c1f0dd733a3fab0a30f9695 */ | ||