[gtk+/parser: 8/18] cssprovider: Add a function for signalling errors



commit 4b1021c232dfe44de7d3998306fbd2a0034cd09c
Author: Benjamin Otte <otte redhat com>
Date:   Wed Apr 6 15:38:06 2011 +0200

    cssprovider: Add a function for signalling errors

 gtk/gtkcssprovider.c |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)
---
diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c
index 060b545..6b54b72 100644
--- a/gtk/gtkcssprovider.c
+++ b/gtk/gtkcssprovider.c
@@ -1505,6 +1505,13 @@ property_value_free (GValue *value)
 }
 
 static void
+gtk_css_scanner_invalid_token (GScanner *scanner,
+                               const char *expected)
+{
+  scanner->user_data = (gpointer) expected;
+}
+
+static void
 scanner_apply_scope (GScanner    *scanner,
                      ParserScope  scope)
 {
@@ -3214,7 +3221,7 @@ parse_rule (GtkCssProvider  *css_provider,
 
           if (scanner->token != G_TOKEN_IDENTIFIER)
             {
-              scanner->user_data = "Color name";
+              gtk_css_scanner_invalid_token (scanner, "Color name");
               return G_TOKEN_IDENTIFIER;
             }
 
@@ -3224,7 +3231,7 @@ parse_rule (GtkCssProvider  *css_provider,
 
           if (scanner->token != G_TOKEN_IDENTIFIER)
             {
-              scanner->user_data = "Color definition";
+              gtk_css_scanner_invalid_token (scanner, "Color definition");
               return G_TOKEN_IDENTIFIER;
             }
 
@@ -3233,7 +3240,7 @@ parse_rule (GtkCssProvider  *css_provider,
 
           if (!color)
             {
-              scanner->user_data = "Color definition";
+              gtk_css_scanner_invalid_token (scanner, "Color definition");
               return G_TOKEN_IDENTIFIER;
             }
 
@@ -3269,7 +3276,7 @@ parse_rule (GtkCssProvider  *css_provider,
 
           if (path == NULL)
             {
-              scanner->user_data = "File URL";
+              gtk_css_scanner_invalid_token (scanner, "File URL");
               return G_TOKEN_IDENTIFIER;
             }
 
@@ -3303,7 +3310,7 @@ parse_rule (GtkCssProvider  *css_provider,
 
           if (!loaded)
             {
-              scanner->user_data = "File URL";
+              gtk_css_scanner_invalid_token (scanner, "File URL");
               return G_TOKEN_IDENTIFIER;
             }
           else
@@ -3318,7 +3325,7 @@ parse_rule (GtkCssProvider  *css_provider,
 
           if (scanner->token != G_TOKEN_IDENTIFIER)
             {
-              scanner->user_data = "Binding name";
+              gtk_css_scanner_invalid_token (scanner, "Binding name");
               return G_TOKEN_IDENTIFIER;
             }
 
@@ -3345,7 +3352,7 @@ parse_rule (GtkCssProvider  *css_provider,
 
               if (scanner->token != G_TOKEN_IDENTIFIER)
                 {
-                  scanner->user_data = "Binding definition";
+                  gtk_css_scanner_invalid_token (scanner, "Binding definition");
                   return G_TOKEN_IDENTIFIER;
                 }
 
@@ -3353,7 +3360,7 @@ parse_rule (GtkCssProvider  *css_provider,
                                                               scanner->value.v_identifier);
               if (ret != G_TOKEN_NONE)
                 {
-                  scanner->user_data = "Binding definition";
+                  gtk_css_scanner_invalid_token (scanner, "Binding definition");
                   return ret;
                 }
 
@@ -3373,7 +3380,7 @@ parse_rule (GtkCssProvider  *css_provider,
         }
       else
         {
-          scanner->user_data = "Directive";
+          gtk_css_scanner_invalid_token (scanner, "Directive");
           return G_TOKEN_IDENTIFIER;
         }
     }
@@ -3383,7 +3390,7 @@ parse_rule (GtkCssProvider  *css_provider,
   if (expected_token != G_TOKEN_NONE)
     {
       selector_path_unref (selector);
-      scanner->user_data = "Selector";
+      gtk_css_scanner_invalid_token (scanner, "Selector");
       return expected_token;
     }
 
@@ -3398,7 +3405,7 @@ parse_rule (GtkCssProvider  *css_provider,
       if (expected_token != G_TOKEN_NONE)
         {
           selector_path_unref (selector);
-          scanner->user_data = "Selector";
+          gtk_css_scanner_invalid_token (scanner, "Selector");
           return expected_token;
         }
 
@@ -3438,7 +3445,7 @@ parse_rule (GtkCssProvider  *css_provider,
       if (scanner->token != G_TOKEN_IDENTIFIER)
         {
           g_free (prop);
-          scanner->user_data = "Property value";
+          gtk_css_scanner_invalid_token (scanner, "Property value");
           return G_TOKEN_IDENTIFIER;
         }
 
@@ -3481,7 +3488,7 @@ parse_rule (GtkCssProvider  *css_provider,
               g_slice_free (GValue, val);
               g_free (prop);
 
-              scanner->user_data = "Property value";
+              gtk_css_scanner_invalid_token (scanner, "Property value");
               return G_TOKEN_IDENTIFIER;
             }
         }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]