From 8b9ae3fbf85093ffc3470654630ca76a25b599ad Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 11 Jan 2015 23:53:50 -0600 Subject: Add vsprintf method to QString --- src/tools/qstring.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'src/tools/qstring.cpp') diff --git a/src/tools/qstring.cpp b/src/tools/qstring.cpp index 1c796fe..1288fd7 100644 --- a/src/tools/qstring.cpp +++ b/src/tools/qstring.cpp @@ -4,6 +4,7 @@ ** ** Created : 920722 ** +** Copyright (C) 2015 Timothy Pearson. All rights reserved. ** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the tools module of the Qt GUI Toolkit. @@ -2604,12 +2605,10 @@ QString QString::multiArg( int numArgs, const QString& a1, const QString& a2, */ #ifndef QT_NO_SPRINTF -QString &QString::sprintf( const char* cformat, ... ) +QString &QString::sprintf(const char *cformat, ...) { - QLocale locale(QLocale::C); - va_list ap; - va_start( ap, cformat ); + va_start(ap, cformat); if ( !cformat || !*cformat ) { // Qt 1.x compat @@ -2617,6 +2616,16 @@ QString &QString::sprintf( const char* cformat, ... ) return *this; } + QString &s = vsprintf(cformat, ap); + + va_end(ap); + return s; +} + +QString &QString::vsprintf( const char* cformat, va_list ap ) +{ + QLocale locale(QLocale::C); + // Parse cformat QString result; @@ -2933,7 +2942,6 @@ QString &QString::sprintf( const char* cformat, ... ) result.append(subst.rightJustify(width)); } - va_end(ap); *this = result; return *this; -- cgit v1.2.3