Browse Source

Fix for the new libucl API

tags/1.2.0
Vsevolod Stakhov 8 years ago
parent
commit
3c870de8e3

+ 1
- 1
src/controller.c View File

@@ -2346,7 +2346,7 @@ rspamd_controller_store_saved_stats (struct rspamd_controller_worker_ctx *ctx)


ucl_object_emit_full (top, UCL_EMIT_JSON_COMPACT,
ucl_object_emit_fd_funcs (fd));
ucl_object_emit_fd_funcs (fd), NULL);

rspamd_file_unlock (fd, FALSE);
close (fd);

+ 1
- 1
src/fuzzy_storage.c View File

@@ -1028,7 +1028,7 @@ rspamd_fuzzy_storage_stat (struct rspamd_main *rspamd_main,

obj = rspamd_fuzzy_stat_to_ucl (ctx, TRUE);
emit_subr = ucl_object_emit_fd_funcs (outfd);
ucl_object_emit_full (obj, UCL_EMIT_JSON_COMPACT, emit_subr);
ucl_object_emit_full (obj, UCL_EMIT_JSON_COMPACT, emit_subr, NULL);
ucl_object_emit_funcs_free (emit_subr);
ucl_object_unref (obj);
/* Rewind output file */

+ 1
- 1
src/libserver/dynamic_cfg.c View File

@@ -290,7 +290,7 @@ dump_dynamic_config (struct rspamd_config *cfg)
}

if (!ucl_object_emit_full (cfg->current_dynamic_conf, UCL_EMIT_JSON,
ucl_object_emit_fd_funcs (fd))) {
ucl_object_emit_fd_funcs (fd), NULL)) {
msg_err ("cannot emit ucl object: %s", strerror (errno));
close (fd);
return FALSE;

+ 1
- 1
src/libserver/roll_history.c View File

@@ -372,7 +372,7 @@ rspamd_roll_history_save (struct roll_history *history, const gchar *filename)
}

emitter_func = ucl_object_emit_fd_funcs (fd);
ucl_object_emit_full (obj, UCL_EMIT_JSON_COMPACT, emitter_func);
ucl_object_emit_full (obj, UCL_EMIT_JSON_COMPACT, emitter_func, NULL);
ucl_object_emit_funcs_free (emitter_func);
ucl_object_unref (obj);


+ 1
- 1
src/libserver/symbols_cache.c View File

@@ -500,7 +500,7 @@ rspamd_symbols_cache_save_items (struct symbols_cache *cache, const gchar *name)
g_assert (f != NULL);

efunc = ucl_object_emit_file_funcs (f);
ret = ucl_object_emit_full (top, UCL_EMIT_JSON_COMPACT, efunc);
ret = ucl_object_emit_full (top, UCL_EMIT_JSON_COMPACT, efunc, NULL);
ucl_object_emit_funcs_free (efunc);
ucl_object_unref (top);
fclose (f);

+ 8
- 6
src/libutil/str_util.c View File

@@ -1511,9 +1511,10 @@ rspamd_gstring_append_double (double val, void *ud)
}

void
rspamd_ucl_emit_gstring (const ucl_object_t *obj,
rspamd_ucl_emit_gstring_comments (const ucl_object_t *obj,
enum ucl_emitter emit_type,
GString *target)
GString *target,
const ucl_object_t *comments)
{
struct ucl_emitter_functions func = {
.ucl_emitter_append_character = rspamd_gstring_append_character,
@@ -1523,7 +1524,7 @@ rspamd_ucl_emit_gstring (const ucl_object_t *obj,
};

func.ud = target;
ucl_object_emit_full (obj, emit_type, &func);
ucl_object_emit_full (obj, emit_type, &func, comments);
}

/*
@@ -1579,9 +1580,10 @@ rspamd_fstring_emit_append_double (double val, void *ud)
}

void
rspamd_ucl_emit_fstring (const ucl_object_t *obj,
rspamd_ucl_emit_fstring_comments (const ucl_object_t *obj,
enum ucl_emitter emit_type,
rspamd_fstring_t **buf)
rspamd_fstring_t **buf,
const ucl_object_t *comments)
{
struct ucl_emitter_functions func = {
.ucl_emitter_append_character = rspamd_fstring_emit_append_character,
@@ -1591,5 +1593,5 @@ rspamd_ucl_emit_fstring (const ucl_object_t *obj,
};

func.ud = buf;
ucl_object_emit_full (obj, emit_type, &func);
ucl_object_emit_full (obj, emit_type, &func, comments);
}

+ 13
- 4
src/libutil/str_util.h View File

@@ -260,24 +260,33 @@ goffset rspamd_substring_search_caseless (const gchar *in, gsize inlen,
*/
goffset rspamd_string_find_eoh (GString *input);


#define rspamd_ucl_emit_gstring(o, t, target) \
rspamd_ucl_emit_gstring_comments((o), (t), (target), NULL)
/**
* Emit UCL object to gstring
* @param obj object to emit
* @param emit_type emitter type
* @param comments optional comments object
* @param target target string
*/
void rspamd_ucl_emit_gstring (const ucl_object_t *obj,
void rspamd_ucl_emit_gstring_comments (const ucl_object_t *obj,
enum ucl_emitter emit_type,
GString *target);
GString *target,
const ucl_object_t *comments);

#define rspamd_ucl_emit_fstring(o, t, target) \
rspamd_ucl_emit_fstring_comments((o), (t), (target), NULL)
/**
* Emit UCL object to fstring
* @param obj object to emit
* @param emit_type emitter type
* * @param comments optional comments object
* @param target target string
*/
void rspamd_ucl_emit_fstring (const ucl_object_t *obj,
void rspamd_ucl_emit_fstring_comments (const ucl_object_t *obj,
enum ucl_emitter emit_type,
rspamd_fstring_t **target);
rspamd_fstring_t **target,
const ucl_object_t *comments);

#endif /* SRC_LIBUTIL_STR_UTIL_H_ */

+ 1
- 1
src/rspamadm/keypair.c View File

@@ -122,7 +122,7 @@ rspamadm_keypair (gint argc, gchar **argv)
if (ucl) {
ucl_out = rspamd_keypair_to_ucl (kp, hex_encode);
ucl_emit_subr = ucl_object_emit_file_funcs (stdout);
ucl_object_emit_full (ucl_out, UCL_EMIT_CONFIG, ucl_emit_subr);
ucl_object_emit_full (ucl_out, UCL_EMIT_CONFIG, ucl_emit_subr, NULL);
ucl_object_emit_funcs_free (ucl_emit_subr);
ucl_object_unref (ucl_out);
}

Loading…
Cancel
Save