Ejemplo n.º 1
0
gboolean
mc_fhl_parse_ini_file (mc_fhl_t * fhl)
{
    gchar **group_names, **orig_group_names;
    gboolean ok;

    mc_fhl_array_free (fhl);
    fhl->filters = g_ptr_array_new ();

    orig_group_names = mc_config_get_groups (fhl->config, NULL);
    ok = (*orig_group_names != NULL);

    for (group_names = orig_group_names; *group_names != NULL; group_names++)
    {
        if (mc_config_has_param (fhl->config, *group_names, "type"))
        {
            /* parse filetype filter */
            mc_fhl_parse_get_file_type_id (fhl, *group_names);
        }
        if (mc_config_has_param (fhl->config, *group_names, "regexp"))
        {
            /* parse regexp filter */
            mc_fhl_parse_get_regexp (fhl, *group_names);
        }
        if (mc_config_has_param (fhl->config, *group_names, "extensions"))
        {
            /* parse extensions filter */
            mc_fhl_parse_get_extensions (fhl, *group_names);
        }
    }

    g_strfreev (orig_group_names);

    return ok;
}
Ejemplo n.º 2
0
int
mc_config_get_int (mc_config_t * mc_config, const gchar * group, const gchar * param, int def)
{
    if (!mc_config || !group || !param)
        return def;

    if (!mc_config_has_param (mc_config, group, param))
    {
        mc_config_set_int (mc_config, group, param, def);
        return def;
    }

    return g_key_file_get_integer (mc_config->handle, group, param, NULL);
}
Ejemplo n.º 3
0
gboolean
mc_config_get_bool (mc_config_t * mc_config, const gchar * group, const gchar * param, gboolean def)
{
    if (!mc_config || !group || !param)
        return def;

    if (!mc_config_has_param (mc_config, group, param))
    {
        mc_config_set_bool (mc_config, group, param, def);
        return def;
    }

    return g_key_file_get_boolean (mc_config->handle, group, param, NULL);
}
Ejemplo n.º 4
0
gboolean
mc_fhl_parse_ini_file (mc_fhl_t * fhl)
{
    gchar **group_names, **orig_group_names;

    mc_fhl_array_free (fhl);
    fhl->filters = g_ptr_array_new ();

    orig_group_names = group_names = mc_config_get_groups (fhl->config, NULL);

    if (group_names == NULL)
        return FALSE;

    while (*group_names)
    {

        if (mc_config_has_param (fhl->config, *group_names, "type"))
        {
            /* parse filetype filter */
            mc_fhl_parse_get_file_type_id (fhl, *group_names);
        }
        if (mc_config_has_param (fhl->config, *group_names, "regexp"))
        {
            /* parse regexp filter */
            mc_fhl_parse_get_regexp (fhl, *group_names);
        }
        if (mc_config_has_param (fhl->config, *group_names, "extensions"))
        {
            /* parse extensions filter */
            mc_fhl_parse_get_extensions (fhl, *group_names);
        }
        group_names++;
    }

    g_strfreev (orig_group_names);
    return TRUE;
}
Ejemplo n.º 5
0
gchar *
mc_config_get_string (mc_config_t * mc_config, const gchar * group,
                      const gchar * param, const gchar * def)
{
    GIConv conv;
    GString *buffer;
    gchar *ret;
    estr_t conv_res;

    if (!mc_config || !group || !param)
        return g_strdup (def);

    if (!mc_config_has_param (mc_config, group, param))
    {
        if (def != NULL)
            mc_config_set_string (mc_config, group, param, def);
        return g_strdup (def);
    }

    ret = g_key_file_get_string (mc_config->handle, group, param, NULL);
    if (ret == NULL)
        ret = g_strdup (def);

    if (mc_global.utf8_display)
        return ret;

    conv = str_crt_conv_from ("UTF-8");
    if (conv == INVALID_CONV)
        return ret;

    buffer = g_string_new ("");
    conv_res = str_convert (conv, ret, buffer);
    str_close_conv (conv);

    if (conv_res == ESTR_FAILURE)
    {
        g_string_free (buffer, TRUE);
        return ret;
    }

    g_free (ret);

    return g_string_free (buffer, FALSE);
}
Ejemplo n.º 6
0
gchar *
mc_config_get_string_raw (const mc_config_t * mc_config, const gchar * group,
                          const gchar * param, const gchar * def)
{
    gchar *ret;

    if (!mc_config || !group || !param)
        return g_strdup (def);

    if (!mc_config_has_param (mc_config, group, param))
    {
        if (def != NULL)
            mc_config_set_string (mc_config, group, param, def);
        return g_strdup (def);
    }

    ret = g_key_file_get_string (mc_config->handle, group, param, NULL);

    return ret != NULL ? ret : g_strdup (def);
}