Nit pick, but
>FILE* f = fopen(path, "rb");
>...
>if (fseek(f, 0, SEEK_END) != 0) return option_charp_none();
>long len = ftell(f);
does ISO C guarantee this'll work these days? How come there's no fread+realloc fallback?
>FILE* f = fopen(path, "rb");
>...
>if (fseek(f, 0, SEEK_END) != 0) return option_charp_none();
>long len = ftell(f);
does ISO C guarantee this'll work these days? How come there's no fread+realloc fallback?