aboutsummaryrefslogtreecommitdiff
path: root/libobjc/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'libobjc/init.c')
-rw-r--r--libobjc/init.c19
1 files changed, 3 insertions, 16 deletions
diff --git a/libobjc/init.c b/libobjc/init.c
index f1eb83a..0e0d372 100644
--- a/libobjc/init.c
+++ b/libobjc/init.c
@@ -549,7 +549,7 @@ __objc_exec_class (struct objc_module *module)
struct objc_list **cell;
/* The table of selector references for this module. */
- SEL selectors = symtab->refs;
+ struct objc_selector *selectors = symtab->refs;
int i;
@@ -585,22 +585,9 @@ __objc_exec_class (struct objc_module *module)
objc_mutex_lock (__objc_runtime_mutex);
__objc_module_list = list_cons (module, __objc_module_list);
- /* Replace referenced selectors from names to SEL's. */
+ /* Replace referenced selectors from names to SELs. */
if (selectors)
- {
- for (i = 0; selectors[i].sel_id; ++i)
- {
- const char *name, *type;
- name = (char *) selectors[i].sel_id;
- type = (char *) selectors[i].sel_types;
- /* Constructors are constant static data so we can safely
- store pointers to them in the runtime
- structures. is_const == YES. */
- __sel_register_typed_name (name, type,
- (struct objc_selector *) &(selectors[i]),
- YES);
- }
- }
+ __objc_register_selectors_from_module (selectors);
/* Parse the classes in the load module and gather selector
information. */