fix ivar lookup function to look in superclass

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29804 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2010-02-28 17:16:21 +00:00
parent aac130e069
commit 05b7bfa194

View file

@ -409,22 +409,25 @@ class_getInstanceSize(Class cls)
Ivar
class_getInstanceVariable(Class cls, const char *name)
{
struct objc_ivar_list *ivarlist = cls->ivars;
int i;
if (NULL == ivarlist)
while (cls != Nil)
{
return NULL;
}
struct objc_ivar_list *ivarlist = cls->ivars;
int i;
for (i = 0; i < ivarlist->ivar_count; i++)
{
Ivar ivar = &ivarlist->ivar_list[i];
if (strcmp(ivar->ivar_name, name) == 0)
if (NULL == ivarlist)
{
return ivar;
return NULL;
}
for (i = 0; i < ivarlist->ivar_count; i++)
{
Ivar ivar = &ivarlist->ivar_list[i];
if (strcmp(ivar->ivar_name, name) == 0)
{
return ivar;
}
}
cls = class_getSuperclass(cls);
}
return NULL;
}