X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fruntime%2Fsearch.c;h=1fb66b9118b16a0420de19fdb34622c28346d1ee;hb=eaa8a506790bb6ed627da617247bfd13802eb365;hp=e2d642bd90477d740926a88d209e2ea07cc59f35;hpb=3c65762b927af861c9c8bc416e4cbac9a14ec0c3;p=sbcl.git diff --git a/src/runtime/search.c b/src/runtime/search.c index e2d642b..1fb66b9 100644 --- a/src/runtime/search.c +++ b/src/runtime/search.c @@ -9,10 +9,14 @@ * files for more information. */ -#include "runtime.h" +#include + #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; }