summaryrefslogtreecommitdiff
path: root/source/kit/string_ref.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/kit/string_ref.h')
-rw-r--r--source/kit/string_ref.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/source/kit/string_ref.h b/source/kit/string_ref.h
index 89c319b..38ade80 100644
--- a/source/kit/string_ref.h
+++ b/source/kit/string_ref.h
@@ -34,7 +34,8 @@ static char *kit_make_bs(kit_str_t s) {
i64 n = s.size;
if (n > 4095)
n = 4095;
- memcpy(buf[index], s.values, n);
+ if (n > 0)
+ memcpy(buf[index], s.values, n);
buf[index][n] = '\0';
char *result = buf[index];
index = (index + 1) % 8;
@@ -51,11 +52,11 @@ static char *kit_make_bs(kit_str_t s) {
#define KIT_WRAP_BS(string_) kit_str(strlen(string_), (string_))
-#define KIT_WRAP_STR(string_) \
- kit_str((string_).size, (string_).values)
+#define KIT_WRAP_STR(...) \
+ kit_str((__VA_ARGS__).size, (__VA_ARGS__).values)
#ifndef KIT_DISABLE_SHORT_NAMES
-# define BS(string_) kit_make_bs(KIT_WRAP_STR(string_))
+# define BS(...) kit_make_bs(KIT_WRAP_STR(__VA_ARGS__))
# define str_t kit_str_t