Overview
Comment: | Add -[hash] to OFXMLElement and OFXMLAttribute. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | 0.5 |
Files: | files | file ages | folders |
SHA3-256: |
0ae2dee38fad4af281b2b6c908288037 |
User & Date: | js on 2011-06-30 18:33:55 |
Other Links: | branch diff | manifest | tags |
Context
2011-06-30
| ||
18:33 | Add -[hash] to OFXMLElement and OFXMLAttribute. check-in: 0ae2dee38f user: js tags: 0.5 | |
18:27 | Add -[isEqual:] to OFXMLElement and OFXMLAttribute. check-in: 05c094a39f user: js tags: 0.5 | |
2011-06-07
| ||
14:10 | Small changes to OF_SETTER/OF_GETTER. check-in: ff3d9a9225 user: js tags: 0.5 | |
Changes
Modified src/OFXMLAttribute.m from [ea5e3160de] to [8ed5b9d71d].
︙ | ︙ | |||
15 16 17 18 19 20 21 22 23 24 25 26 27 28 | */ #include "config.h" #import "OFXMLAttribute.h" #import "OFString.h" #import "OFAutoreleasePool.h" @implementation OFXMLAttribute + attributeWithName: (OFString*)name namespace: (OFString*)ns stringValue: (OFString*)value { return [[[self alloc] initWithName: name | > > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | */ #include "config.h" #import "OFXMLAttribute.h" #import "OFString.h" #import "OFAutoreleasePool.h" #import "macros.h" @implementation OFXMLAttribute + attributeWithName: (OFString*)name namespace: (OFString*)ns stringValue: (OFString*)value { return [[[self alloc] initWithName: name |
︙ | ︙ | |||
86 87 88 89 90 91 92 93 | if (other->ns != ns && ![other->ns isEqual: ns]) return NO; if (![other->stringValue isEqual: stringValue]) return NO; return YES; } @end | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | if (other->ns != ns && ![other->ns isEqual: ns]) return NO; if (![other->stringValue isEqual: stringValue]) return NO; return YES; } - (uint32_t)hash { uint32_t hash, tmp; OF_HASH_INIT(hash); tmp = [name hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); tmp = [name hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); tmp = [ns hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); tmp = [stringValue hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); OF_HASH_FINALIZE(hash); return hash; } @end |
Modified src/OFXMLElement.m from [b89fa67593] to [648374ef15].
︙ | ︙ | |||
28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #import "OFXMLElementBuilder.h" #import "OFAutoreleasePool.h" #import "OFInvalidArgumentException.h" #import "OFMalformedXMLException.h" #import "OFNotImplementedException.h" #import "OFUnboundNamespaceException.h" @interface OFXMLElement_OFXMLElementBuilderDelegate: OFObject { @public OFXMLElement *element; } @end | > > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #import "OFXMLElementBuilder.h" #import "OFAutoreleasePool.h" #import "OFInvalidArgumentException.h" #import "OFMalformedXMLException.h" #import "OFNotImplementedException.h" #import "OFUnboundNamespaceException.h" #import "macros.h" @interface OFXMLElement_OFXMLElementBuilderDelegate: OFObject { @public OFXMLElement *element; } @end |
︙ | ︙ | |||
789 790 791 792 793 794 795 796 797 798 799 800 801 802 | if (other->cdata != cdata && ![other->cdata isEqual: cdata]) return NO; if (other->comment != comment && ![other->comment isEqual: comment]) return NO; return YES; } - (void)dealloc { [name release]; [ns release]; [defaultNamespace release]; [attributes release]; | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 | if (other->cdata != cdata && ![other->cdata isEqual: cdata]) return NO; if (other->comment != comment && ![other->comment isEqual: comment]) return NO; return YES; } - (uint32_t)hash { uint32_t hash, tmp; OF_HASH_INIT(hash); tmp = [name hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); tmp = [ns hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); tmp = [defaultNamespace hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); tmp = [attributes hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); tmp = [namespaces hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); tmp = [children hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); tmp = [characters hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); tmp = [cdata hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); tmp = [comment hash]; OF_HASH_ADD(hash, (tmp >> 24) & 0xFF); OF_HASH_ADD(hash, (tmp >> 16) & 0xFF); OF_HASH_ADD(hash, (tmp >> 8) & 0xFF); OF_HASH_ADD(hash, tmp & 0xFF); OF_HASH_FINALIZE(hash); return hash; } - (void)dealloc { [name release]; [ns release]; [defaultNamespace release]; [attributes release]; |
︙ | ︙ |