5 Copyright (C) 2009-2024
6 Free Software Foundation, Inc.
9 Slava Zanko <slavazanko@gmail.com>, 2009.
11 This file is part of the Midnight Commander.
13 The Midnight Commander is free software: you can redistribute it
14 and/or modify it under the terms of the GNU General Public License as
15 published by the Free Software Foundation, either version 3 of the License,
16 or (at your option) any later version.
18 The Midnight Commander is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
23 You should have received a copy of the GNU General Public License
24 along with this program. If not, see <http://www.gnu.org/licenses/>.
29 #include "lib/global.h"
30 #include "lib/strutil.h"
31 #include "lib/search.h"
35 /*** global variables ****************************************************************************/
37 /*** file scope macro definitions ****************************************************************/
39 /*** file scope type declarations ****************************************************************/
41 /*** forward declarations (file scope functions) *************************************************/
43 /*** file scope variables ************************************************************************/
45 /* --------------------------------------------------------------------------------------------- */
46 /*** file scope functions ************************************************************************/
47 /* --------------------------------------------------------------------------------------------- */
50 mc_search__normal_translate_to_regex (GString
*str
)
54 for (loop
= 0; loop
< str
->len
; loop
++)
55 switch (str
->str
[loop
])
73 g_string_insert_c (str
, loop
, '\\');
81 /* --------------------------------------------------------------------------------------------- */
82 /*** public functions ****************************************************************************/
83 /* --------------------------------------------------------------------------------------------- */
86 mc_search__cond_struct_new_init_normal (const char *charset
, mc_search_t
*lc_mc_search
,
87 mc_search_cond_t
*mc_search_cond
)
89 mc_search__normal_translate_to_regex (mc_search_cond
->str
);
90 mc_search__cond_struct_new_init_regex (charset
, lc_mc_search
, mc_search_cond
);
93 /* --------------------------------------------------------------------------------------------- */
96 mc_search__run_normal (mc_search_t
*lc_mc_search
, const void *user_data
,
97 gsize start_search
, gsize end_search
, gsize
*found_len
)
99 return mc_search__run_regex (lc_mc_search
, user_data
, start_search
, end_search
, found_len
);
102 /* --------------------------------------------------------------------------------------------- */
104 mc_search_normal_prepare_replace_str (mc_search_t
*lc_mc_search
, GString
*replace_str
)
108 return mc_g_string_dup (replace_str
);