telepathy-glib: reject_reason_get_dbus_error: streamline boilerplate with a macro

Guillaume Desmottes gdesmott at kemper.freedesktop.org
Wed May 9 03:15:55 PDT 2012


Module: telepathy-glib
Branch: master
Commit: 694563fee1ff738e2c2fed14555c1bd2f15a9c34
URL:    http://cgit.freedesktop.org/telepathy/telepathy-glib/commit/?id=694563fee1ff738e2c2fed14555c1bd2f15a9c34

Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date:   Tue Dec 14 15:41:19 2010 +0000

reject_reason_get_dbus_error: streamline boilerplate with a macro

---

 telepathy-glib/tls-certificate.c |   42 +++++++++++++------------------------
 1 files changed, 15 insertions(+), 27 deletions(-)

diff --git a/telepathy-glib/tls-certificate.c b/telepathy-glib/tls-certificate.c
index 37c897e..06a1e77 100644
--- a/telepathy-glib/tls-certificate.c
+++ b/telepathy-glib/tls-certificate.c
@@ -279,33 +279,21 @@ reject_reason_get_dbus_error (TpTLSCertificateRejectReason reason)
 
   switch (reason)
     {
-    case TP_TLS_CERTIFICATE_REJECT_REASON_UNTRUSTED:
-      retval = tp_error_get_dbus_name (TP_ERROR_CERT_UNTRUSTED);
-      break;
-    case TP_TLS_CERTIFICATE_REJECT_REASON_EXPIRED:
-      retval = tp_error_get_dbus_name (TP_ERROR_CERT_EXPIRED);
-      break;
-    case TP_TLS_CERTIFICATE_REJECT_REASON_NOT_ACTIVATED:
-      retval = tp_error_get_dbus_name (TP_ERROR_CERT_NOT_ACTIVATED);
-      break;
-    case TP_TLS_CERTIFICATE_REJECT_REASON_FINGERPRINT_MISMATCH:
-      retval = tp_error_get_dbus_name (TP_ERROR_CERT_FINGERPRINT_MISMATCH);
-      break;
-    case TP_TLS_CERTIFICATE_REJECT_REASON_HOSTNAME_MISMATCH:
-      retval = tp_error_get_dbus_name (TP_ERROR_CERT_HOSTNAME_MISMATCH);
-      break;
-    case TP_TLS_CERTIFICATE_REJECT_REASON_SELF_SIGNED:
-      retval = tp_error_get_dbus_name (TP_ERROR_CERT_SELF_SIGNED);
-      break;
-    case TP_TLS_CERTIFICATE_REJECT_REASON_REVOKED:
-      retval = tp_error_get_dbus_name (TP_ERROR_CERT_REVOKED);
-      break;
-    case TP_TLS_CERTIFICATE_REJECT_REASON_INSECURE:
-      retval = tp_error_get_dbus_name (TP_ERROR_CERT_INSECURE);
-      break;
-    case TP_TLS_CERTIFICATE_REJECT_REASON_LIMIT_EXCEEDED:
-      retval = tp_error_get_dbus_name (TP_ERROR_CERT_LIMIT_EXCEEDED);
-      break;
+#define EASY_CASE(x) \
+    case TP_TLS_CERTIFICATE_REJECT_REASON_ ## x: \
+      retval = tp_error_get_dbus_name (TP_ERROR_CERT_ ## x); \
+      break
+    EASY_CASE (UNTRUSTED);
+    EASY_CASE (EXPIRED);
+    EASY_CASE (NOT_ACTIVATED);
+    EASY_CASE (FINGERPRINT_MISMATCH);
+    EASY_CASE (HOSTNAME_MISMATCH);
+    EASY_CASE (SELF_SIGNED);
+    EASY_CASE (REVOKED);
+    EASY_CASE (INSECURE);
+    EASY_CASE (LIMIT_EXCEEDED);
+#undef EASY_CASE
+
     case TP_TLS_CERTIFICATE_REJECT_REASON_UNKNOWN:
     default:
       retval = tp_error_get_dbus_name (TP_ERROR_CERT_INVALID);



More information about the telepathy-commits mailing list