Index: src/OFConstantString.m ================================================================== --- src/OFConstantString.m +++ src/OFConstantString.m @@ -391,10 +391,19 @@ { [self finishInitialization]; return [self stringByAppendingString: string]; } + +- (OFString*)stringByAppendingFormat: (OFConstantString*)format + arguments: (va_list)arguments +{ + [self finishInitialization]; + + return [self stringByAppendingFormat: format + arguments: arguments]; +} - (OFString*)stringByAppendingPathComponent: (OFString*)component { [self finishInitialization]; Index: src/OFString.h ================================================================== --- src/OFString.h +++ src/OFString.h @@ -687,10 +687,20 @@ * @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 the specified format. + * + * @param format A format string which generates the string to append + * @param arguments The arguments used in the format string + * @return A new, autoreleased OFString with the specified format appended + */ +- (OFString*)stringByAppendingFormat: (OFConstantString*)format + arguments: (va_list)arguments; + /*! * @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 @@ -1347,19 +1347,29 @@ return new; } - (OFString*)stringByAppendingFormat: (OFConstantString*)format, ... { - OFMutableString *new; + OFString *ret; va_list arguments; - new = [OFMutableString stringWithString: self]; - va_start(arguments, format); + ret = [self stringByAppendingFormat: format + arguments: arguments]; + va_end(arguments); + + return ret; +} + +- (OFString*)stringByAppendingFormat: (OFConstantString*)format + arguments: (va_list)arguments +{ + OFMutableString *new; + + new = [OFMutableString stringWithString: self]; [new appendFormat: format arguments: arguments]; - va_end(arguments); [new makeImmutable]; return new; }