Index: src/OFXMLElement.m ================================================================== --- src/OFXMLElement.m +++ src/OFXMLElement.m @@ -528,12 +528,12 @@ i = 0; length = [name cStringLength] + 3 + (level * indentation); cString = [self allocMemoryWithSize: length]; - for (j = 0; j < level * indentation; j++) - cString[i++] = ' '; + memset(cString + i, ' ', level * indentation); + i += level * indentation; /* Start of tag */ cString[i++] = '<'; if (prefix != nil && ![ns isEqual: defaultNS]) { @@ -674,13 +674,14 @@ cString[i++] = '>'; memcpy(cString + i, [tmp cString], [tmp cStringLength]); i += [tmp cStringLength]; - if (indent) - for (j = 0; j < level * indentation; j++) - cString[i++] = ' '; + if (indent) { + memset(cString + i, ' ', level * indentation); + i += level * indentation; + } cString[i++] = '<'; cString[i++] = '/'; if (prefix != nil) { length += [prefix cStringLength] + 1; Index: tests/OFXMLElementTests.m ================================================================== --- tests/OFXMLElementTests.m +++ tests/OFXMLElementTests.m @@ -134,12 +134,12 @@ [OFXMLElement elementWithXMLString: @""]] && [[OFXMLElement elementWithXMLString: @""] isEqual: [OFXMLElement elementWithXMLString: @""]]) TEST(@"-[XMLStringWithIndentation:]", - [[[OFXMLElement elementWithXMLString: @"a\nb"] - XMLStringWithIndentation: 2] isEqual: - @"\n \n a\nb\n \n"]) + [[[OFXMLElement elementWithXMLString: @"a\nb" + @""] XMLStringWithIndentation: 2] isEqual: + @"\n \n a\nb\n \n \n"]) [pool drain]; } @end