[telepathy-glib/master] Allow a GLogLevelFlags made up of many flags.

Jonny Lamb jonny.lamb at collabora.co.uk
Mon Aug 24 07:59:05 PDT 2009


..and fall back to DEBUG if the level is unknown.

Signed-off-by: Jonny Lamb <jonny.lamb at collabora.co.uk>
---
 telepathy-glib/debug-sender.c |   39 +++++++++++++++------------------------
 1 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/telepathy-glib/debug-sender.c b/telepathy-glib/debug-sender.c
index 18ca07f..d7752a3 100644
--- a/telepathy-glib/debug-sender.c
+++ b/telepathy-glib/debug-sender.c
@@ -89,30 +89,21 @@ enum
 static TpDebugLevel
 log_level_flags_to_debug_level (GLogLevelFlags level)
 {
-  switch (level)
-    {
-    case G_LOG_LEVEL_ERROR:
-      return TP_DEBUG_LEVEL_ERROR;
-      break;
-    case G_LOG_LEVEL_CRITICAL:
-      return TP_DEBUG_LEVEL_CRITICAL;
-      break;
-    case G_LOG_LEVEL_WARNING:
-      return TP_DEBUG_LEVEL_WARNING;
-      break;
-    case G_LOG_LEVEL_MESSAGE:
-      return TP_DEBUG_LEVEL_MESSAGE;
-      break;
-    case G_LOG_LEVEL_INFO:
-      return TP_DEBUG_LEVEL_INFO;
-      break;
-    case G_LOG_LEVEL_DEBUG:
-      return TP_DEBUG_LEVEL_DEBUG;
-      break;
-    default:
-      g_assert_not_reached ();
-      break;
-    }
+  if (level & G_LOG_LEVEL_ERROR)
+    return TP_DEBUG_LEVEL_ERROR;
+  else if (level & G_LOG_LEVEL_CRITICAL)
+    return TP_DEBUG_LEVEL_CRITICAL;
+  else if (level & G_LOG_LEVEL_WARNING)
+    return TP_DEBUG_LEVEL_WARNING;
+  else if (level & G_LOG_LEVEL_MESSAGE)
+    return TP_DEBUG_LEVEL_MESSAGE;
+  else if (level & G_LOG_LEVEL_INFO)
+    return TP_DEBUG_LEVEL_INFO;
+  else if (level & G_LOG_LEVEL_DEBUG)
+    return TP_DEBUG_LEVEL_DEBUG;
+  else
+    /* Fall back to DEBUG if all else fails */
+    return TP_DEBUG_LEVEL_DEBUG;
 }
 
 static DebugMessage *
-- 
1.5.6.5




More information about the telepathy-commits mailing list