diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/updaterwindow.cpp | 9 | ||||
-rw-r--r-- | src/gui/updaterwindow.h | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/gui/updaterwindow.cpp b/src/gui/updaterwindow.cpp index 28efe9499..80ff0c580 100644 --- a/src/gui/updaterwindow.cpp +++ b/src/gui/updaterwindow.cpp @@ -925,6 +925,15 @@ bool UpdaterWindow::validateFile(const std::string &filePath, return adler == hash; } +unsigned long UpdaterWindow::getFileHash(const std::string &filePath) +{ + int size = 0; + char *buf = static_cast<char*>(ResourceManager::loadFile(filePath, size)); + if (!buf) + return 0; + return Net::Download::adlerBuffer(buf, size); +} + void UpdaterWindow::handleLink(const std::string &link, gcn::MouseEvent *event A_UNUSED) { diff --git a/src/gui/updaterwindow.h b/src/gui/updaterwindow.h index 440344367..e317e3f95 100644 --- a/src/gui/updaterwindow.h +++ b/src/gui/updaterwindow.h @@ -145,6 +145,8 @@ class UpdaterWindow final : public Window, static void unloadManaPlusUpdates(const std::string &dir, const ResourceManager *const resman); + static unsigned long getFileHash(const std::string &filePath); + private: void download(); |