Hi,

I'm not really interested in this file, but since gcc complained about an
unitialized variable, I did fix it. And it is the first patch. So please
apply it (and change the name of the enum item before, if necessary).

However, by looking at the code, I found a good example of data
duplication; and the purpose of the second patch is to clean it a bit.

Regards,

Guillaume
Index: boost/test/detail/unit_test_parameters.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/test/detail/unit_test_parameters.hpp,v
retrieving revision 1.7
diff -u -r1.7 unit_test_parameters.hpp
--- boost/test/detail/unit_test_parameters.hpp  13 Feb 2003 08:07:20 -0000      1.7
+++ boost/test/detail/unit_test_parameters.hpp  24 Apr 2003 14:44:14 -0000
@@ -37,7 +37,7 @@
 c_string_literal const LOG_FORMAT        = "BOOST_TEST_LOG_FORMAT";             // 
--log_format
 c_string_literal const OUTPUT_FORMAT     = "BOOST_TEST_OUTPUT_FORMAT";          // 
--output_format
 
-enum report_level                             { CONFIRMATION_REPORT, SHORT_REPORT, 
DETAILED_REPORT, NO_REPORT };
+enum report_level                             { CONFIRMATION_REPORT, SHORT_REPORT, 
DETAILED_REPORT, NO_REPORT, BAD_REPORT };
 c_string_literal const report_level_names[] = { "confirm"          , "short"     , 
"detailed"     , "no"      };
 
 enum output_format { HRF /* human readable format */, XML /* XML */ };
Index: libs/test/src/unit_test_result.cpp
===================================================================
RCS file: /cvsroot/boost/boost/libs/test/src/unit_test_result.cpp,v
retrieving revision 1.15
diff -u -r1.15 unit_test_result.cpp
--- libs/test/src/unit_test_result.cpp  15 Feb 2003 21:55:32 -0000      1.15
+++ libs/test/src/unit_test_result.cpp  24 Apr 2003 14:44:14 -0000
@@ -490,7 +490,7 @@
 
     static int const map_size = sizeof(name_value_map)/sizeof(my_pair);
 
-    report_level rl;
+    report_level rl = BAD_REPORT;
     if( reportlevel.empty() )
         rl = CONFIRMATION_REPORT;
     else {
--- libs/test/src/unit_test_result.cpp.old      2003-04-24 16:45:52.000000000 +0200
+++ libs/test/src/unit_test_result.cpp  2003-04-24 16:50:33.000000000 +0200
@@ -476,27 +476,15 @@
 void
 unit_test_result::report( std::string const& reportlevel, std::ostream& where_to_ )
 {
-    struct my_pair {
-        c_string_literal    level_name;
-        report_level        level_value;
-    };
-
-    static const my_pair name_value_map[] = {
-        { "confirm"     , CONFIRMATION_REPORT },
-        { "short"       , SHORT_REPORT },
-        { "detailed"    , DETAILED_REPORT },
-        { "no"          , NO_REPORT },
-    };
-
-    static int const map_size = sizeof(name_value_map)/sizeof(my_pair);
+    static int const map_size = sizeof(report_level_names)/sizeof(c_string_literal);
 
     report_level rl = BAD_REPORT;
     if( reportlevel.empty() )
         rl = CONFIRMATION_REPORT;
     else {
-        for( int i =0; i < map_size; i++ ) {
-            if( reportlevel == name_value_map[i].level_name ) {
-                rl = name_value_map[i].level_value;
+        for( int i = 0; i < map_size; i++ ) {
+            if( reportlevel == report_level_names[i] ) {
+                rl = (report_level)i;
                 break;
             }
         }
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to