Differences From Artifact [a8f0eceb0e]:
- File
src/OFXMLParser.m
— part of check-in
[008be86a16]
at
2012-03-12 11:54:22
on branch trunk
— OFArray: +[arrayWithCArray:length:] -> +[arrayWithObjects:count:].
This is required for the new array literals. (user: js, size: 25101) [annotate] [blame] [check-ins using]
To Artifact [8f2d46a92b]:
- File src/OFXMLParser.m — part of check-in [4a080857a2] at 2012-03-16 17:32:00 on branch trunk — OFXMLParser: Don't recreate "attributes" all the time. (user: js, size: 25066) [annotate] [blame] [check-ins using] [more...]
︙ | ︙ | |||
185 186 187 188 189 190 191 192 193 194 195 196 197 198 | @try { OFAutoreleasePool *pool; OFMutableDictionary *dict; cache = [[OFBigDataArray alloc] init]; previous = [[OFMutableArray alloc] init]; namespaces = [[OFMutableArray alloc] init]; pool = [[OFAutoreleasePool alloc] init]; dict = [OFMutableDictionary dictionaryWithKeysAndObjects: @"xml", @"http://www.w3.org/XML/1998/namespace", @"xmlns", @"http://www.w3.org/2000/xmlns/", nil]; [namespaces addObject: dict]; | > | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | @try { OFAutoreleasePool *pool; OFMutableDictionary *dict; cache = [[OFBigDataArray alloc] init]; previous = [[OFMutableArray alloc] init]; namespaces = [[OFMutableArray alloc] init]; attributes = [[OFMutableArray alloc] init]; pool = [[OFAutoreleasePool alloc] init]; dict = [OFMutableDictionary dictionaryWithKeysAndObjects: @"xml", @"http://www.w3.org/XML/1998/namespace", @"xmlns", @"http://www.w3.org/2000/xmlns/", nil]; [namespaces addObject: dict]; |
︙ | ︙ | |||
722 723 724 725 726 727 728 | } else [previous addObject: name]; [pool release]; [name release]; [prefix release]; | | < | 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 | } else [previous addObject: name]; [pool release]; [name release]; [prefix release]; [attributes removeAllObjects]; name = prefix = nil; *last = *i + 1; state = (buffer[*i] == '/' ? OF_XMLPARSER_EXPECT_CLOSE : OF_XMLPARSER_OUTSIDE_TAG); } |
︙ | ︙ | |||
823 824 825 826 827 828 829 | if (attributePrefix == nil && [attributeName isEqual: @"xmlns"]) [[namespaces lastObject] setObject: attributeValue forKey: @""]; if ([attributePrefix isEqual: @"xmlns"]) [[namespaces lastObject] setObject: attributeValue forKey: attributeName]; | < < < | 823 824 825 826 827 828 829 830 831 832 833 834 835 836 | if (attributePrefix == nil && [attributeName isEqual: @"xmlns"]) [[namespaces lastObject] setObject: attributeValue forKey: @""]; if ([attributePrefix isEqual: @"xmlns"]) [[namespaces lastObject] setObject: attributeValue forKey: attributeName]; [attributes addObject: [OFXMLAttribute attributeWithName: attributeName namespace: attributePrefix stringValue: attributeValue]]; [pool release]; |
︙ | ︙ |