Index: src/OFXMLElementBuilder.m ================================================================== --- src/OFXMLElementBuilder.m +++ src/OFXMLElementBuilder.m @@ -23,10 +23,12 @@ #import "OFXMLParser.h" #import "OFMutableArray.h" #import "OFAutoreleasePool.h" #import "OFMalformedXMLException.h" + +#import "macros.h" @implementation OFXMLElementBuilder + elementBuilder { return [[[self alloc] init] autorelease]; @@ -54,18 +56,16 @@ [super dealloc]; } - (id )delegate { - return [[(id)delegate retain] autorelease]; + OF_GETTER(delegate, YES) } - (void)setDelegate: (id )delegate_ { - [(id)delegate_ retain]; - [(id)delegate release]; - delegate = delegate_; + OF_SETTER(delegate, delegate_, YES, NO) } - (void)parser: (OFXMLParser*)parser didStartElement: (OFString*)name withPrefix: (OFString*)prefix Index: src/OFXMLParser.m ================================================================== --- src/OFXMLParser.m +++ src/OFXMLParser.m @@ -544,19 +544,19 @@ withPrefix: prefix namespace: ns]; } else [previous addObject: [[cache copy] autorelease]]; - [pool release]; - - [name release]; - [prefix release]; - name = prefix = nil; - - state = (buffer[*i] == '/' - ? OF_XMLPARSER_EXPECT_CLOSE - : OF_XMLPARSER_OUTSIDE_TAG); + [pool release]; + + [name release]; + [prefix release]; + name = prefix = nil; + + state = (buffer[*i] == '/' + ? OF_XMLPARSER_EXPECT_CLOSE + : OF_XMLPARSER_OUTSIDE_TAG); } else state = OF_XMLPARSER_IN_TAG; if (buffer[*i] != '/') { OFAutoreleasePool *pool;