0.8.16.23:
[sbcl.git] / src / runtime / search.c
index 217a294..1fb66b9 100644 (file)
 
 #include <string.h>
 
-#include "runtime.h"
 #include "sbcl.h"
+#include "runtime.h"
 #include "os.h"
 #include "search.h"
+#include "thread.h"
+#include "genesis/primitive-objects.h"
 
 boolean search_for_type(int type, lispobj **start, int *count)
 {
@@ -45,7 +47,9 @@ boolean search_for_symbol(char *name, lispobj **start, int *count)
        if (lowtag_of(symbol->name) == OTHER_POINTER_LOWTAG) {
             symbol_name = (struct vector *)native_pointer(symbol->name);
             if (is_valid_lisp_addr((os_vm_address_t)symbol_name) &&
-               widetag_of(symbol_name->header) == SIMPLE_STRING_WIDETAG &&
+               /* FIXME: Broken with more than one type of string
+                  (i.e. even broken given (VECTOR NIL) */
+               widetag_of(symbol_name->header) == SIMPLE_BASE_STRING_WIDETAG &&
                strcmp((char *)symbol_name->data, name) == 0)
                 return 1;
        }