remove redundant code.
This commit is contained in:
parent
5b0e15daa6
commit
ecff37f1b5
|
@ -283,124 +283,6 @@ macro_list_free(Eina_List *macro_list)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
group_name_thread_blocking(void *data, Ecore_Thread *thread EINA_UNUSED)
|
||||
{
|
||||
const char *quot = QUOT_UTF8;
|
||||
const char *semicol = SEMICOL_UTF8;
|
||||
const char *group = "group";
|
||||
const int quot_len = QUOT_UTF8_LEN;
|
||||
const int semicol_len = SEMICOL_UTF8_LEN;
|
||||
const int group_len = 5; //strlen("group");
|
||||
|
||||
cur_name_td *td = data;
|
||||
char *utf8 = td->utf8;
|
||||
int cur_pos = td->cur_pos;
|
||||
char *p = utf8;
|
||||
char *end = utf8 + cur_pos;
|
||||
|
||||
int bracket = 0;
|
||||
const char *group_name = NULL;
|
||||
int group_name_len = 0;
|
||||
|
||||
int cur_line = 1;
|
||||
Eina_List *macro_list = NULL;
|
||||
|
||||
if (parser_changed_get(td->pd))
|
||||
{
|
||||
parser_macro_list_set(td->pd, (const char *) utf8);
|
||||
parser_changed_set(td->pd, EINA_FALSE);
|
||||
}
|
||||
macro_list = parser_macro_list_get(td->pd);
|
||||
|
||||
while (p <= end)
|
||||
{
|
||||
if (*p == '\n') cur_line++;
|
||||
|
||||
//Skip "" range
|
||||
if (!strncmp(p, quot, quot_len))
|
||||
{
|
||||
p += quot_len;
|
||||
p = strstr(p, quot);
|
||||
if (!p) goto end;
|
||||
p += quot_len;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (*p == '{')
|
||||
{
|
||||
bracket++;
|
||||
p++;
|
||||
continue;
|
||||
}
|
||||
|
||||
//Check whether outside of group
|
||||
if ((*p == '}') && (p < end))
|
||||
{
|
||||
bracket--;
|
||||
p++;
|
||||
|
||||
if (bracket == 1) group_name = NULL;
|
||||
continue;
|
||||
}
|
||||
//Check Group in
|
||||
if (!strncmp(p, group, group_len))
|
||||
{
|
||||
p += group_len;
|
||||
|
||||
char *name_end = strstr(p, semicol);
|
||||
if (!name_end) goto end;
|
||||
|
||||
char *space_pos = NULL;
|
||||
char *temp_pos = strchr(p, ' ');
|
||||
while (temp_pos && (temp_pos < name_end))
|
||||
{
|
||||
space_pos = temp_pos;
|
||||
temp_pos++;
|
||||
temp_pos = strchr(temp_pos, ' ');
|
||||
}
|
||||
|
||||
char *tab_pos = NULL;
|
||||
temp_pos = strchr(p, '\t');
|
||||
while (temp_pos && (temp_pos < name_end))
|
||||
{
|
||||
tab_pos = temp_pos;
|
||||
temp_pos++;
|
||||
temp_pos = strchr(p, '\t');
|
||||
}
|
||||
|
||||
char *name_begin = space_pos > tab_pos ? space_pos : tab_pos;
|
||||
if (!name_begin) goto end;
|
||||
name_begin++;
|
||||
|
||||
group_name = name_begin;
|
||||
group_name_len = name_end - name_begin;
|
||||
p = name_end + semicol_len;
|
||||
bracket++;
|
||||
continue;
|
||||
}
|
||||
p++;
|
||||
}
|
||||
if (group_name)
|
||||
{
|
||||
group_name = eina_stringshare_add_length(group_name, group_name_len);
|
||||
|
||||
char *trans_group_name = NULL;
|
||||
trans_group_name = macro_translate(macro_list, group_name, cur_line);
|
||||
if (trans_group_name)
|
||||
{
|
||||
eina_stringshare_del(group_name);
|
||||
group_name = eina_stringshare_add(trans_group_name);
|
||||
free(trans_group_name);
|
||||
}
|
||||
}
|
||||
|
||||
end:
|
||||
free(utf8);
|
||||
td->utf8 = NULL;
|
||||
td->group_name = group_name;
|
||||
}
|
||||
|
||||
static void
|
||||
cur_state_thread_blocking(void *data, Ecore_Thread *thread EINA_UNUSED)
|
||||
{
|
||||
|
@ -1689,39 +1571,6 @@ end:
|
|||
return name;
|
||||
}
|
||||
|
||||
void
|
||||
parser_cur_group_name_get(parser_data *pd, Evas_Object *entry,
|
||||
void (*cb)(void *data, Eina_Stringshare *state_name, double state_value,
|
||||
Eina_Stringshare *part_name, Eina_Stringshare *group_name), void *data)
|
||||
{
|
||||
if (pd->cntd) ecore_thread_cancel(pd->cntd->thread);
|
||||
|
||||
const char *text = elm_entry_entry_get(entry);
|
||||
if (!text) return;
|
||||
|
||||
char *utf8 = elm_entry_markup_to_utf8(text);
|
||||
if (!utf8) return;
|
||||
|
||||
cur_name_td *td = calloc(1, sizeof(cur_name_td));
|
||||
if (!td)
|
||||
{
|
||||
free(utf8);
|
||||
EINA_LOG_ERR("Failed to allocate Memory!");
|
||||
return;
|
||||
}
|
||||
|
||||
td->pd = pd;
|
||||
pd->cntd = td;
|
||||
td->utf8 = utf8;
|
||||
td->cur_pos = elm_entry_cursor_pos_get(entry);
|
||||
td->cb = cb;
|
||||
td->cb_data = data;
|
||||
|
||||
td->thread = ecore_thread_run(group_name_thread_blocking,
|
||||
cur_name_thread_end,
|
||||
cur_name_thread_cancel,
|
||||
td);
|
||||
}
|
||||
|
||||
void
|
||||
parser_cur_state_get(parser_data *pd, Evas_Object *entry,
|
||||
|
|
Loading…
Reference in New Issue