summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lasso/utils.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/lasso/utils.h b/lasso/utils.h
index 94ff4884..122167c8 100644
--- a/lasso/utils.h
+++ b/lasso/utils.h
@@ -195,10 +195,33 @@
dest = xmlCopyNode(__tmp, 1); \
}
+#define lasso_assign_new_xml_node(dest,src) \
+ { \
+ xmlNode *__tmp = (src); \
+ lasso_check_type_equality(dest, src); \
+ if (dest) \
+ xmlFreeNode(dest); \
+ dest = __tmp; \
+ }
+
#define lasso_assign_new_list_of_gobjects(dest, src) \
{ \
GList *__tmp = (src); \
- lasso_release_gobject_list(dest); \
+ lasso_release_list_of_gobjects(dest); \
+ dest = (GList*)__tmp; \
+ }
+
+#define lasso_assign_new_list_of_strings(dest, src) \
+ { \
+ GList *__tmp = (src); \
+ lasso_release_list_of_strings(dest); \
+ dest = (GList*)__tmp; \
+ }
+
+#define lasso_assign_new_list_of_xml_node(dest, src) \
+ { \
+ GList *__tmp = (src); \
+ lasso_release_list_of_xml_node(dest); \
dest = (GList*)__tmp; \
}