コード例 #1
0
ファイル: session.c プロジェクト: sahib/rmlint
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);
}
コード例 #2
0
ファイル: md-scheduler.c プロジェクト: sahib/rmlint
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);
}
コード例 #3
0
ファイル: utilities.c プロジェクト: icedawn/rmlint
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;
}