summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2020-07-26 08:31:46 -0700
committerThiago Macieira <thiago.macieira@intel.com>2020-07-31 10:36:33 -0700
commitfe9e6b2ceb77befb77e664cda9842ff95ddf08a3 (patch)
tree1d2cca0610862d590273a84fe662d1fcd621e570 /src
parenta6b3a1e4598f829b1b60407b2e47417db6f0e442 (diff)
QString::vasprintf: fix 't' modifier for integers on 64-bit
‘t’ Specifies that the argument is a ‘ptrdiff_t’. This modifier was introduced in ISO C99. We use qsizetype, which is the same width as ptrdiff_t, so it makes no difference in va_arg(). Change-Id: Iea47e0f8fc8b40378df7fffd16255730109413a5 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/text/qstring.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp
index 2afecbca33..0334583900 100644
--- a/src/corelib/text/qstring.cpp
+++ b/src/corelib/text/qstring.cpp
@@ -6383,8 +6383,10 @@ QString QString::vasprintf(const char *cformat, va_list ap)
case lm_l: i = va_arg(ap, long int); break;
case lm_ll: i = va_arg(ap, qint64); break;
case lm_j: i = va_arg(ap, long int); break;
- case lm_z: i = va_arg(ap, size_t); break;
- case lm_t: i = va_arg(ap, int); break;
+
+ /* ptrdiff_t actually, but it should be the same for us */
+ case lm_z: i = va_arg(ap, qsizetype); break;
+ case lm_t: i = va_arg(ap, qsizetype); break;
default: i = 0; break;
}
subst = QLocaleData::c()->longLongToString(i, precision, 10, width, flags);
@@ -6402,6 +6404,7 @@ QString QString::vasprintf(const char *cformat, va_list ap)
case lm_h: u = va_arg(ap, uint); break;
case lm_l: u = va_arg(ap, ulong); break;
case lm_ll: u = va_arg(ap, quint64); break;
+ case lm_t: u = va_arg(ap, size_t); break;
case lm_z: u = va_arg(ap, size_t); break;
default: u = 0; break;
}