summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorAdam Sowa <adam.sowa@strixcode.com>2019-10-31 08:52:26 +0100
committerAdam Sowa <adam.sowa@strixcode.com>2019-11-01 07:53:07 +0000
commitefaa4aa2a1452cf73bc3117c49d1345a4106fd57 (patch)
tree837bf0cc690bc4bf1ffaac9beda8fd742ae4c9c0 /src/corelib
parent312ff6f83be2ba5b577acfe9872f5e20b3430b6a (diff)
QFile::decodeName(const char *): don't construct QByteArray but use the argument directly
Use QString::fromLocal8Bit(const QByteArray &str) instead of constructing QByteArray to avoid memory allocation and strcpy. Change-Id: I32bbb47fbc45681c621adaebe8f8574d8f8ad6bf Fixes: QTBUG-79644 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/io/qfile.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/corelib/io/qfile.h b/src/corelib/io/qfile.h
index cf1465ec70..2099b2852f 100644
--- a/src/corelib/io/qfile.h
+++ b/src/corelib/io/qfile.h
@@ -84,6 +84,10 @@ public:
// note: duplicated in qglobal.cpp (qEnvironmentVariable)
return QString::fromUtf8(localFileName).normalized(QString::NormalizationForm_C);
}
+ static inline QString decodeName(const char *localFileName)
+ {
+ return QString::fromUtf8(localFileName).normalized(QString::NormalizationForm_C);
+ }
#else
static inline QByteArray encodeName(const QString &fileName)
{
@@ -93,9 +97,11 @@ public:
{
return QString::fromLocal8Bit(localFileName);
}
+ static inline QString decodeName(const char *localFileName)
+ {
+ return QString::fromLocal8Bit(localFileName);
+ }
#endif
- inline static QString decodeName(const char *localFileName)
- { return decodeName(QByteArray(localFileName)); }
#if QT_DEPRECATED_SINCE(5,0)
typedef QByteArray (*EncoderFn)(const QString &fileName);