@@ -101,11 +101,12 @@ { uint32_t hash; of_list_object_t *iter; if (key == nil || obj == nil) - @throw [OFInvalidArgumentException newWithClass: isa]; + @throw [OFInvalidArgumentException newWithClass: isa + andSelector: _cmd]; hash = [key hash] & (size - 1); if (data[hash] == nil) data[hash] = [[OFList alloc] init]; @@ -130,36 +131,38 @@ { uint32_t hash; of_list_object_t *iter; if (key == nil) - @throw [OFInvalidArgumentException newWithClass: isa]; + @throw [OFInvalidArgumentException newWithClass: isa + andSelector: _cmd]; hash = [key hash] & (size - 1); if (data[hash] == nil) - @throw [OFNotInSetException newWithClass: isa]; + return nil; for (iter = [data[hash] first]; iter != NULL; iter = iter->next->next) if ([iter->object isEqual: key]) return iter->next->object; - @throw [OFNotInSetException newWithClass: isa]; + return nil; } - remove: (OFObject*)key { uint32_t hash; of_list_object_t *iter; if (key == nil) - @throw [OFInvalidArgumentException newWithClass: isa]; + @throw [OFInvalidArgumentException newWithClass: isa + andSelector: _cmd]; hash = [key hash] & (size - 1); if (data[hash] == nil) - @throw [OFNotInSetException newWithClass: isa]; + return self; for (iter = [data[hash] first]; iter != NULL; iter = iter->next->next) { if ([iter->object isEqual: key]) { [data[hash] remove: iter->next]; [data[hash] remove: iter]; @@ -171,11 +174,11 @@ return self; } } - @throw [OFNotInSetException newWithClass: isa]; + return self; } - (float)averageItemsPerBucket { size_t items, buckets, i;