X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fruntime%2Fruntime.c;h=a4fc68adbf13ced6c1fc871b5d4c63830ed19035;hb=f2b65035e35f3f7ae5f645cea6338538235ca899;hp=f2b52d6765955b8d3e32260b8d3a45d8980381a1;hpb=b71853ba2228aae847de00da7fac9b9b89de8653;p=sbcl.git diff --git a/src/runtime/runtime.c b/src/runtime/runtime.c index f2b52d6..a4fc68a 100644 --- a/src/runtime/runtime.c +++ b/src/runtime/runtime.c @@ -194,7 +194,7 @@ search_for_core () char *stem = "/sbcl.core"; char *core; - if(!sbcl_home) sbcl_home = SBCL_HOME; + if (!(sbcl_home && *sbcl_home)) sbcl_home = SBCL_HOME; lookhere = (char *) calloc(strlen(sbcl_home) + strlen(stem) + 1, @@ -234,6 +234,7 @@ main(int argc, char *argv[], char *envp[]) boolean end_runtime_options = 0; lispobj initial_function; + const char *sbcl_home = getenv("SBCL_HOME"); interrupt_init(); block_blockable_signals(); @@ -332,7 +333,7 @@ main(int argc, char *argv[], char *envp[]) } /* Align down to multiple of page_table page size */ - dynamic_space_size = (dynamic_space_size/PAGE_BYTES) * PAGE_BYTES; + dynamic_space_size &= ~(PAGE_BYTES - 1); /* KLUDGE: os_vm_page_size is set by os_init(), and on some * systems (e.g. Alpha) arch_init() needs need os_vm_page_size, so @@ -361,8 +362,9 @@ main(int argc, char *argv[], char *envp[]) } } - /* Make sure that SBCL_HOME is set, unless loading an embedded core. */ - if (!getenv("SBCL_HOME") && embedded_core_offset == 0) { + /* Make sure that SBCL_HOME is set and not the empty string, + unless loading an embedded core. */ + if (!(sbcl_home && *sbcl_home) && embedded_core_offset == 0) { char *envstring, *copied_core, *dir; char *stem = "SBCL_HOME="; copied_core = copied_string(core); @@ -376,7 +378,7 @@ main(int argc, char *argv[], char *envp[]) free(copied_core); } - if (!noinform) { + if (!noinform && embedded_core_offset == 0) { print_banner(); fflush(stdout); }