45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
static void
register_category(struct objc_abi_category *cat)
{
struct objc_abi_category **cats;
Class cls = objc_classname_to_class(cat->class_name, false);
if (categories == NULL)
categories = objc_hashtable_new(2);
cats = (struct objc_abi_category**)objc_hashtable_get(categories,
cat->class_name);
if (cats != NULL) {
struct objc_abi_category **ncats;
size_t i;
|
|
>
|
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
static void
register_category(struct objc_abi_category *cat)
{
struct objc_abi_category **cats;
Class cls = objc_classname_to_class(cat->class_name, false);
if (categories == NULL)
categories = objc_hashtable_new(
objc_hash_string, objc_equal_string, 2);
cats = (struct objc_abi_category**)objc_hashtable_get(categories,
cat->class_name);
if (cats != NULL) {
struct objc_abi_category **ncats;
size_t i;
|
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
objc_unregister_all_categories(void)
{
uint32_t i;
if (categories == NULL)
return;
for (i = 0; i <= categories->last_idx; i++)
if (categories->data[i] != NULL)
free((void*)categories->data[i]->obj);
objc_hashtable_free(categories);
categories = NULL;
}
|
|
|
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
objc_unregister_all_categories(void)
{
uint32_t i;
if (categories == NULL)
return;
for (i = 0; i < categories->size; i++)
if (categories->data[i] != NULL)
free((void*)categories->data[i]->obj);
objc_hashtable_free(categories);
categories = NULL;
}
|