diff --git a/include/cyclone/runtime.h b/include/cyclone/runtime.h index 152cecf2..b4d44092 100644 --- a/include/cyclone/runtime.h +++ b/include/cyclone/runtime.h @@ -555,7 +555,7 @@ object Cyc_installation_dir(void *data, object cont, object type); object Cyc_compilation_environment(void *data, object cont, object var); object Cyc_command_line_arguments(void *data, object cont); object Cyc_system(object cmd); -void Cyc_halt(object obj); +void Cyc_halt(void *data, object clo, int argc, object *args); object __halt(object obj); object Cyc_io_delete_file(void *data, object filename); object Cyc_io_file_exists(void *data, object filename); diff --git a/runtime.c b/runtime.c index 9181bf14..293a62c5 100644 --- a/runtime.c +++ b/runtime.c @@ -3473,8 +3473,12 @@ object Cyc_integer2char(void *data, object n) return obj_char2obj(val); } -void Cyc_halt(object obj) +void Cyc_halt(void *data, object clo, int argc, object *args) { + object obj = boolean_f; + if (argc > 0) { + obj = args[0]; + } #if DEBUG_SHOW_DIAG gc_print_stats(Cyc_heap); #endif @@ -3491,7 +3495,8 @@ void Cyc_halt(object obj) object __halt(object obj) { - Cyc_halt(obj); + object buf[1] = {obj}; + Cyc_halt(NULL, NULL, 1, buf); return NULL; }