summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2013-10-02 18:58:48 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2013-10-02 18:58:48 +0100
commit4fe7fd34d97a6b18bbdc4a8aafb425e1cc7a8674 (patch)
treedee82bd1a94035e08175556e070426c6f18de61e /src
parentf2d1109c8f7a450febae4d160b23bdd8f2a27465 (diff)
downloadrspamd-4fe7fd34d97a6b18bbdc4a8aafb425e1cc7a8674.tar.gz
rspamd-4fe7fd34d97a6b18bbdc4a8aafb425e1cc7a8674.zip
Allow userdata objects in rcl.
Diffstat (limited to 'src')
-rw-r--r--src/rcl/rcl.h4
-rw-r--r--src/rcl/rcl_emitter.c4
2 files changed, 7 insertions, 1 deletions
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;
}
}