Clean up exception classes.
[awesomized/libmemcached] / libtest / result.cc
index a102b4f70c80e4dcb6affd72025aa1f9da8dba73..3e4523d3b42b2dc36cc766e9929a02ee2d826643 100644 (file)
 namespace libtest {
 
 __test_result::__test_result(const char *file_arg, int line_arg, const char *func_arg):
-  _line(line_arg),
-  _file(file_arg),
-  _func(func_arg),
-  _error_message(NULL),
-  _error_message_size(0)
-{
-}
-
-#ifndef __INTEL_COMPILER
-# pragma GCC diagnostic ignored "-Wformat-nonliteral"
-#endif
-void __test_result::init(va_list args_)
-{
-  const char *format= va_arg(args_, const char *);
-  _error_message_size= vasprintf(&_error_message, format, args_);
-  assert(_error_message_size != -1);
-  if (_error_message_size > 0)
+  libtest::exception(file_arg, line_arg, func_arg)
   {
-    _error_message_size++;
   }
-}
-
-__test_result::~__test_result() throw()
-{
-  free(_error_message);
-}
-
-__test_result::__test_result(const __test_result& other) :
-  std::exception(),
-  _line(other._line),
-  _file(other._file),
-  _func(other._func),
-  _error_message_size(other._error_message_size)
-{
-  if (_error_message_size > 0)
-  {
-    _error_message= (char*) malloc(_error_message_size);
-    if (_error_message)
-    {
-      memcpy(_error_message, other._error_message, _error_message_size);
-    }
-    else
-    {
-      _error_message_size= -1;
-    }
-  }
-}
 
 __success::__success(const char *file_arg, int line_arg, const char *func_arg):
   __test_result(file_arg, line_arg, func_arg)