diff options
Diffstat (limited to 'source/kit/string_ref.h')
-rw-r--r-- | source/kit/string_ref.h | 9 |
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 |