|
|
|
@ -240,6 +240,7 @@ class_copyIvarList(Class cls, unsigned int *outCount)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
struct objc_ivar_list *ivarlist = cls->ivars;
|
|
|
|
struct objc_ivar_list *ivarlist = cls->ivars;
|
|
|
|
unsigned int count = 0;
|
|
|
|
unsigned int count = 0;
|
|
|
|
|
|
|
|
unsigned int index;
|
|
|
|
Ivar *list;
|
|
|
|
Ivar *list;
|
|
|
|
|
|
|
|
|
|
|
|
if (ivarlist != NULL)
|
|
|
|
if (ivarlist != NULL)
|
|
|
|
@ -257,8 +258,11 @@ class_copyIvarList(Class cls, unsigned int *outCount)
|
|
|
|
|
|
|
|
|
|
|
|
list = malloc((count + 1) * sizeof(struct objc_ivar *));
|
|
|
|
list = malloc((count + 1) * sizeof(struct objc_ivar *));
|
|
|
|
list[count] = NULL;
|
|
|
|
list[count] = NULL;
|
|
|
|
memcpy(list, ivarlist->ivar_list,
|
|
|
|
for (index = 0; index < ivarlist->ivar_count; index++)
|
|
|
|
ivarlist->ivar_count * sizeof(struct objc_ivar *));
|
|
|
|
{
|
|
|
|
|
|
|
|
list[count++] = &ivarlist->ivar_list[index];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return list;
|
|
|
|
return list;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -287,9 +291,12 @@ class_copyMethodList(Class cls, unsigned int *outCount)
|
|
|
|
count = 0;
|
|
|
|
count = 0;
|
|
|
|
for (methods = cls->methods; methods != NULL; methods = methods->method_next)
|
|
|
|
for (methods = cls->methods; methods != NULL; methods = methods->method_next)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
memcpy(&list[count], methods->method_list,
|
|
|
|
unsigned int index;
|
|
|
|
methods->method_count * sizeof(struct objc_method *));
|
|
|
|
|
|
|
|
count += methods->method_count;
|
|
|
|
for (index = 0; index < methods->method_count; index++)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
list[count++] = &methods->method_list[index];
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return list;
|
|
|
|
return list;
|
|
|
|
|