@@ -52,10 +52,28 @@ - (id)copy { OFArray *new = [OFArray array]; OFObject **objs; size_t len, i; + + objs = [array data]; + len = [array count]; + + [new->array addNItems: len + fromCArray: objs]; + + for (i = 0; i < len; i++) + [objs[i] retain]; + + return new; +} + +- (id)mutableCopy +{ + OFArray *new = [OFMutableArray array]; + OFObject **objs; + size_t len, i; objs = [array data]; len = [array count]; [new->array addNItems: len