diff options
author | default <nobody@localhost> | 2023-09-23 18:46:24 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2023-09-23 18:46:24 +0200 |
commit | 291331c74557786cf5ef5b62a647048131f1394c (patch) | |
tree | 08e4f0cd8876181ed5a071842ab535b0f3243c20 | |
parent | ac8790c3cd1dae815e276de000a5b31a437be7e8 (diff) |
Backport from xs.
-rw-r--r-- | xs.h | 11 | ||||
-rw-r--r-- | xs_version.h | 2 |
2 files changed, 7 insertions, 6 deletions
@@ -849,17 +849,18 @@ xs_str *xs_join(const xs_list *list, const char *sep) int sz; /* add the separator */ - if (c != 0) { + if (c != 0 && ssz) { s = xs_realloc(s, offset + ssz); memcpy(s + offset, sep, ssz); offset += ssz; } /* add the element */ - sz = strlen(v); - s = xs_realloc(s, offset + sz); - memcpy(s + offset, v, sz); - offset += sz; + if ((sz = strlen(v)) > 0) { + s = xs_realloc(s, offset + sz); + memcpy(s + offset, v, sz); + offset += sz; + } c++; } diff --git a/xs_version.h b/xs_version.h index 1873039..752e1be 100644 --- a/xs_version.h +++ b/xs_version.h @@ -1 +1 @@ -/* 263e97c8ac21ff8524e3c890fe4310c696d01056 */ +/* 89589de72ce632da77b0ac4b9d56d3902946b5eb */ |