summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2015-01-11 23:53:50 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2015-01-11 23:53:50 -0600
commit8b9ae3fbf85093ffc3470654630ca76a25b599ad (patch)
treeeb051dffe44477aff8a191f7678d8abafe272be5
parent9655b0b845a568b61437a9354e98eae9623b7d13 (diff)
downloadqt3-8b9ae3fb.tar.gz
qt3-8b9ae3fb.zip
Add vsprintf method to QString
-rw-r--r--src/tools/qstring.cpp18
-rw-r--r--src/tools/qstring.h9
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;