Fixed bug in loading of categories under certain special circumstances

From-SVN: r48110
This commit is contained in:
Nicola Pero 2001-12-17 17:23:09 +00:00 committed by Nicola Pero
parent 8ecba28a99
commit e5e0f6f539
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,11 @@
Mon Dec 17 17:02:12 2001 Nicola Pero <nicola@brainstorm.co.uk>
* init.c (__objc_exec_class): Fixed bug in the loop on unclaimed
categories - when an unclaimed category was found, the loop was
doing two steps forward instead of one, so that in certain cases
it was failing to properly load all the categories. (Reported
with fix by Alexander Malmberg <alexander@malmberg.org>).
2001-11-14 Aldy Hernandez <aldyh@redhat.com>
* encoding.c: Add target_flags.

View File

@ -599,9 +599,7 @@ __objc_exec_class (Module_t module)
/* Scan the unclaimed category hash. Attempt to attach any unclaimed
categories to objects. */
for (cell = &unclaimed_categories;
*cell;
({ if (*cell) cell = &(*cell)->tail; }))
for (cell = &unclaimed_categories; *cell; )
{
Category_t category = (*cell)->head;
Class class = objc_lookup_class (category->class_name);
@ -630,6 +628,8 @@ __objc_exec_class (Module_t module)
only done for root classes. */
__objc_register_instance_methods_to_class(class);
}
else
cell = &(*cell)->tail;
}
if (unclaimed_proto_list && objc_lookup_class ("Protocol"))