From f504e39d7818f0f8e74b00aeb838366540afd931 Mon Sep 17 00:00:00 2001 From: John Ralls Date: Fri, 1 Jun 2018 14:00:52 -0700 Subject: [PATCH] Correct the type of error variables. C++ doesn't like interchanging enums and ints. --- libgnucash/backend/dbi/gnc-backend-dbi.hpp | 3 ++- libgnucash/backend/dbi/gnc-dbisqlconnection.hpp | 4 ++-- libgnucash/backend/sql/gnc-sql-connection.hpp | 3 ++- libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libgnucash/backend/dbi/gnc-backend-dbi.hpp b/libgnucash/backend/dbi/gnc-backend-dbi.hpp index d31bab9de6..d75a373139 100644 --- a/libgnucash/backend/dbi/gnc-backend-dbi.hpp +++ b/libgnucash/backend/dbi/gnc-backend-dbi.hpp @@ -97,7 +97,8 @@ public: void safe_sync(QofBook*) override; bool connected() const noexcept { return m_conn != nullptr; } /** FIXME: Just a pass-through to m_conn: */ - void set_dbi_error(int error, unsigned int repeat, bool retry) noexcept + void set_dbi_error(QofBackendError error, unsigned int repeat, + bool retry) noexcept { m_conn->set_error(error, repeat, retry); } diff --git a/libgnucash/backend/dbi/gnc-dbisqlconnection.hpp b/libgnucash/backend/dbi/gnc-dbisqlconnection.hpp index c878cfd462..a72e53b851 100644 --- a/libgnucash/backend/dbi/gnc-dbisqlconnection.hpp +++ b/libgnucash/backend/dbi/gnc-dbisqlconnection.hpp @@ -64,7 +64,7 @@ public: return dbi_conn_error(m_conn, nullptr); } QofBackend* qbe () const noexcept { return m_qbe; } dbi_conn conn() const noexcept { return m_conn; } - inline void set_error(int error, unsigned int repeat, + inline void set_error(QofBackendError error, unsigned int repeat, bool retry) noexcept override { m_last_error = error; @@ -96,7 +96,7 @@ private: /** Code of the last error that occurred. This is set in the error callback * function. */ - int m_last_error; + QofBackendError m_last_error; /** Used in case of transient errors. After such error, another attempt at * the original call is allowed. error_repeat tracks the number of attempts * and can be used to prevent infinite loops. diff --git a/libgnucash/backend/sql/gnc-sql-connection.hpp b/libgnucash/backend/sql/gnc-sql-connection.hpp index 1705b9e3f1..eeef886037 100644 --- a/libgnucash/backend/sql/gnc-sql-connection.hpp +++ b/libgnucash/backend/sql/gnc-sql-connection.hpp @@ -93,7 +93,8 @@ public: * If not 0 will normally be meaningless outside of implementation code. */ virtual int dberror() const noexcept = 0; - virtual void set_error(int error, unsigned int repeat, bool retry) noexcept = 0; + virtual void set_error(QofBackendError error, unsigned int repeat, + bool retry) noexcept = 0; virtual bool verify() noexcept = 0; virtual bool retry_connection(const char* msg) noexcept = 0; diff --git a/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp b/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp index 27b1081c49..b0b9ced838 100644 --- a/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp +++ b/libgnucash/backend/sql/test/utest-gnc-backend-sql.cpp @@ -118,7 +118,7 @@ public: virtual std::string quote_string (const std::string& str) const noexcept override { return std::string{str}; } int dberror() const noexcept override { return 0; } - void set_error(int error, unsigned int repeat, bool retry) noexcept override { return; } + void set_error(QofBackendError error, unsigned int repeat, bool retry) noexcept override { return; } bool verify() noexcept override { return true; } bool retry_connection(const char* msg) noexcept override { return true; } private: