Index: src/OFString.h ================================================================== --- src/OFString.h +++ src/OFString.h @@ -667,10 +667,18 @@ * @param string The string to append * @return A new, autoreleased OFString with the specified string appended */ - (OFString*)stringByAppendingString: (OFString*)string; +/*! + * @brief Creates a new string by appending the specified format. + * + * @param format A format string which generates the string to append + * @return A new, autoreleased OFString with the specified format appended + */ +- (OFString*)stringByAppendingFormat: (OFConstantString*)format, ...; + /*! * @brief Creates a new string by appending a path component. * * @param component The path component to append * @return A new, autoreleased OFString with the path component appended Index: src/OFString.m ================================================================== --- src/OFString.m +++ src/OFString.m @@ -1287,10 +1287,27 @@ { OFMutableString *new; new = [OFMutableString stringWithString: self]; [new appendString: string]; + + [new makeImmutable]; + + return new; +} + +- (OFString*)stringByAppendingFormat: (OFConstantString*)format, ... +{ + OFMutableString *new; + va_list arguments; + + new = [OFMutableString stringWithString: self]; + + va_start(arguments, format); + [new appendFormat: format + arguments: arguments]; + va_end(arguments); [new makeImmutable]; return new; }