From c369130338b62259f3b2744b4389a847cc6c3618 Mon Sep 17 00:00:00 2001 From: Christian Kieschnick Date: Mon, 25 Feb 2019 17:10:43 +0100 Subject: [PATCH] Improve messages and fix issue in ShareObserver Fixed smaller issue with error check before the actual write. Extended the error messages in ShareObserver to differentiate between the error cases. --- src/keeshare/ShareObserver.cpp | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/src/keeshare/ShareObserver.cpp b/src/keeshare/ShareObserver.cpp index 18ef808bb..aea0b0df7 100644 --- a/src/keeshare/ShareObserver.cpp +++ b/src/keeshare/ShareObserver.cpp @@ -659,8 +659,10 @@ ShareObserver::Result ShareObserver::exportIntoReferenceSignedContainer(const Ke QuaZipFile file(&zip); const auto signatureOpened = file.open(QIODevice::WriteOnly, QuaZipNewInfo(KeeShare_Signature)); if (!signatureOpened) { - ::qWarning("Embedding signature failed: %d", zip.getZipError()); - return {reference.path, Result::Error, tr("Could not embed signature (%1)").arg(file.getZipError())}; + ::qWarning("Embedding signature failed: Could not open file to write (%d)", zip.getZipError()); + return {reference.path, + Result::Error, + tr("Could not embed signature: Could not open file to write (%1)").arg(file.getZipError())}; } QTextStream stream(&file); KeeShareSettings::Sign sign; @@ -672,8 +674,10 @@ ShareObserver::Result ShareObserver::exportIntoReferenceSignedContainer(const Ke stream << KeeShareSettings::Sign::serialize(sign); stream.flush(); if (file.getZipError() != ZIP_OK) { - ::qWarning("Embedding signature failed: %d", zip.getZipError()); - return {reference.path, Result::Error, tr("Could not embed signature (%1)").arg(file.getZipError())}; + ::qWarning("Embedding signature failed: Could not write file (%d)", zip.getZipError()); + return {reference.path, + Result::Error, + tr("Could not embed signature: Could not write file (%1)").arg(file.getZipError())}; } file.close(); } @@ -681,14 +685,18 @@ ShareObserver::Result ShareObserver::exportIntoReferenceSignedContainer(const Ke QuaZipFile file(&zip); const auto dbOpened = file.open(QIODevice::WriteOnly, QuaZipNewInfo(KeeShare_Container)); if (!dbOpened) { - ::qWarning("Embedding database failed: %d", zip.getZipError()); - return {reference.path, Result::Error, tr("Could not embed database (%1)").arg(file.getZipError())}; - } - if (file.getZipError() != ZIP_OK) { - ::qWarning("Embedding database failed: %d", zip.getZipError()); - return {reference.path, Result::Error, tr("Could not embed database (%1)").arg(file.getZipError())}; + ::qWarning("Embedding database failed: Could not open file to write (%d)", zip.getZipError()); + return {reference.path, + Result::Error, + tr("Could not embed database: Could not open file to write (%1)").arg(file.getZipError())}; } file.write(bytes); + if (file.getZipError() != ZIP_OK) { + ::qWarning("Embedding database failed: Could not write file (%d)", zip.getZipError()); + return {reference.path, + Result::Error, + tr("Could not embed database: Could not write file (%1)").arg(file.getZipError())}; + } file.close(); } zip.close();