summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2021-01-29 11:38:56 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2021-01-29 11:38:56 +0000
commit67857e64c268fe2dc04e425c74e37c4859edfd58 (patch)
tree7dc5b34907e3297c8634da5065d5c7888f92c6e7 /src
parent095fb4617c45c64a17d75d888aca2cc1d03548ae (diff)
downloadrspamd-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.cxx19
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 {