From 9bd7fbd43ae075618a6ca48b32635a4beb2316b6 Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Tue, 28 Apr 1992 21:37:31 +0000
Subject: [PATCH] Changed arch_init to return the default core name to use, or
 NULL for the default default of "lisp.core".

---
 ldb/arch.h       |  2 +-
 ldb/ldb.c        | 23 +++++++++++++----------
 ldb/mips-arch.c  |  3 ++-
 ldb/sparc-arch.c |  3 ++-
 4 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/ldb/arch.h b/ldb/arch.h
index 394737726..cc363b0f4 100644
--- a/ldb/arch.h
+++ b/ldb/arch.h
@@ -1,7 +1,7 @@
 #ifndef __ARCH_H__
 #define __ARCH_H__
 
-extern void arch_init();
+extern char *arch_init();
 extern void arch_skip_instruction();
 extern os_vm_address_t arch_get_bad_addr();
 
diff --git a/ldb/ldb.c b/ldb/ldb.c
index 537e25948..9166c3f92 100644
--- a/ldb/ldb.c
+++ b/ldb/ldb.c
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/ldb/Attic/ldb.c,v 1.17 1992/03/22 20:02:40 wlott Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/ldb/Attic/ldb.c,v 1.18 1992/04/28 21:37:25 wlott Exp $ */
 /* Lisp kernel core debugger */
 
 #include <stdio.h>
@@ -44,7 +44,7 @@ char *argv[];
 char *envp[];
 {
     char *arg, **argptr;
-    char *core = NULL;
+    char *core = NULL, *default_core;
     boolean restore_state, monitor;
 
     number_stack_start = (char *)&monitor;
@@ -71,17 +71,19 @@ char *envp[];
 	}
     }
 
+    default_core = arch_init();
+    if (default_core == NULL)
+	default_core = "lisp.core";
+
     /* Note: the /usr/misc/.cmucl/lib/ default path is also wired into */
     /* the lisp code in .../code/save.lisp. */
 
     if (core == NULL) {
+	static char buf[MAXPATHLEN];
 	extern char *getenv();
 	char *lib = getenv("CMUCLLIB");
 
-	if (lib == NULL)
-	    core = "/usr/misc/.cmucl/lib/lisp.core";
-	else {
-	    static char buf[MAXPATHLEN];
+	if (lib != NULL) {
 	    char *dst;
 	    struct stat statbuf;
 
@@ -91,18 +93,19 @@ char *envp[];
 		    *dst++ = *lib++;
 		if (dst != buf && dst[-1] != '/')
 		    *dst++ = '/';
-		strcpy(dst, "lisp.core");
+		strcpy(dst, default_core);
 		if (stat(buf, &statbuf) == 0) {
 		    core = buf;
 		    break;
 		}
 	    } while (*lib++ == ':');
-	    if (core == NULL)
-		core = "/usr/misc/.cmucl/lib/lisp.core";
+	}
+	if (core == NULL) {
+	    strcpy(buf, "/usr/misc/.cmucl/lib/";
+	    strcat(buf, default_core);
 	}
     }
 
-    arch_init();
     os_init();
 
 #if defined(EXT_PAGER)
diff --git a/ldb/mips-arch.c b/ldb/mips-arch.c
index be504dba9..8e0761dee 100644
--- a/ldb/mips-arch.c
+++ b/ldb/mips-arch.c
@@ -9,8 +9,9 @@
 #include "lispregs.h"
 #include "signal.h"
 
-void arch_init()
+char *arch_init()
 {
+    return NULL;
 }
 
 os_vm_address_t arch_get_bad_addr(context)
diff --git a/ldb/sparc-arch.c b/ldb/sparc-arch.c
index bda435987..db76c7326 100644
--- a/ldb/sparc-arch.c
+++ b/ldb/sparc-arch.c
@@ -9,8 +9,9 @@
 #include "lispregs.h"
 #include "signal.h"
 
-void arch_init()
+char *arch_init()
 {
+    return NULL;
 }
 
 os_vm_address_t arch_get_bad_addr(context)
-- 
GitLab