summaryrefslogtreecommitdiff
path: root/ccss/ccss-grammar.c
diff options
context:
space:
mode:
Diffstat (limited to 'ccss/ccss-grammar.c')
-rw-r--r--ccss/ccss-grammar.c29
1 files changed, 23 insertions, 6 deletions
diff --git a/ccss/ccss-grammar.c b/ccss/ccss-grammar.c
index 1ffde28..4a319c4 100644
--- a/ccss/ccss-grammar.c
+++ b/ccss/ccss-grammar.c
@@ -266,16 +266,25 @@ ccss_grammar_create_stylesheet_from_buffer (ccss_grammar_t *self,
ccss_stylesheet_t *stylesheet;
enum CRStatus ret;
+ g_return_val_if_fail (self, NULL);
+ g_return_val_if_fail (buffer, NULL);
+ g_return_val_if_fail (size, NULL);
+
stylesheet = ccss_stylesheet_create ();
stylesheet->grammar = ccss_grammar_reference (self);
+ stylesheet->current_descriptor++;
- ret = ccss_grammar_parse_buffer (self, buffer, size,
- CCSS_STYLESHEET_AUTHOR, user_data,
- stylesheet->groups, stylesheet->blocks);
+ ret = ccss_grammar_parse_buffer (self, buffer, size,
+ CCSS_STYLESHEET_AUTHOR,
+ stylesheet->current_descriptor,
+ user_data,
+ stylesheet->groups, stylesheet->blocks);
if (CR_OK == ret) {
ccss_stylesheet_fix_dangling_selectors (stylesheet);
return stylesheet;
+ } else {
+ /* TODO clean up using stylesheet->current_descriptor */
}
return NULL;
@@ -299,16 +308,24 @@ ccss_grammar_create_stylesheet_from_file (ccss_grammar_t *self,
ccss_stylesheet_t *stylesheet;
enum CRStatus ret;
+ g_return_val_if_fail (self, NULL);
+ g_return_val_if_fail (css_file, NULL);
+
stylesheet = ccss_stylesheet_create ();
stylesheet->grammar = ccss_grammar_reference (self);
+ stylesheet->current_descriptor++;
- ret = ccss_grammar_parse_file (self, css_file, CCSS_STYLESHEET_AUTHOR,
- user_data, stylesheet->groups,
- stylesheet->blocks);
+ ret = ccss_grammar_parse_file (self, css_file,
+ CCSS_STYLESHEET_AUTHOR,
+ stylesheet->current_descriptor,
+ user_data,
+ stylesheet->groups, stylesheet->blocks);
if (CR_OK == ret) {
ccss_stylesheet_fix_dangling_selectors (stylesheet);
return stylesheet;
+ } else {
+ /* TODO clean up using stylesheet->current_descriptor */
}
return NULL;