Commit e5e0f6f5 by Nicola Pero Committed by Nicola Pero

Fixed bug in loading of categories under certain special circumstances

From-SVN: r48110
parent 8ecba28a
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> 2001-11-14 Aldy Hernandez <aldyh@redhat.com>
* encoding.c: Add target_flags. * encoding.c: Add target_flags.
......
...@@ -599,9 +599,7 @@ __objc_exec_class (Module_t module) ...@@ -599,9 +599,7 @@ __objc_exec_class (Module_t module)
/* Scan the unclaimed category hash. Attempt to attach any unclaimed /* Scan the unclaimed category hash. Attempt to attach any unclaimed
categories to objects. */ categories to objects. */
for (cell = &unclaimed_categories; for (cell = &unclaimed_categories; *cell; )
*cell;
({ if (*cell) cell = &(*cell)->tail; }))
{ {
Category_t category = (*cell)->head; Category_t category = (*cell)->head;
Class class = objc_lookup_class (category->class_name); Class class = objc_lookup_class (category->class_name);
...@@ -630,6 +628,8 @@ __objc_exec_class (Module_t module) ...@@ -630,6 +628,8 @@ __objc_exec_class (Module_t module)
only done for root classes. */ only done for root classes. */
__objc_register_instance_methods_to_class(class); __objc_register_instance_methods_to_class(class);
} }
else
cell = &(*cell)->tail;
} }
if (unclaimed_proto_list && objc_lookup_class ("Protocol")) if (unclaimed_proto_list && objc_lookup_class ("Protocol"))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment