diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-01-29 11:38:56 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-01-29 11:38:56 +0000 |
commit | 67857e64c268fe2dc04e425c74e37c4859edfd58 (patch) | |
tree | 7dc5b34907e3297c8634da5065d5c7888f92c6e7 /src | |
parent | 095fb4617c45c64a17d75d888aca2cc1d03548ae (diff) | |
download | rspamd-67857e64c268fe2dc04e425c74e37c4859edfd58.tar.gz rspamd-67857e64c268fe2dc04e425c74e37c4859edfd58.zip |
[Minor] Css: Add a simple testing logic for css parsing
Diffstat (limited to 'src')
-rw-r--r-- | src/libserver/css/css.cxx | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/libserver/css/css.cxx b/src/libserver/css/css.cxx index bd148cecd..6633b68fd 100644 --- a/src/libserver/css/css.cxx +++ b/src/libserver/css/css.cxx @@ -17,14 +17,23 @@ #include "css.h" #include "css.hxx" #include "css_style.hxx" +#include "css_parser.hxx" rspamd_css -rspamd_css_parse_style (const guchar *begin, gsize len, GError **err) +rspamd_css_parse_style (rspamd_mempool_t *pool, const guchar *begin, gsize len, + GError **err) { - rspamd::css::css_style_sheet *style = nullptr; - - - return reinterpret_cast<rspamd_css>(style); + 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()); + } + else { + g_set_error(err, g_quark_from_static_string("css"), + static_cast<int>(parse_res.error().type), + "parse error"); + return nullptr; + } } namespace rspamd::css { |