276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
|
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
|
-
+
+
+
+
+
+
+
-
+
-
+
|
}
- mutableCopy
{
return [[OFMutableDictionary alloc] initWithDictionary: self];
}
- (BOOL)isEqual: (id)dictionary
- (BOOL)isEqual: (id)object
{
OFDictionary *otherDictionary;
OFAutoreleasePool *pool;
OFEnumerator *enumerator;
id key;
if (![object isKindOfClass: [OFDictionary class]])
return NO;
otherDictionary = object;
if ([dictionary count] != [self count])
if ([otherDictionary count] != [self count])
return NO;
pool = [[OFAutoreleasePool alloc] init];
enumerator = [self keyEnumerator];
while ((key = [enumerator nextObject]) != nil) {
id object = [dictionary objectForKey: key];
id object = [otherDictionary objectForKey: key];
if (object == nil ||
![object isEqual: [self objectForKey: key]]) {
[pool release];
return NO;
}
}
|