diff options
-rw-r--r-- | src/tools/ntqstring.h | 9 | ||||
-rw-r--r-- | src/tools/qstring.cpp | 18 |
2 files changed, 22 insertions, 5 deletions
diff --git a/src/tools/ntqstring.h b/src/tools/ntqstring.h index 4d473e016..e8381a0b5 100644 --- a/src/tools/ntqstring.h +++ b/src/tools/ntqstring.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 TQt GUI Toolkit. @@ -63,6 +64,9 @@ #endif #endif +#ifndef QT_NO_SPRINTF +#include <stdarg.h> +#endif /***************************************************************************** TQString class @@ -454,6 +458,11 @@ public: __attribute__ ((format (printf, 2, 3))) #endif ; + TQString &vsprintf(const char *format, va_list ap) +#if defined(Q_CC_GNU) && !defined(__INSURE__) + __attribute__ ((format (printf, 2, 0))) +#endif + ; #endif int find( TQChar c, int index=0, bool cs=TRUE ) const; diff --git a/src/tools/qstring.cpp b/src/tools/qstring.cpp index 67de50301..2610a2cd6 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 TQt GUI Toolkit. @@ -2604,12 +2605,10 @@ TQString TQString::multiArg( int numArgs, const TQString& a1, const TQString& a2 */ #ifndef QT_NO_SPRINTF -TQString &TQString::sprintf( const char* cformat, ... ) +TQString &TQString::sprintf(const char *cformat, ...) { - TQLocale locale(TQLocale::C); - va_list ap; - va_start( ap, cformat ); + va_start(ap, cformat); if ( !cformat || !*cformat ) { // TQt 1.x compat @@ -2617,6 +2616,16 @@ TQString &TQString::sprintf( const char* cformat, ... ) return *this; } + TQString &s = vsprintf(cformat, ap); + + va_end(ap); + return s; +} + +TQString &TQString::vsprintf( const char* cformat, va_list ap ) +{ + TQLocale locale(TQLocale::C); + // Parse cformat TQString result; @@ -2933,7 +2942,6 @@ TQString &TQString::sprintf( const char* cformat, ... ) result.append(subst.rightJustify(width)); } - va_end(ap); *this = result; return *this; |