summaryrefslogtreecommitdiff
path: root/lib/darr.h
diff options
context:
space:
mode:
authorChristian Hopps <chopps@labn.net>2025-01-10 07:01:00 -0500
committerChristian Hopps <chopps@labn.net>2025-01-13 23:40:52 -0500
commitc88b48929c60ffe0214949fdf85afefa4038327b (patch)
tree715c50f1f42a9d6c492ce87a746941eb29ed7966 /lib/darr.h
parent7f8088509952931f16f024d92763f98a736ab6c9 (diff)
lib: fix new (incorrect) CLANG SA warnings
Signed-off-by: Christian Hopps <chopps@labn.net>
Diffstat (limited to 'lib/darr.h')
-rw-r--r--lib/darr.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/lib/darr.h b/lib/darr.h
index 121e3dd14e..084c2a103a 100644
--- a/lib/darr.h
+++ b/lib/darr.h
@@ -571,16 +571,16 @@ void *__darr_resize(void *a, uint count, size_t esize, struct memtype *mt);
* Return:
* The dynamic_array D with the new string content.
*/
-#define darr_in_strcat(D, S) \
- ({ \
- uint __dlen = darr_strlen(D); \
- uint __slen = strlen(S); \
- darr_ensure_cap_mt(D, __dlen + __slen + 1, MTYPE_DARR_STR); \
- if (darr_len(D) == 0) \
- *darr_append(D) = 0; \
- memcpy(darr_last(D), (S), __slen + 1); \
- _darr_len(D) += __slen; \
- D; \
+#define darr_in_strcat(D, S) \
+ ({ \
+ uint __dlen = darr_strlen(D); \
+ uint __slen = strlen(S); \
+ darr_ensure_cap_mt(D, __dlen + __slen + 1, MTYPE_DARR_STR); \
+ if (darr_len(D) == 0) \
+ *darr_append(D) = 0; \
+ memcpy(&(D)[darr_strlen(D)] /* darr_last(D) clangSA :( */, (S), __slen + 1); \
+ _darr_len(D) += __slen; \
+ D; \
})
/**