Index: src/OFXMLElement.m ================================================================== --- src/OFXMLElement.m +++ src/OFXMLElement.m @@ -230,11 +230,11 @@ } pool = [[OFAutoreleasePool alloc] init]; def_ns = (defaultNamespace != nil ? defaultNamespace - : (parent != nil ? parent->defaultNamespace : nil)); + : (parent != nil ? parent->defaultNamespace : (OFString*)nil)); if (parent != nil && parent->namespaces != nil) { OFEnumerator *key_enum = [namespaces keyEnumerator]; OFEnumerator *obj_enum = [namespaces objectEnumerator]; id key, obj; @@ -246,23 +246,24 @@ [all_namespaces setObject: obj forKey: key]; } else all_namespaces = namespaces; - prefix = [all_namespaces objectForKey: (ns != nil ? ns : @"")]; + prefix = [all_namespaces objectForKey: + (ns != nil ? ns : (OFString*)@"")]; parent_prefix = [all_namespaces objectForKey: - (parent != nil && parent->ns != nil ? parent->ns : @"")]; + (parent != nil && parent->ns != nil ? parent->ns : (OFString*)@"")]; i = 0; len = [name cStringLength] + 3; str_c = [self allocMemoryWithSize: len]; /* Start of tag */ str_c[i++] = '<'; if (prefix != nil && ![ns isEqual: def_ns] && - (![ns isEqual: (parent != nil ? parent->ns : nil)] || + (![ns isEqual: (parent != nil ? parent->ns : (OFString*)nil)] || parent_prefix != nil)) { len += [prefix cStringLength] + 1; @try { str_c = [self resizeMemory: str_c toSize: len]; @@ -280,11 +281,11 @@ memcpy(str_c + i, [name cString], [name cStringLength]); i += [name cStringLength]; /* xmlns if necessary */ if (ns != nil && prefix == nil && ![ns isEqual: def_ns] && - (![ns isEqual: (parent != nil ? parent->ns : nil)] || + (![ns isEqual: (parent != nil ? parent->ns : (OFString*)nil)] || parent_prefix != nil)) { len += [ns cStringLength] + 9; @try { str_c = [self resizeMemory: str_c