static int gsf_list_props (int argc, char **argv) { GsfInfile *infile; GsfDocMetaData *meta_data; char const *filename; GSList *names = NULL; if (argc != 1) return 1; filename = argv[0]; infile = open_archive (filename); if (!infile) return 1; meta_data = get_meta_data (infile, filename); gsf_doc_meta_data_foreach (meta_data, cb_collect_names, &names); names = g_slist_sort (names, (GCompareFunc)strcmp); g_slist_foreach (names, (GFunc)cb_print_names, NULL); g_slist_free (names); g_object_unref (meta_data); g_object_unref (infile); return 0; }
void load_graph(const char *filename, graph *graph) { // open the file std::ifstream graph_file; graph_file.open(filename); get_meta_data(graph_file, graph); int* scratch = (int*) malloc(sizeof(int) * (graph->num_nodes + graph->num_edges)); read_graph_file(graph_file, scratch); build_start(graph, scratch); build_edges(graph, scratch); free(scratch); }
static int gsf_dump_props (int argc, char **argv) { GsfInfile *infile; GsfDocMetaData *meta_data; char const *filename; int res = 0; int i; if (argc < 2) return 1; filename = argv[0]; infile = open_archive (filename); if (!infile) return 1; meta_data = get_meta_data (infile, filename); for (i = 1; i < argc; i++) { const char *name = argv[i]; GsfDocProp const *prop = gsf_doc_meta_data_lookup (meta_data, name); if (prop) { if (argc > 2) g_print ("%s: ", name); gsf_doc_prop_dump (prop); } else { g_printerr (_("No property named %s\n"), name); } } g_object_unref (meta_data); g_object_unref (infile); return res; }