diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2020-07-26 08:31:46 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2020-07-31 10:36:33 -0700 |
commit | fe9e6b2ceb77befb77e664cda9842ff95ddf08a3 (patch) | |
tree | 1d2cca0610862d590273a84fe662d1fcd621e570 /src | |
parent | a6b3a1e4598f829b1b60407b2e47417db6f0e442 (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.cpp | 7 |
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; } |