From 6a50eff1e03155309190f8deb090fc53b10c83c0 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Fri, 29 Jul 2016 17:36:23 -0400 Subject: [PATCH] Fix compilation of Cyc-compilation-environment --- include/cyclone/runtime.h | 2 +- runtime.c | 9 +++++---- scheme/cyclone/primitives.sld | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/include/cyclone/runtime.h b/include/cyclone/runtime.h index 3c61e5fc..d8f08306 100644 --- a/include/cyclone/runtime.h +++ b/include/cyclone/runtime.h @@ -201,7 +201,7 @@ object Cyc_substring(void *data, object cont, object str, object start, object Cyc_string_ref(void *data, object str, object k); object Cyc_string_set(void *data, object str, object k, object chr); object Cyc_installation_dir(void *data, object cont, object type); -void Cyc_compilation_environment(void *data, object cont, object var); +object Cyc_compilation_environment(void *data, object cont, object var); object Cyc_command_line_arguments(void *data, object cont); object Cyc_system(object cmd); object Cyc_char2integer(object chr); diff --git a/runtime.c b/runtime.c index 563e3a49..e0cb0529 100644 --- a/runtime.c +++ b/runtime.c @@ -1733,29 +1733,30 @@ object Cyc_installation_dir(void *data, object cont, object type) /** * Retrieve a value set during Cyclone compilation */ -void Cyc_compilation_environment(void *data, object cont, object var) +object Cyc_compilation_environment(void *data, object cont, object var) { if (Cyc_is_symbol(var) == boolean_t){ if (strncmp(((symbol) var)->pname, "cc-prog", 8) == 0) { char buf[1024]; snprintf(buf, sizeof(buf), "%s", CYC_CC_PROG); make_string(str, buf); - return_closcall1(data, cont, &str); + _return_closcall1(data, cont, &str); } else if (strncmp(((symbol) var)->pname, "cc-exec", 8) == 0) { char buf[1024]; snprintf(buf, sizeof(buf), "%s", CYC_CC_EXEC); make_string(str, buf); - return_closcall1(data, cont, &str); + _return_closcall1(data, cont, &str); } else if (strncmp(((symbol) var)->pname, "cc-lib", 7) == 0) { char buf[1024]; snprintf(buf, sizeof(buf), "%s", CYC_CC_LIB); make_string(str, buf); - return_closcall1(data, cont, &str); + _return_closcall1(data, cont, &str); } } Cyc_rt_raise2(data, "Cyc-compilation-environment - unrecognized symbol", var); + return NULL; } /** diff --git a/scheme/cyclone/primitives.sld b/scheme/cyclone/primitives.sld index aa5dab64..001dd556 100644 --- a/scheme/cyclone/primitives.sld +++ b/scheme/cyclone/primitives.sld @@ -639,6 +639,7 @@ ((eq? p 'list->string) "object") ((eq? p 'list->vector) "object") ((eq? p 'Cyc-installation-dir) "object") + ((eq? p 'Cyc-compilation-environment) "object") (else #f))) ;; Determine if primitive creates a C variable @@ -651,6 +652,7 @@ open-input-file open-output-file Cyc-installation-dir + Cyc-compilation-environment string->number string-append list->string make-bytevector