libt2n: (tomj) fix uninitialized variable "result_type" in result_container
[libt2n] / src / container.hxx
index 710a07e..020194b 100644 (file)
@@ -33,7 +33,7 @@
 namespace libt2n
 {
 
-/** @brief contains the result (return value or exception) of a executed command
+/** @brief contains the result (return value as libt2n::result or an libt2n::t2n_exception) of a executed command
 */
 class result_container
 {
@@ -49,17 +49,31 @@ class result_container
 
     public:
         result_container()
-            { res=0; ex=0; }
+            : res(NULL)
+            , ex(NULL)
+            , result_type(regular)
+        {
+        }
 
         result_container(result *_res)
-            { set_result(_res); }
+            : res(_res)
+            , ex(NULL)
+            , result_type(regular)
+        {
+        }
+
         result_container(t2n_exception *_ex)
-            { set_exception(_ex); }
+            : res(NULL)
+            , ex(_ex)
+            , result_type(exception)
+        {
+        }
 
         ~result_container();
 
         void set_result(result *_res)
             { res=_res; ex=0; result_type=regular; }
+
         void set_exception(t2n_exception *_ex)
             { res=0; ex=_ex; result_type=exception; }
 
@@ -71,7 +85,7 @@ class result_container
             { return (result_type==regular); }
 };
 
-/** @brief contains a command
+/** @brief contains a libt2n::command
 */
 class command_container
 {
@@ -84,9 +98,12 @@ class command_container
 
     public:
         command_container()
-            { cmd=0; }
+            : cmd(NULL)
+        {}
+
         command_container(command *_cmd)
-            { cmd=_cmd; }
+            : cmd(_cmd)
+        {}
 
         ~command_container();
 
@@ -100,5 +117,7 @@ class command_container
 BOOST_CLASS_TRACKING(libt2n::result_container, boost::serialization::track_never)
 BOOST_CLASS_TRACKING(libt2n::command_container, boost::serialization::track_never)
 
+#include "container.tcc"
+
 #endif