@@ -25,12 +25,14 @@ #import "macros.h" #ifdef OF_SELUID24 # define SEL_MAX 0xFFFFFF +# define SEL_SIZE 3 #else # define SEL_MAX 0xFFFF +# define SEL_SIZE 2 #endif static struct objc_hashtable *selectors = NULL; static uint32_t selectors_cnt = 0; static struct objc_sparsearray *selector_names = NULL; @@ -53,18 +55,18 @@ ((struct objc_selector*)sel)->uid = rsel->uid; return; } if (selector_names == NULL) - selector_names = objc_sparsearray_new(); + selector_names = objc_sparsearray_new(SEL_SIZE); name = sel->name; rsel = (struct objc_selector*)sel; rsel->uid = selectors_cnt++; objc_hashtable_set(selectors, name, rsel); - objc_sparsearray_set(selector_names, (uint32_t)rsel->uid, name); + objc_sparsearray_set(selector_names, (uint32_t)rsel->uid, (void*)name); } SEL sel_registerName(const char *name) {