0.9.0.37:
[sbcl.git] / src / runtime / search.c
index e2d642b..1fb66b9 100644 (file)
@@ -9,10 +9,14 @@
  * files for more information.
  */
 
-#include "runtime.h"
+#include <string.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)
 {
@@ -43,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;
        }