Просмотр исходного кода

[Project] Css: Minor adjustments

tags/3.0
Vsevolod Stakhov 3 лет назад
Родитель
Сommit
533946781a

+ 18
- 2
src/libserver/css/css.cxx Просмотреть файл

@@ -18,18 +18,34 @@
#include "css.hxx"
#include "contrib/robin-hood/robin_hood.h"
#include "css_parser.hxx"
/* Keep unit tests implementation here (it'll possibly be moved outside one day) */
#define DOCTEST_CONFIG_IMPLEMENTATION_IN_DLL
#define DOCTEST_CONFIG_IMPLEMENT
#include "doctest/doctest.h"

static void
rspamd_css_dtor(void *p)
{
rspamd::css::css_style_sheet *style =
reinterpret_cast<rspamd::css::css_style_sheet *>(p);

delete style;
}

rspamd_css
rspamd_css_parse_style (rspamd_mempool_t *pool, const guchar *begin, gsize len,
rspamd_css_parse_style(rspamd_mempool_t *pool, const guchar *begin, gsize len,
GError **err)
{
auto parse_res = rspamd::css::parse_css(pool, {(const char* )begin, len});

if (parse_res.has_value()) {
return reinterpret_cast<rspamd_css>(parse_res.value().release());
/*
* Detach style pointer from the unique_ptr as it will be managed by
* C memory pool
*/
auto *detached_style = reinterpret_cast<rspamd_css>(parse_res.value().release());
rspamd_mempool_add_destructor(pool, rspamd_css_dtor, (void *)detached_style);
return detached_style;
}
else {
g_set_error(err, g_quark_from_static_string("css"),

+ 2
- 2
src/libserver/css/css_selector.cxx Просмотреть файл

@@ -87,7 +87,7 @@ auto process_selector_tokens(rspamd_mempool_t *pool,
state = selector_process_state::selector_ident_consumed;
break;
default:
msg_debug_css("cannot consume more of a selector, invalid parser token: %*s; expected start",
msg_debug_css("cannot consume more of a selector, invalid parser token: %s; expected start",
next_tok.token_type_str());
can_continue = false;
break;
@@ -103,7 +103,7 @@ auto process_selector_tokens(rspamd_mempool_t *pool,
state = selector_process_state::selector_ident_consumed;
}
else {
msg_debug_css("cannot consume more of a selector, invalid parser token: %*s; expected ident",
msg_debug_css("cannot consume more of a selector, invalid parser token: %s; expected ident",
next_tok.token_type_str());
can_continue = false;
}

+ 3
- 0
src/libserver/logger.h Просмотреть файл

@@ -184,6 +184,9 @@ bool rspamd_conditional_debug_fast_num_id (rspamd_logger_t *logger,
guint mod_id,
const gchar *module, guint64 id,
const gchar *function, const gchar *fmt, ...);
gboolean rspamd_logger_need_log (rspamd_logger_t *rspamd_log,
GLogLevelFlags log_level,
guint module_id);

/**
* Function with variable number of arguments support that uses static default logger

+ 1
- 1
src/libserver/logger/logger.c Просмотреть файл

@@ -300,7 +300,7 @@ rspamd_log_on_fork (GQuark ptype, struct rspamd_config *cfg,
}
}

static inline gboolean
inline gboolean
rspamd_logger_need_log (rspamd_logger_t *rspamd_log, GLogLevelFlags log_level,
guint module_id)
{

Загрузка…
Отмена
Сохранить