Commit fb591c73 authored by Marc Mutz's avatar Marc Mutz
Browse files

QStringBuilder: don't allocate memory in convertFromAscii()


Use new QUtf8::convertToUnicode(QChar*, const char*, int)
overload instead of QString::fromUtf8(). The QUtf8 overload
allocates no memory, and is therefore marked as nothrow.

Using this function in convertFromAscii() allows to mark
this function nothrow, too.

All functions of QAbstractConcatenable can now be marked as
nothrow.

Since QUtf8::convertToUnicode() does not deal with lengths
of -1, insert a strlen() call when the len == -1 ASCII fast
path fails due to non-ASCII chars.

Saves 1.1KiB in text size on optimized GCC 5.3 Linux AMD64
builds of QtCore (other libraries are compiled without
exceptions, so this change should not have an effect on
those).

Change-Id: I7333e35844033831eae2a04203d13d9792c5d460
Reviewed-by: default avatarOlivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Showing with 8 additions and 8 deletions
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment