Overview
Comment: | OFXMLParser: Don't recreate "attributes" all the time. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
4a080857a2efee01e4434d79b3b5c6a0 |
User & Date: | js on 2012-03-16 17:32:00 |
Other Links: | manifest | tags |
Context
2012-03-17
| ||
14:26 | Move definition of __BIGGEST_ALIGNMENT__ to macros.h. check-in: 2d4a63cfcb user: js tags: trunk | |
2012-03-16
| ||
17:32 | OFXMLParser: Don't recreate "attributes" all the time. check-in: 4a080857a2 user: js tags: trunk | |
17:14 | Fix memory wasting in OFBigDataArray. check-in: 36872c7a25 user: js tags: trunk | |
Changes
Modified src/OFXMLParser.m from [a8f0eceb0e] to [8f2d46a92b].
︙ | ︙ | |||
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]; |
︙ | ︙ |