static void mc_search__cond_struct_new_regex_accum_append (const char *charset, GString * str_to, GString * str_from) { GString *recoded_part; gsize loop = 0; recoded_part = g_string_sized_new (32); while (loop < str_from->len) { gchar *one_char; gsize one_char_len; gboolean just_letters; one_char = mc_search__get_one_symbol (charset, &(str_from->str[loop]), min (str_from->len - loop, 6), &just_letters); one_char_len = strlen (one_char); if (one_char_len == 0) loop++; else { loop += one_char_len; if (just_letters) mc_search__cond_struct_new_regex_hex_add (charset, recoded_part, one_char, one_char_len); else g_string_append_len (recoded_part, one_char, one_char_len); } g_free (one_char); } g_string_append (str_to, recoded_part->str); g_string_free (recoded_part, TRUE); g_string_set_size (str_from, 0); }
static void mc_search__cond_struct_new_regex_accum_append (const char *charset, GString * str_to, GString * str_from) { GString *recoded_part; gchar *one_char; gsize loop; gboolean just_letters; loop = 0; recoded_part = g_string_new (""); while (loop < str_from->len) { one_char = mc_search__get_one_symbol (charset, &(str_from->str[loop]), (str_from->len - loop > 6) ? 6 : str_from->len - loop, &just_letters); if (!strlen (one_char)) { loop++; continue; } if (just_letters) { mc_search__cond_struct_new_regex_hex_add (charset, recoded_part, one_char, strlen (one_char)); } else { g_string_append (recoded_part, one_char); } loop += strlen (one_char); if (!strlen (one_char)) loop++; g_free (one_char); } g_string_append (str_to, recoded_part->str); g_string_free (recoded_part, TRUE); g_string_set_size (str_from, 0); }