namespace {
const int MAX_RETRY = 10;
-
-struct ScopedVaList {
- ~ScopedVaList()
- {
- va_end(args);
- }
- va_list args;
-};
-
-#define scoped_va_start(name, param) ScopedVaList name; va_start(name.args, param);
}
namespace CKM {
//LCOV_EXCL_START
void SqlConnection::ExecCommand(Output *out, const char *format, ...)
{
- scoped_va_start(svl, format);
-
- ExecCommandHelper(out, format, svl.args);
+ va_list args;
+ va_start(args, format);
+ try {
+ ExecCommandHelper(out, format, args);
+ } catch (...) {
+ va_end(args);
+ throw;
+ }
+ va_end(args);
}
//LCOV_EXCL_STOP
void SqlConnection::ExecCommand(const char *format, ...)
{
- scoped_va_start(svl, format);
-
- ExecCommandHelper(NULL, format, svl.args);
+ va_list args;
+ va_start(args, format);
+ try {
+ ExecCommandHelper(NULL, format, args);
+ } catch (...) {
+ va_end(args);
+ throw;
+ }
+ va_end(args);
}
SqlConnection::DataCommandUniquePtr SqlConnection::PrepareDataCommand(