Default CSS file NULL
[rodin/chimara.git] / libchimara / style.c
index 93bf2b330baba17944747e70ffccb1085b759e65..96750ad05afc0c6d907bbe42f824946785d2f52b 100644 (file)
@@ -287,27 +287,29 @@ style_init()
        /* Create the CSS file scanner */
        GScanner *scanner = g_scanner_new(NULL);
 
-       int f = open(glk_data->css_file, O_RDONLY);
-       if(f != -1)
-       {
-               g_scanner_input_file(scanner, f);
-               scanner->input_name = glk_data->css_file;
-               scanner->config->cset_identifier_first = G_CSET_a_2_z G_CSET_A_2_Z "#";
-               scanner->config->cset_identifier_nth = G_CSET_a_2_z G_CSET_A_2_Z "-_" G_CSET_DIGITS;
-               scanner->config->symbol_2_token = TRUE;
-               scanner->config->cpair_comment_single = NULL;
-               scanner->config->scan_float = FALSE;
-
-               /* Run the scanner over the CSS file, overriding defaults */
-               while( g_scanner_peek_next_token(scanner) != G_TOKEN_EOF) {
-                       if( !style_accept_style_selector(scanner) )
-                               break;
+       if(glk_data->css_file != NULL) {
+               int f = open(glk_data->css_file, O_RDONLY);
+               if(f != -1)
+               {
+                       g_scanner_input_file(scanner, f);
+                       scanner->input_name = glk_data->css_file;
+                       scanner->config->cset_identifier_first = G_CSET_a_2_z G_CSET_A_2_Z "#";
+                       scanner->config->cset_identifier_nth = G_CSET_a_2_z G_CSET_A_2_Z "-_" G_CSET_DIGITS;
+                       scanner->config->symbol_2_token = TRUE;
+                       scanner->config->cpair_comment_single = NULL;
+                       scanner->config->scan_float = FALSE;
+
+                       /* Run the scanner over the CSS file, overriding defaults */
+                       while( g_scanner_peek_next_token(scanner) != G_TOKEN_EOF) {
+                               if( !style_accept_style_selector(scanner) )
+                                       break;
+                       }
+
+                       g_scanner_destroy(scanner);
                }
-
-               g_scanner_destroy(scanner);
+               else
+                       g_warning("Could not find CSS file");
        }
-       else
-               g_warning("Could not find CSS file");
 
        /* Set the current style to a copy of the default style */
        g_hash_table_foreach(default_text_grid_styles, style_table_copy, current_text_grid_styles);