void rm_session_clear(RmSession *session) { RmCfg *cfg = session->cfg; /* Free mem */ if(cfg->paths) { g_strfreev(cfg->paths); } g_free(cfg->sort_criteria); g_timer_destroy(session->timer); rm_file_tables_destroy(session->tables); rm_fmt_close(session->formats); g_ptr_array_free(session->pattern_cache, TRUE); if(session->mounts) { rm_mounts_table_destroy(session->mounts); } if(session->dir_merger) { rm_tm_destroy(session->dir_merger); } g_free(cfg->joined_argv); g_free(cfg->is_prefd); g_free(cfg->iwd); rm_trie_destroy(&cfg->file_trie); }
void rm_mds_free(RmMDS *mds, gboolean free_mount_table) { rm_mds_finish(mds); g_hash_table_destroy(mds->disks); if(free_mount_table && mds->mount_table) { rm_mounts_table_destroy(mds->mount_table); } g_mutex_clear(&mds->lock); g_cond_clear(&mds->cond); g_slice_free(RmMDS, mds); }
int main(int argc, char **argv) { RmMountTable *table = rm_mounts_table_new(); g_printerr("\n"); for(int i = 1; i < argc; ++i) { dev_t dev = rm_mounts_get_disk_id_by_path(table, argv[i]); g_printerr( "%30s is on %4srotational device \"%s\" and on disk %02u:%02u\n", argv[i], rm_mounts_is_nonrotational_by_path(table, argv[i]) ? "non-" : "", rm_mounts_get_name(table, dev), major(dev), minor(dev) ); } rm_mounts_table_destroy(table); return EXIT_SUCCESS; }