aboutsummaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/util.c b/src/util.c
index f9a7b1c..0938ada 100644
--- a/src/util.c
+++ b/src/util.c
@@ -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);