X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fvars.c;h=21147fec5e873e3bebbe94e0797afd39a1346afb;hb=cd1b14acf6f548b28b8a14e554d779f0473122ec;hp=8786ee782bebfb45e069f3b4c98155048624328c;hpb=686043635c45a16b418d2cc96a7f704fdab182c2;p=sbcl.git diff --git a/src/runtime/vars.c b/src/runtime/vars.c index 8786ee7..21147fe 100644 --- a/src/runtime/vars.c +++ b/src/runtime/vars.c @@ -10,10 +10,11 @@ */ #include -#include +#include #include #include +#include "sbcl.h" #include "runtime.h" #include "vars.h" #include "os.h" @@ -28,7 +29,7 @@ struct var { lispobj obj; lispobj (*update_fn)(struct var *var); char *name; - long clock; + sword_t clock; boolean map_back, permanent; struct var *nnext; /* Next in name list */ @@ -37,7 +38,7 @@ struct var { static int hash_name(char *name) { - unsigned long value = 0; + uword_t value = 0; while (*name != '\0') { value = (value << 1) ^ *(unsigned char *)(name++); @@ -49,7 +50,7 @@ static int hash_name(char *name) static int hash_obj(lispobj obj) { - return (unsigned long)obj % OBJ_BUCKETS; + return (uword_t)obj % OBJ_BUCKETS; } void flush_vars() @@ -73,8 +74,8 @@ void flush_vars() free(var); } } - bzero(NameHash, sizeof(NameHash)); - bzero(ObjHash, sizeof(ObjHash)); + memset(NameHash, 0, sizeof(NameHash)); + memset(ObjHash, 0, sizeof(ObjHash)); tempcntr = 1; for (var = perm; var != NULL; var = next) { @@ -154,7 +155,7 @@ struct var *define_var(char *name, lispobj obj, boolean perm) } struct var *define_dynamic_var(char *name, lispobj updatefn(struct var *), - boolean perm) + boolean perm) { struct var *var = make_var(name, perm); @@ -175,12 +176,12 @@ lispobj var_value(struct var *var) return var->obj; } -long var_clock(struct var *var) +sword_t var_clock(struct var *var) { return var->clock; } -void var_setclock(struct var *var, long val) +void var_setclock(struct var *var, sword_t val) { var->clock = val; }