@@ -21,10 +21,12 @@ #import "OFDictionary.h" #import "OFXMLElement.h" #import "OFAutoreleasePool.h" #import "OFInvalidArgumentException.h" + +#import "macros.h" @implementation OFXMLAttribute + attributeWithName: (OFString*)name namespace: (OFString*)ns stringValue: (OFString*)value @@ -125,10 +127,25 @@ if (![otherAttribute->stringValue isEqual: stringValue]) return NO; return YES; } + +- (uint32_t)hash +{ + uint32_t hash; + + OF_HASH_INIT(hash); + + OF_HASH_ADD_INT32(hash, [name hash]); + OF_HASH_ADD_INT32(hash, [ns hash]); + OF_HASH_ADD_INT32(hash, [stringValue hash]); + + OF_HASH_FINALIZE(hash); + + return hash; +} - (OFXMLElement*)XMLElementBySerializing { OFAutoreleasePool *pool; OFXMLElement *element;