summaryrefslogtreecommitdiff
path: root/source/html/css-parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/html/css-parse.c')
-rw-r--r--source/html/css-parse.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/source/html/css-parse.c b/source/html/css-parse.c
index fe91a933..93c5ff58 100644
--- a/source/html/css-parse.c
+++ b/source/html/css-parse.c
@@ -745,3 +745,30 @@ struct rule *fz_parse_css(fz_context *ctx, struct rule *chain, const char *sourc
next(&buf);
return parse_stylesheet(&buf, chain);
}
+
+struct rule *fz_parse_css_file(fz_context *ctx, struct rule *chain, const char *filename)
+{
+ fz_stream *stm = NULL;
+ fz_buffer *buf = NULL;
+
+ fz_var(buf);
+
+ stm = fz_open_file(ctx, filename);
+ fz_try(ctx)
+ {
+ buf = fz_read_all(stm, 0);
+ fz_write_buffer_byte(ctx, buf, 0);
+ chain = fz_parse_css(ctx, chain, buf->data);
+ }
+ fz_always(ctx)
+ {
+ fz_drop_buffer(ctx, buf);
+ fz_close(stm);
+ }
+ fz_catch(ctx)
+ {
+ fz_rethrow(ctx);
+ }
+
+ return chain;
+}