From 7fb60612e19e72a876edc9501a36c8ca3f088e68 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 3 Nov 2014 10:23:13 +0000 Subject: Parse unsigned integers in the configuration. --- src/libserver/cfg_rcl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/libserver/cfg_rcl.c b/src/libserver/cfg_rcl.c index c7ccdccbe..9bb8fecfc 100644 --- a/src/libserver/cfg_rcl.c +++ b/src/libserver/cfg_rcl.c @@ -1672,6 +1672,7 @@ rspamd_rcl_parse_struct_integer (struct rspamd_config *cfg, gint32 *i32p; gint16 *i16p; gint64 *i64p; + guint *up; gsize *sp; } target; gint64 val; @@ -1720,6 +1721,17 @@ rspamd_rcl_parse_struct_integer (struct rspamd_config *cfg, } *target.i16p = val; } + else if (pd->flags == RSPAMD_CL_FLAG_UINT) { + target.up = (guint *)(((gchar *)pd->user_struct) + pd->offset); + if (!ucl_object_toint_safe (obj, &val)) { + g_set_error (err, + CFG_RCL_ERROR, + EINVAL, + "cannot convert param to integer"); + return FALSE; + } + *target.up = val; + } else { target.ip = (gint *)(((gchar *)pd->user_struct) + pd->offset); if (!ucl_object_toint_safe (obj, &val)) { -- cgit v1.2.3