aboutsummaryrefslogtreecommitdiff
path: root/src/polyfill.c
blob: 0d99916fbd6ed3d8c21dc3474a3ffae527aee7f5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "date.h"

#ifdef POLYFILL_CBYTES
const char* janet_getcbytes(const Janet *argv, int32_t n) {
    JanetByteView view = janet_getbytes(argv, n);
    const char *cstr = (const char *)view.bytes;
    if (strlen(cstr) != (size_t) view.len) {
        janet_panic("bytes contain embedded 0s");
    }
    return cstr;
}

const char *janet_optcbytes(const Janet *argv, int32_t argc, int32_t n, const char *dflt) {
    if (n >= argc || janet_checktype(argv[n], JANET_NIL)) {
        return dflt;
    }
    return janet_getcbytes(argv, n);
}
#endif