reference: Check dot('.') grammar to identify parent keyword.

Check dot('.') grammer (e.g. image.normal) to identify parent keyword.
This commit is contained in:
Jaehyun Cho 2016-07-19 19:38:29 +09:00
parent 50b32ef8f4
commit 763d7b2669
1 changed files with 14 additions and 1 deletions

View File

@ -200,10 +200,16 @@ keyword_parent_name_list_find(const char *text, const char *keyword_name)
const char *parent_begin = NULL;
const char *parent_end = NULL;
//Check if dot('.') grammar is valid to identify parent keyword.
Eina_Bool dot_grammar_valid = EINA_TRUE;
while (text <= ptr)
{
if (*ptr == '{')
if ((*ptr == '{') || (dot_grammar_valid && (*ptr == '.')))
{
if (dot_grammar_valid)
dot_grammar_valid = EINA_FALSE;
height++;
if (height == next_height)
{
@ -244,8 +250,15 @@ keyword_parent_name_list_find(const char *text, const char *keyword_name)
}
else if (*ptr == '}')
{
if (dot_grammar_valid)
dot_grammar_valid = EINA_FALSE;
height--;
}
else if (dot_grammar_valid && !isalnum(*ptr))
{
dot_grammar_valid = EINA_FALSE;
}
ptr--;
}