You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by vi...@apache.org on 2008/03/26 23:10:44 UTC

svn commit: r641598 - in /stdcxx/trunk/tests: include/driver.h src/driver.cpp

Author: vitek
Date: Wed Mar 26 15:10:43 2008
New Revision: 641598

URL: http://svn.apache.org/viewvc?rev=641598&view=rev
Log:

2008-03-26  Travis Vitek  <vi...@roguewave.com>

	* tests/src/driver.cpp (rw_enable): Return previous state for the
	diagnostic so it can be safely disabled and restored.
	* tests/include/driver.h (rw_enable): Ditto. Update comments.

Modified:
    stdcxx/trunk/tests/include/driver.h
    stdcxx/trunk/tests/src/driver.cpp

Modified: stdcxx/trunk/tests/include/driver.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/tests/include/driver.h?rev=641598&r1=641597&r2=641598&view=diff
==============================================================================
--- stdcxx/trunk/tests/include/driver.h (original)
+++ stdcxx/trunk/tests/include/driver.h Wed Mar 26 15:10:43 2008
@@ -159,13 +159,21 @@
 rw_info (int, const char*, int, const char*, ...);
 
 /**
-* Enable/disable the specified diagnostics
-*
-* Example:
-*   rw_enable (rw_error, false); // disable all rw_error diagnostics
-*   rw_enable (rw_error);        // enable all rw_error diagnostics
-*/
-_TEST_EXPORT void
-rw_enable (int (*) (int, const char*, int, const char*, ...), bool = true);
+ * Enable/disable the specified diagnostic.
+ *
+ * @param fun Diagnostic function to enable or disable. Must be one of
+ *        rw_fatal, rw_error, rw_assert, rw_warn, rw_note or rw_info.
+ * @param enable Flag to indicate that the diagnostic function should
+ *        be enabled or disabled.
+ * @return  Returns the previous state of the diagnostic. If the first
+ *        parameter is not an acceptable input, will return false.
+ *
+ * Example:
+ *   rw_enable (rw_error, false); // disable all rw_error diagnostics
+ *   rw_enable (rw_error);        // enable all rw_error diagnostics
+ */
+_TEST_EXPORT bool
+rw_enable (int (*fun) (int, const char*, int, const char*, ...),
+           bool enable = true);
 
 #endif   // RW_DRIVER_H_INCLUDED

Modified: stdcxx/trunk/tests/src/driver.cpp
URL: http://svn.apache.org/viewvc/stdcxx/trunk/tests/src/driver.cpp?rev=641598&r1=641597&r2=641598&view=diff
==============================================================================
--- stdcxx/trunk/tests/src/driver.cpp (original)
+++ stdcxx/trunk/tests/src/driver.cpp Wed Mar 26 15:10:43 2008
@@ -1540,7 +1540,7 @@
 
 /************************************************************************/
 
-_TEST_EXPORT void
+_TEST_EXPORT bool
 rw_enable (int (*fun) (int, const char*, int, const char*, ...), bool enable)
 {
     diag_t diag;
@@ -1559,12 +1559,16 @@
         diag = diag_info;
     else {
         RW_ASSERT (!"Invalid function in rw_enable");
-        return;
+        return false;
     }
 
+    const bool enabled = 0 != (_rw_diag_ignore & (1 << diag));
+
     // if (enable)
     //     _rw_diag_ignore &= ~(1 << diag);
     // else
     //     _rw_diag_ignore |= 1 << diag;
     _rw_diag_ignore ^= ((enable - 1) ^ _rw_diag_ignore) & (1 << diag);
+
+    return enabled;
 }