From 4fe7fd34d97a6b18bbdc4a8aafb425e1cc7a8674 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 2 Oct 2013 18:58:48 +0100 Subject: Allow userdata objects in rcl. --- src/rcl/rcl.h | 4 +++- src/rcl/rcl_emitter.c | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/rcl/rcl.h b/src/rcl/rcl.h index 5cfe03c3b..48f055414 100644 --- a/src/rcl/rcl.h +++ b/src/rcl/rcl.h @@ -53,7 +53,8 @@ enum rspamd_cl_type { RSPAMD_CL_FLOAT, RSPAMD_CL_STRING, RSPAMD_CL_BOOLEAN, - RSPAMD_CL_TIME + RSPAMD_CL_TIME, + RSPAMD_CL_USERDATA }; enum rspamd_cl_emitter { @@ -73,6 +74,7 @@ typedef struct rspamd_cl_object_s { gchar *sv; /**< string value of an object */ gdouble dv; /**< double value of an object */ struct rspamd_cl_object_s *ov; /**< array or hash */ + gpointer ud; /**< opaque user data */ } value; enum rspamd_cl_type type; /**< real type */ gint ref; /**< reference count */ diff --git a/src/rcl/rcl_emitter.c b/src/rcl/rcl_emitter.c index 05ca87da6..9702ffefd 100644 --- a/src/rcl/rcl_emitter.c +++ b/src/rcl/rcl_emitter.c @@ -219,6 +219,8 @@ rspamd_cl_elt_write_json (rspamd_cl_object_t *obj, GString *buf, guint tabs, gbo case RSPAMD_CL_ARRAY: rspamd_cl_elt_array_write_json (obj->value.ov, buf, tabs, start_tabs, compact); break; + case RSPAMD_CL_USERDATA: + break; } } @@ -399,6 +401,8 @@ rspamd_cl_elt_write_rcl (rspamd_cl_object_t *obj, GString *buf, guint tabs, gboo case RSPAMD_CL_ARRAY: rspamd_cl_elt_array_write_rcl (obj->value.ov, buf, tabs, start_tabs, is_top); break; + case RSPAMD_CL_USERDATA: + break; } } -- cgit v1.2.3