priv->line_input_queue = g_async_queue_new();
/* Should be g_async_queue_new_full(g_free); but only in GTK >= 2.16 */
priv->resource_map = NULL;
- priv->open_external_blorb = FALSE;
- priv->external_blorb_pathname = NULL;
priv->resource_lock = g_mutex_new();
priv->resource_loaded = g_cond_new();
priv->resource_info_available = g_cond_new();
int fd = open(filename, O_RDONLY);
if(fd == -1) {
- *error = g_error_new(G_IO_ERROR, g_io_error_from_errno(errno),
- _("Error opening file \"%s\": %s"), filename, g_strerror(errno));
+ if(error)
+ *error = g_error_new(G_IO_ERROR, g_io_error_from_errno(errno),
+ _("Error opening file \"%s\": %s"), filename, g_strerror(errno));
return FALSE;
}
scan_css_file(scanner, glk);
if(close(fd) == -1) {
- *error = g_error_new(G_IO_ERROR, g_io_error_from_errno(errno),
- _("Error closing file \"%s\": %s"), filename, g_strerror(errno));
+ if(error)
+ *error = g_error_new(G_IO_ERROR, g_io_error_from_errno(errno),
+ _("Error closing file \"%s\": %s"), filename, g_strerror(errno));
return FALSE;
}
return TRUE;
if(!result)
return NULL;
}
-
- /* Open external Blorb file if specified */
- if(startup->glk_data->open_external_blorb) {
- glkunix_set_base_file(startup->glk_data->external_blorb_pathname);
- gchar *basename = g_path_get_basename(startup->glk_data->external_blorb_pathname);
- frefid_t blorbref = glk_fileref_create_by_name(fileusage_BinaryMode | fileusage_Data, basename, 0);
- g_free(basename);
- strid_t blorbfile = glk_stream_open_file(blorbref, filemode_Read, 0);
- giblorb_set_resource_map(blorbfile);
- glk_fileref_destroy(blorbref);
- g_printerr("Opening external blorb file\n");
- }
/* Run main function */
glk_main_t glk_main = startup->glk_main;