From c91c2de735e57aa5d3d775b234fa8f00447df56e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Sundstr=C3=B6m?= Date: Sat, 26 Feb 2011 07:26:19 +0000 Subject: [PATCH] Printf-like assignment method for BString. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40695 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/support/String.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/kits/support/String.cpp b/src/kits/support/String.cpp index 67dd1e7a0d..b6e383d747 100644 --- a/src/kits/support/String.cpp +++ b/src/kits/support/String.cpp @@ -424,6 +424,25 @@ BString::AdoptChars(BString& string, int32 charCount) } +BString& +BString::SetToArguments(const char *format, ...) +{ + va_list arg; + va_start(arg, format); + int32 bytes = vsnprintf(LockBuffer(0), 0, format, arg); + va_end(arg); + UnlockBuffer(0); + + va_list arg2; + va_start(arg2, format); + bytes = vsnprintf(LockBuffer(bytes), bytes + 1, format, arg2); + va_end(arg2); + UnlockBuffer(bytes); + + return *this; +} + + // #pragma mark - Substring copying