/* * read_ckb: read a CKB file, parse it and install it. * */ BOOL read_ckb(void) { BOOL retval=FALSE; scanner_init(); /* prepare scanner */ if (raw_read_file(save_vars.loadfile)) { interprete_file(); if (error_counter==0) { /* file is correct, use data */ Ckeytbl(ckb.available.unshift, ckb.available.shift, ckb.available.caps, ckb.available.compose, ckb.tabname ); Cbioskeys(ckb.switches.tablevalid); Compose(ckb.switches.compose); Deadkey(ckb.switches.deadkey, NULL); Deadkey(SET, ckb.deadkeys); Extkey(ckb.switches.extkey); Alt_nnn(ckb.switches.alt_nnn); save_vars.filetype=2; retval=TRUE; } } raw_close_file(); scanner_exit(); /* leave scanner */ return retval; }
gboolean rs_metadata_load_from_file(RSMetadata *metadata, const gchar *filename) { gboolean ret = FALSE; RAWFILE *rawfile; g_return_val_if_fail(RS_IS_METADATA(metadata), FALSE); g_return_val_if_fail(filename != NULL, FALSE); g_return_val_if_fail(g_path_is_absolute(filename), FALSE); rawfile = raw_open_file(filename); if (rawfile) { ret = rs_filetype_meta_load(filename, metadata, rawfile, 0); raw_close_file(rawfile); } return ret; }