diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2015-01-11 23:53:50 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2015-01-11 23:53:50 -0600 |
commit | 8b9ae3fbf85093ffc3470654630ca76a25b599ad (patch) | |
tree | eb051dffe44477aff8a191f7678d8abafe272be5 | |
parent | 9655b0b845a568b61437a9354e98eae9623b7d13 (diff) | |
download | qt3-8b9ae3fbf85093ffc3470654630ca76a25b599ad.tar.gz qt3-8b9ae3fbf85093ffc3470654630ca76a25b599ad.zip |
Add vsprintf method to QString
-rw-r--r-- | src/tools/qstring.cpp | 18 | ||||
-rw-r--r-- | src/tools/qstring.h | 9 |
2 files changed, 22 insertions, 5 deletions
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; diff --git a/src/tools/qstring.h b/src/tools/qstring.h index 8715395..82b8a0e 100644 --- a/src/tools/qstring.h +++ b/src/tools/qstring.h @@ -4,6 +4,7 @@ ** ** Created : 920609 ** +** 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. @@ -63,6 +64,9 @@ #endif #endif +#ifndef QT_NO_SPRINTF +#include <stdarg.h> +#endif /***************************************************************************** QString class @@ -454,6 +458,11 @@ public: __attribute__ ((format (printf, 2, 3))) #endif ; + QString &vsprintf(const char *format, va_list ap) +#if defined(Q_CC_GNU) && !defined(__INSURE__) + __attribute__ ((format (printf, 2, 0))) +#endif + ; #endif int find( QChar c, int index=0, bool cs=TRUE ) const; |