]> spindle.queued.net Git - midori/commitdiff
Simplify definitions of katze assignment macros
authorChristian Dywan <christian@twotoasts.de>
Fri, 17 Sep 2010 23:45:17 +0000 (01:45 +0200)
committerChristian Dywan <christian@twotoasts.de>
Fri, 17 Sep 2010 23:45:17 +0000 (01:45 +0200)
katze/katze-utils.h

index 6b811f543fb9c0bfbfaf6a05dbecf82fbefae414..03a462ddfbdbc49b485c2ea3b3a4ef2e81ebfbe8 100644 (file)
@@ -34,13 +34,7 @@ G_BEGIN_DECLS
  *
  * Frees @lvalue if needed and assigns it the value of @rvalue.
  **/
-#define katze_assign(lvalue, rvalue) \
-    do \
-    { \
-        g_free (lvalue); \
-        lvalue = rvalue; \
-    } \
-    while (0)
+#define katze_assign(lvalue, rvalue) lvalue = (g_free (lvalue), rvalue)
 
 /**
  * katze_object_assign:
@@ -50,13 +44,7 @@ G_BEGIN_DECLS
  * Unrefs @lvalue if needed and assigns it the value of @rvalue.
  **/
 #define katze_object_assign(lvalue, rvalue) \
-    do \
-    { \
-        if (lvalue) \
-            g_object_unref (lvalue); \
-        lvalue = rvalue; \
-    } \
-    while (0)
+    lvalue = ((lvalue ? g_object_unref (lvalue) : lvalue), rvalue)
 
 /**
  * katze_strv_assign:
@@ -67,13 +55,7 @@ G_BEGIN_DECLS
  *
  * Since: 0.1.7
  **/
-#define katze_strv_assign(lvalue, rvalue) \
-    do \
-    { \
-        g_strfreev (lvalue); \
-        lvalue = rvalue; \
-    } \
-    while (0)
+#define katze_strv_assign(lvalue, rvalue) lvalue = (g_strfreev (lvalue), rvalue)
 
 GtkWidget*
 katze_property_proxy                (gpointer     object,