From 332e099b19bd04db46cfffdf7d06b8a888169d49 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sat, 30 Mar 2019 11:43:22 +0000 Subject: Tidy fixes for latest clang --- libodbcpp/odbc-error.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'libodbcpp/odbc-error.cpp') diff --git a/libodbcpp/odbc-error.cpp b/libodbcpp/odbc-error.cpp index 7179a17..afa1d42 100644 --- a/libodbcpp/odbc-error.cpp +++ b/libodbcpp/odbc-error.cpp @@ -1,12 +1,14 @@ #include "odbc-error.h" #include +#include namespace AdHoc { StreamWriterT('5') { - template - static void write(stream & s, const SQLCHAR sqlstatus[6], const Pn & ... pn) + template + static void write(stream & s, const std::array & sqlstatus, const Pn & ... pn) { - s.write(reinterpret_cast(sqlstatus), 5); + static_assert(l > 5); + s.write((const char * const)sqlstatus.data(), 5); StreamWriter::next(s, pn...); } }; @@ -18,16 +20,15 @@ AdHocFormatter(ODBCErrorNoData, "(%?) No error data available for record"); AdHocFormatter(ODBCError, "Failed to get diagnostics for return code %?"); ODBC::Error::Error(RETCODE err, SQLSMALLINT handletype, SQLHANDLE handle) { - SQLCHAR sqlstatus[6]; + std::array sqlstatus {}; SQLINTEGER sqlerr; - SQLCHAR sqlerrmsg[12800]; + std::array sqlerrmsg {}; - // NOLINTNEXTLINE(hicpp-no-array-decay) - SQLRETURN rc = SQLGetDiagRec(handletype, handle, 1, sqlstatus, &sqlerr, sqlerrmsg, sizeof(sqlerrmsg), nullptr); + SQLRETURN rc = SQLGetDiagRec(handletype, handle, 1, sqlstatus.data(), &sqlerr, sqlerrmsg.data(), sqlerrmsg.size(), nullptr); switch (rc) { case SQL_SUCCESS: case SQL_SUCCESS_WITH_INFO: - msg = ODBCErrorWithInfo::get(err, sqlerr, sqlstatus, sqlerrmsg); + msg = ODBCErrorWithInfo::get(err, sqlerr, sqlstatus, sqlerrmsg.data()); break; case SQL_INVALID_HANDLE: -- cgit v1.2.3