示例#1
0
文件: search.c 项目: BrEacK/mc
GString *
mc_search_prepare_replace_str (mc_search_t * lc_mc_search, GString * replace_str)
{
    GString *ret;

    if (lc_mc_search == NULL)
        return g_string_new_len (replace_str->str, replace_str->len);

    if (replace_str == NULL || replace_str->str == NULL || replace_str->len == 0)
        return g_string_new ("");

    switch (lc_mc_search->search_type)
    {
    case MC_SEARCH_T_REGEX:
        ret = mc_search_regex_prepare_replace_str (lc_mc_search, replace_str);
        break;
    case MC_SEARCH_T_GLOB:
        ret = mc_search_glob_prepare_replace_str (lc_mc_search, replace_str);
        break;
    case MC_SEARCH_T_NORMAL:
        ret = mc_search_normal_prepare_replace_str (lc_mc_search, replace_str);
        break;
    case MC_SEARCH_T_HEX:
        ret = mc_search_hex_prepare_replace_str (lc_mc_search, replace_str);
        break;
    default:
        ret = g_string_new_len (replace_str->str, replace_str->len);
        break;
    }
    return ret;
}
示例#2
0
文件: glob.c 项目: CTU-OSP/mc
GString *
mc_search_glob_prepare_replace_str (mc_search_t * lc_mc_search, GString * replace_str)
{
    GString *repl = mc_search__translate_replace_glob_to_regex (replace_str->str);
    GString *res = mc_search_regex_prepare_replace_str (lc_mc_search, repl);
    g_string_free (repl, TRUE);
    return res;
}