Differences From Artifact [8d722a0684]:
- File src/OFDictionary.m — part of check-in [c9b6747306] at 2009-03-15 16:54:04 on branch trunk — Fix missing #import "config.h". (user: js, size: 2814) [annotate] [blame] [check-ins using]
To Artifact [065f154d58]:
- File
src/OFDictionary.m
— part of check-in
[cbdd534337]
at
2009-04-12 14:51:00
on branch trunk
— Get rid of the dependency on Object.
This allows libobjfw to run on ObjC2-only runtimes like the one on the
iPhone. However, it's still relying on objc_msgSendv for plugins, which
is unavailable in ObjC2-only runtimes, thus OFPlugins are unavailable
on the iPhone until I write a replacement for objc_msgSendv. (user: js, size: 2751) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
78 79 80 81 82 83 84 | for (i = 0; i < size; i++) if (data[i] != nil) [data[i] release]; return [super free]; } | | | | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | for (i = 0; i < size; i++) if (data[i] != nil) [data[i] release]; return [super free]; } - set: (OFObject*)key to: (OFObject*)obj { uint32_t hash = [key hash] & (size - 1); of_list_object_t *iter; if (data[hash] == nil) data[hash] = [OFList new]; |
︙ | ︙ | |||
107 108 109 110 111 112 113 | [data[hash] append: key]; [data[hash] append: obj]; return self; } | | | | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | [data[hash] append: key]; [data[hash] append: obj]; return self; } - get: (OFObject*)key { uint32_t hash = [key hash] & (size - 1); of_list_object_t *iter; if (data[hash] == nil) return nil; for (iter = [data[hash] first]; iter != NULL; iter = iter->next->next) if ([iter->object isEqual: key]) return iter->next->object; return nil; } - remove: (OFObject*)key { uint32_t hash = [key hash] & (size - 1); of_list_object_t *iter; if (data[hash] == nil) return self; // FIXME: Throw exception? |
︙ | ︙ |