diff options
Diffstat (limited to 'source/html/css-parse.c')
-rw-r--r-- | source/html/css-parse.c | 27 |
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; +} |