diff options
author | kh1 <karsten.heimrich@nokia.com> | 2012-09-28 14:46:17 +0200 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@digia.com> | 2012-10-01 12:13:06 +0200 |
commit | c8cc7d5b521c29e0968ce11dd9c63de0ce260c49 (patch) | |
tree | f5d90f7a7a8daa86848ff1ede9ebc91abbce52aa /src/libs/installer/utils.cpp | |
parent | a1b2010ce87bd878f78acf01a5677875f34254ef (diff) |
Merge "buffered" calculateHash function and reuse.
Change-Id: I294038888bd47a139b8c3df68e298e66e5ec2202
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Diffstat (limited to 'src/libs/installer/utils.cpp')
-rw-r--r-- | src/libs/installer/utils.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/libs/installer/utils.cpp b/src/libs/installer/utils.cpp index 4bd93430f..ffe705ba4 100644 --- a/src/libs/installer/utils.cpp +++ b/src/libs/installer/utils.cpp @@ -103,13 +103,11 @@ std::ostream &QInstaller::operator<<(std::ostream &os, const QString &string) return os << qPrintable(string); } -//TODO from kdupdaterfiledownloader.cpp, use that one once merged QByteArray QInstaller::calculateHash(QIODevice *device, QCryptographicHash::Algorithm algo) { Q_ASSERT(device); QCryptographicHash hash(algo); - QByteArray buffer; - buffer.resize(512 * 1024); + static QByteArray buffer(1024 * 1024, '\0'); while (true) { const qint64 numRead = device->read(buffer.data(), buffer.size()); if (numRead <= 0) @@ -119,6 +117,13 @@ QByteArray QInstaller::calculateHash(QIODevice *device, QCryptographicHash::Algo return QByteArray(); // never reached } +QByteArray QInstaller::calculateHash(const QString &path, QCryptographicHash::Algorithm algo) +{ + QFile file(path); + if (!file.open(QIODevice::ReadOnly)) + return QByteArray(); + return calculateHash(&file, algo); +} QString QInstaller::replaceVariables(const QHash<QString, QString> &vars, const QString &str) { |