fix eval.c:find logic
This commit is contained in:
parent
9a12d2ac9f
commit
07300eff7c
12
eval.c
12
eval.c
@ -65,16 +65,12 @@ clone(Object *p)
|
||||
static Object*
|
||||
find(Object *env, Object *obj)
|
||||
{
|
||||
Object *res = 0;
|
||||
for(Object *cur=env->sp->car; cur!=&Nil; cur=cur->up)
|
||||
for(Object *p=cur->local; p!=&Nil; p=cdr(p))
|
||||
if(strequal(obj, car(car(p)))){
|
||||
res = p;
|
||||
break;
|
||||
}
|
||||
if(res == 0)
|
||||
error("not exist variable");
|
||||
return clone(cdr(car(res)));
|
||||
if(strequal(obj, car(car(p))))
|
||||
return clone(cdr(car(p)));
|
||||
error("not exist variable");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static Object*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user