diff options
Diffstat (limited to 'src/util.c')
| -rw-r--r-- | src/util.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -4,7 +4,7 @@ int janet_getslist(struct curl_slist **slist, Janet *argv, int32_t n) { JanetView args = janet_getindexed(argv, n); for (int32_t i = 0; i< args.len; i++) { - const char *s = janet_getcstring(args.items, i); + const char *s = janet_getcbytes(args.items, i); struct curl_slist *newlist = curl_slist_append(*slist, s); if (!newlist) { return 0; @@ -14,6 +14,14 @@ int janet_getslist(struct curl_slist **slist, Janet *argv, int32_t n) { return 1; } +const char *janet_getcbytes(const Janet *argv, int32_t n) { + JanetByteView b = janet_getbytes(argv, n); + if (strlen((const char*) b.bytes) != (size_t) b.len) { + janet_panic("bytes contain embedded 0s"); + } + return (const char*)b.bytes; +} + JANET_CFUN(jurl_escape) { janet_fixarity(argc, 1); JanetByteView b = janet_getbytes(argv, 0); |
