diff --git a/lib/chibi/ast.c b/lib/chibi/ast.c index 915b77f1..c071436c 100644 --- a/lib/chibi/ast.c +++ b/lib/chibi/ast.c @@ -12,7 +12,7 @@ extern sexp sexp_gc (sexp ctx, size_t *sum_freed); #endif -static void sexp_define_type_predicate (sexp ctx, sexp env, char *cname, sexp_uint_t type) { +static void sexp_define_type_predicate (sexp ctx, sexp env, const char *cname, sexp_uint_t type) { sexp_gc_var2(name, op); sexp_gc_preserve2(ctx, name, op); name = sexp_c_string(ctx, cname, -1); @@ -22,7 +22,8 @@ static void sexp_define_type_predicate (sexp ctx, sexp env, char *cname, sexp_ui } static void sexp_define_accessors (sexp ctx, sexp env, sexp_uint_t ctype, - sexp_uint_t cindex, char* get, char *set) { + sexp_uint_t cindex, + const char* get, const char *set) { sexp type, index; sexp_gc_var2(name, op); sexp_gc_preserve2(ctx, name, op); @@ -480,7 +481,7 @@ static sexp sexp_unsetenv (sexp ctx, sexp self, sexp_sint_t n, sexp name) { #define sexp_define_type(ctx, name, tag) \ sexp_env_define(ctx, env, sexp_intern(ctx, name, -1), sexp_type_by_index(ctx, tag)); -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { if (!(sexp_version_compatible(ctx, version, sexp_version) && sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER))) return SEXP_ABI_ERROR; diff --git a/lib/chibi/disasm.c b/lib/chibi/disasm.c index 1f2e8110..a364266a 100644 --- a/lib/chibi/disasm.c +++ b/lib/chibi/disasm.c @@ -231,7 +231,7 @@ static sexp sexp_disasm (sexp ctx, sexp self, sexp_sint_t n, sexp bc, sexp out) return disasm(ctx, self, bc, out, 0); } -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { if (!(sexp_version_compatible(ctx, version, sexp_version) && sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER))) return SEXP_ABI_ERROR; diff --git a/lib/chibi/heap-stats.c b/lib/chibi/heap-stats.c index 2f61bc6a..921cf401 100644 --- a/lib/chibi/heap-stats.c +++ b/lib/chibi/heap-stats.c @@ -128,7 +128,7 @@ static sexp sexp_heap_dump (sexp ctx, sexp self, sexp_sint_t n, sexp depth) { #endif -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { if (!(sexp_version_compatible(ctx, version, sexp_version) && sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER))) return SEXP_ABI_ERROR; diff --git a/lib/chibi/io/port.c b/lib/chibi/io/port.c index 55173aa1..e3c80f06 100644 --- a/lib/chibi/io/port.c +++ b/lib/chibi/io/port.c @@ -2,6 +2,10 @@ #include #include +#if SEXP_USE_SEND_FILE +#include +#endif + #define SEXP_LAST_CONTEXT_CHECK_LIMIT 256 #define sexp_cookie_ctx(vec) sexp_vector_ref((sexp)vec, SEXP_ZERO) @@ -144,7 +148,7 @@ static cookie_io_functions_t sexp_cookie_no_seek = { #endif /* !SEXP_BSD */ -static sexp sexp_make_custom_port (sexp ctx, sexp self, char *mode, +static sexp sexp_make_custom_port (sexp ctx, sexp self, const char *mode, sexp read, sexp write, sexp seek, sexp close) { FILE *in; @@ -190,7 +194,7 @@ static sexp sexp_make_custom_port (sexp ctx, sexp self, char *mode, #else /* ! SEXP_USE_STRING_STREAMS */ static sexp sexp_make_custom_port (sexp ctx, sexp self, - char *mode, sexp read, sexp write, + const char *mode, sexp read, sexp write, sexp seek, sexp close) { sexp vec; sexp_gc_var2(res, str); diff --git a/lib/chibi/optimize/profile.c b/lib/chibi/optimize/profile.c index 5fc4bb60..929a9d97 100644 --- a/lib/chibi/optimize/profile.c +++ b/lib/chibi/optimize/profile.c @@ -10,7 +10,7 @@ static sexp sexp_increment_cdr (sexp ctx, sexp self, sexp_sint_t n, sexp pair) { return SEXP_VOID; } -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { if (!(sexp_version_compatible(ctx, version, sexp_version) && sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER))) return SEXP_ABI_ERROR; diff --git a/lib/chibi/optimize/rest.c b/lib/chibi/optimize/rest.c index fbdcd417..96db0fdb 100644 --- a/lib/chibi/optimize/rest.c +++ b/lib/chibi/optimize/rest.c @@ -19,7 +19,7 @@ static sexp copy_opcode (sexp ctx, struct sexp_opcode_struct *op) { return res; } -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { sexp_gc_var2(name, op); if (!(sexp_version_compatible(ctx, version, sexp_version) && sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER))) diff --git a/lib/chibi/weak.c b/lib/chibi/weak.c index f520fd92..71cfbd69 100644 --- a/lib/chibi/weak.c +++ b/lib/chibi/weak.c @@ -59,7 +59,7 @@ sexp sexp_weak_vector_set (sexp ctx, sexp self, sexp_sint_t n, sexp v, sexp k, s return SEXP_VOID; } -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { #if 0 sexp v; int sexp_weak_vector_id; diff --git a/lib/scheme/time.c b/lib/scheme/time.c index 1a8a6ab6..6d676a8e 100644 --- a/lib/scheme/time.c +++ b/lib/scheme/time.c @@ -93,7 +93,7 @@ static sexp sexp_current_clock_second (sexp ctx, sexp self, sexp_sint_t n) { #endif } -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { if (!(sexp_version_compatible(ctx, version, sexp_version) && sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER))) return sexp_global(ctx, SEXP_G_ABI_ERROR); diff --git a/lib/srfi/18/threads.c b/lib/srfi/18/threads.c index 76f39e6b..e5e11503 100644 --- a/lib/srfi/18/threads.c +++ b/lib/srfi/18/threads.c @@ -629,7 +629,7 @@ sexp sexp_lookup_named_type (sexp ctx, sexp env, const char *name) { #endif /* SEXP_USE_GREEN_THREADS */ -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { sexp t; sexp_gc_var1(name); if (!(sexp_version_compatible(ctx, version, sexp_version) diff --git a/lib/srfi/27/rand.c b/lib/srfi/27/rand.c index 8dd0d8de..28ab79a6 100644 --- a/lib/srfi/27/rand.c +++ b/lib/srfi/27/rand.c @@ -169,7 +169,7 @@ static sexp sexp_random_source_pseudo_randomize (sexp ctx, sexp self, sexp_sint_ return SEXP_VOID; } -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { sexp_gc_var2(name, op); if (!(sexp_version_compatible(ctx, version, sexp_version) && sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER))) diff --git a/lib/srfi/33/bit.c b/lib/srfi/33/bit.c index 995d4da7..1baaaf46 100644 --- a/lib/srfi/33/bit.c +++ b/lib/srfi/33/bit.c @@ -311,7 +311,7 @@ static sexp sexp_bit_set_p (sexp ctx, sexp self, sexp_sint_t n, sexp i, sexp x) } } -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { if (!(sexp_version_compatible(ctx, version, sexp_version) && sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER))) return SEXP_ABI_ERROR; diff --git a/lib/srfi/39/param.c b/lib/srfi/39/param.c index 5cd1c90c..01c477db 100644 --- a/lib/srfi/39/param.c +++ b/lib/srfi/39/param.c @@ -26,7 +26,7 @@ static sexp sexp_parameter_converter (sexp ctx, sexp self, sexp_sint_t n, sexp p return res ? res : SEXP_FALSE; } -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { if (!(sexp_version_compatible(ctx, version, sexp_version) && sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER))) return SEXP_ABI_ERROR; diff --git a/lib/srfi/69/hash.c b/lib/srfi/69/hash.c index 30816072..13987c36 100644 --- a/lib/srfi/69/hash.c +++ b/lib/srfi/69/hash.c @@ -236,7 +236,7 @@ static sexp sexp_hash_table_delete (sexp ctx, sexp self, sexp_sint_t n, sexp ht, return SEXP_VOID; } -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { if (!(sexp_version_compatible(ctx, version, sexp_version) && sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER))) return SEXP_ABI_ERROR; diff --git a/lib/srfi/95/qsort.c b/lib/srfi/95/qsort.c index 799fa105..60970bb2 100644 --- a/lib/srfi/95/qsort.c +++ b/lib/srfi/95/qsort.c @@ -256,7 +256,7 @@ static sexp sexp_sort_x (sexp ctx, sexp self, sexp_sint_t n, sexp seq, return res; } -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { if (!(sexp_version_compatible(ctx, version, sexp_version) && sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER))) return SEXP_ABI_ERROR; diff --git a/lib/srfi/98/env.c b/lib/srfi/98/env.c index 486d5fe8..e583ab70 100644 --- a/lib/srfi/98/env.c +++ b/lib/srfi/98/env.c @@ -44,7 +44,7 @@ sexp sexp_get_environment_variables (sexp ctx, sexp self, sexp_sint_t n) { return res; } -sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) { +sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) { if (!(sexp_version_compatible(ctx, version, sexp_version) && sexp_abi_compatible(ctx, abi, SEXP_ABI_IDENTIFIER))) return SEXP_ABI_ERROR; diff --git a/tools/chibi-ffi b/tools/chibi-ffi index 2cdd1b2a..ff00bdcb 100755 --- a/tools/chibi-ffi +++ b/tools/chibi-ffi @@ -1707,7 +1707,7 @@ (newline) (if *c++?* (cat "extern \"C\" ")) - (cat "sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, sexp_abi_identifier_t abi) {\n" + (cat "sexp sexp_init_library (sexp ctx, sexp self, sexp_sint_t n, sexp env, const char* version, const sexp_abi_identifier_t abi) {\n" (lambda () (for-each (lambda (t) (cat " sexp " t ";\n"))