hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=f0ab0ec9a9c16ab186a0b2cdac9ea89f253c263a

commit f0ab0ec9a9c16ab186a0b2cdac9ea89f253c263a
Author: Taehyub Kim <taehyub....@samsung.com>
Date:   Fri Aug 19 12:56:21 2016 +0900

    edc_parser: move the functions in utils which are find_part and find_group 
to the edc_parser
    
    Summary:
    move hte functions in utils which are find_part and find_group to the 
edc_parser
    since it is right way
    
    Test Plan:
    1. launch enventor
    2. move cursor on part name in text view
    3. press F3 key
    4. check it works well
    
    Reviewers: Jaehyun_Cho, NikaWhite, bowonryu, Hermet
    
    Reviewed By: Hermet
    
    Differential Revision: https://phab.enlightenment.org/D4240
---
 src/lib/edc_editor.c       |  13 +++--
 src/lib/edc_parser.c       | 136 +++++++++++++++++++++++++++++++++++++++++++++
 src/lib/enventor_private.h |  43 +++++++-------
 src/lib/util.c             | 136 +--------------------------------------------
 4 files changed, 166 insertions(+), 162 deletions(-)

diff --git a/src/lib/edc_editor.c b/src/lib/edc_editor.c
index ecb63ad..2715caa 100644
--- a/src/lib/edc_editor.c
+++ b/src/lib/edc_editor.c
@@ -1946,15 +1946,16 @@ goto_part_name(edit_data *ed, const char *part_name)
 
    //Find part name in current group
    const char *part_type =
-      part_type_get(view_part_type_get(edj_mgr_view_get(NULL), part_name));
+      part_type_str_convert(view_part_type_get(edj_mgr_view_get(NULL),
+                            part_name));
    if (!part_type) goto end;
 
    const char *start_pos =
-      find_part_proc_internal(utf8,
-                              (utf8 + strlen(utf8)),
-                              group_name,
-                              part_name,
-                              part_type);
+      parser_part_pos_get(utf8,
+                          (utf8 + strlen(utf8)),
+                          group_name,
+                          part_name,
+                          part_type);
    if (!start_pos) goto end;
 
    //Select part name
diff --git a/src/lib/edc_parser.c b/src/lib/edc_parser.c
index 17fb5a1..67368a7 100644
--- a/src/lib/edc_parser.c
+++ b/src/lib/edc_parser.c
@@ -2161,3 +2161,139 @@ end:
 
    return group_list;
 }
+
+char*
+parser_group_pos_get(char *utf8, char *utf8_end,
+                     const char *group_name)
+{
+   char *p = utf8;
+   char *result = NULL;
+
+   int group_name_len = strlen(group_name);
+
+   //Find group
+   while (utf8_end > p)
+     {
+        //Skip " ~ " Section
+        if (*p == '\"')
+          {
+             ESCAPE_RET_NULL();
+          }
+
+        if (!strncmp("group", p, strlen("group")))
+          {
+             p = strstr((p + 5), "\"");
+             if (!p) return NULL;
+             p++;
+             if (!strncmp(group_name, p, group_name_len))
+               {
+                  //Compare Elaborately
+                  char *next_quote = strstr(p, "\"");
+                  if (group_name_len == (next_quote - p))
+                    {
+                       result = p;
+                       break;
+                    }
+                  else
+                    {
+                       ESCAPE_RET_NULL();
+                    }
+               }
+             else
+               {
+                  ESCAPE_RET_NULL();
+               }
+          }
+        p++;
+     }
+
+   return result;
+}
+
+char*
+parser_part_pos_get(char *utf8, char *utf8_end,
+                    const char* group_name,
+                    const char *part_name, const char *part_type)
+{
+   char *p = parser_group_pos_get(utf8, utf8_end, group_name);
+
+   //No found
+   if (!p) return NULL;
+
+   p = strstr(p, "\"");
+   if (!p) return NULL;
+   p++;
+
+   char *result = NULL;
+
+   //goto parts
+   p = strstr(p, "parts");
+   if (!p) return NULL;
+
+   int part_name_len = strlen(part_name);
+
+   //Find part
+   while (utf8_end > p)
+     {
+        //Skip " ~ " Section
+        if (*p == '\"')
+          {
+             ESCAPE_RET_NULL();
+          }
+
+        if (!strncmp(part_type, p, strlen(part_type)))
+          {
+             p = strstr((p + strlen(part_type)), "\"");
+             if (!p) return NULL;
+             p++;
+             if (!strncmp(part_name, p, part_name_len))
+               {
+                  //Compare Elaborately
+                  char *next_quote = strstr(p, "\"");
+                  if (part_name_len == (next_quote - p))
+                    {
+                       result = p;
+                       break;
+                    }
+                  else
+                    {
+                       ESCAPE_RET_NULL();
+                    }
+               }
+             else
+               {
+                  ESCAPE_RET_NULL();
+               }
+          }
+
+        //compatibility: "part"
+        if (!strncmp("part", p, strlen("part")))
+          {
+             p = strstr((p + 4), "\"");
+             if (!p) return NULL;
+             p++;
+             if (!strncmp(part_name, p, strlen(part_name)))
+               {
+                  //Compare Elaborately
+                  char *next_quote = strstr(p, "\"");
+                  if (part_name_len == (next_quote - p))
+                    {
+                       result = p;
+                       break;
+                    }
+                  else
+                    {
+                       ESCAPE_RET_NULL();
+                    }
+               }
+             else
+               {
+                  ESCAPE_RET_NULL();
+               }
+          }
+
+        p++;
+     }
+
+   return result;
+}
diff --git a/src/lib/enventor_private.h b/src/lib/enventor_private.h
index c0b8248..ae67314 100644
--- a/src/lib/enventor_private.h
+++ b/src/lib/enventor_private.h
@@ -127,6 +127,27 @@ void parser_bracket_find(parser_data *pd, Evas_Object 
*entry, Bracket_Update_Cb
 void parser_bracket_cancel(parser_data *pd);
 Eina_List *parser_group_list_get(parser_data *pd, Evas_Object *entry);
 
+#define ESCAPE_GOTO_END() \
+   p++; \
+   p = strstr(p, "\""); \
+   if (!p) goto end; \
+   p++; \
+   continue
+
+#define ESCAPE_RET_NULL() \
+   p++; \
+   p = strstr(p, "\""); \
+   if (!p) return NULL; \
+   p++; \
+   continue
+
+char* parser_group_pos_get(char *utf8, char *utf8_end,
+                           const char *group_name);
+char* parser_part_pos_get(char *utf8, char *utf8_end,
+                          const char* group_name,
+                          const char *part_name,
+                          const char *part_type);
+
 /* syntax helper */
 syntax_helper *syntax_init(edit_data *ed);
 void syntax_term(syntax_helper *sh);
@@ -289,27 +310,7 @@ Eina_List *edit_group_list_get(edit_data *ed);
 
 /* util */
 void mem_fail_msg(void);
-#define ESCAPE_GOTO_END() \
-   p++; \
-   p = strstr(p, "\""); \
-   if (!p) goto end; \
-   p++; \
-   continue
-
-#define ESCAPE_RET_NULL() \
-   p++; \
-   p = strstr(p, "\""); \
-   if (!p) return NULL; \
-   p++; \
-   continue
-
-const char* part_type_get(Edje_Part_Type type);
-char* find_group_proc_internal(char *utf8, char *utf8_end,
-                               const char *group_name);
-char* find_part_proc_internal(char *utf8, char *utf8_end,
-                              const char* group_name,
-                              const char *part_name,
-                              const char *part_type);
+const char* part_type_str_convert(Edje_Part_Type type);
 
 /* reference */
 void ref_init(void);
diff --git a/src/lib/util.c b/src/lib/util.c
index aefbb2c..43b2358 100644
--- a/src/lib/util.c
+++ b/src/lib/util.c
@@ -11,7 +11,7 @@ void mem_fail_msg(void)
 }
 
 const char*
-part_type_get(Edje_Part_Type type)
+part_type_str_convert(Edje_Part_Type type)
 {
    switch (type)
      {
@@ -31,137 +31,3 @@ part_type_get(Edje_Part_Type type)
            return "part";
      }
 }
-
-char*
-find_group_proc_internal(char *utf8, char *utf8_end, const char *group_name)
-{
-   char *p = utf8;
-   char *result = NULL;
-
-   int group_name_len = strlen(group_name);
-
-   //Find group
-   while (utf8_end > p)
-     {
-        //Skip " ~ " Section
-        if (*p == '\"')
-          {
-             ESCAPE_RET_NULL();
-          }
-
-        if (!strncmp("group", p, strlen("group")))
-          {
-             p = strstr((p + 5), "\"");
-             if (!p) return NULL;
-             p++;
-             if (!strncmp(group_name, p, group_name_len))
-               {
-                  //Compare Elaborately
-                  char *next_quote = strstr(p, "\"");
-                  if (group_name_len == (next_quote - p))
-                    {
-                       result = p;
-                       break;
-                    }
-                  else
-                    {
-                       ESCAPE_RET_NULL();
-                    }
-               }
-             else
-               {
-                  ESCAPE_RET_NULL();
-               }
-          }
-        p++;
-     }
-
-   return result;
-}
-
-char*
-find_part_proc_internal(char *utf8, char *utf8_end, const char* group_name,
-                        const char *part_name, const char *part_type)
-{
-   char *p = find_group_proc_internal(utf8, utf8_end, group_name);
-
-   //No found
-   if (!p) return NULL;
-
-   p = strstr(p, "\"");
-   if (!p) return NULL;
-   p++;
-
-   char *result = NULL;
-
-   //goto parts
-   p = strstr(p, "parts");
-   if (!p) return NULL;
-
-   int part_name_len = strlen(part_name);
-
-   //Find part
-   while (utf8_end > p)
-     {
-        //Skip " ~ " Section
-        if (*p == '\"')
-          {
-             ESCAPE_RET_NULL();
-          }
-
-        if (!strncmp(part_type, p, strlen(part_type)))
-          {
-             p = strstr((p + strlen(part_type)), "\"");
-             if (!p) return NULL;
-             p++;
-             if (!strncmp(part_name, p, part_name_len))
-               {
-                  //Compare Elaborately
-                  char *next_quote = strstr(p, "\"");
-                  if (part_name_len == (next_quote - p))
-                    {
-                       result = p;
-                       break;
-                    }
-                  else
-                    {
-                       ESCAPE_RET_NULL();
-                    }
-               }
-             else
-               {
-                  ESCAPE_RET_NULL();
-               }
-          }
-
-        //compatibility: "part"
-        if (!strncmp("part", p, strlen("part")))
-          {
-             p = strstr((p + 4), "\"");
-             if (!p) return NULL;
-             p++;
-             if (!strncmp(part_name, p, strlen(part_name)))
-               {
-                  //Compare Elaborately
-                  char *next_quote = strstr(p, "\"");
-                  if (part_name_len == (next_quote - p))
-                    {
-                       result = p;
-                       break;
-                    }
-                  else
-                    {
-                       ESCAPE_RET_NULL();
-                    }
-               }
-             else
-               {
-                  ESCAPE_RET_NULL();
-               }
-          }
-
-        p++;
-     }
-
-   return result;
-}

-- 


Reply via email to