jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e260f23c94bbc8d5175337e1a1a50fe5d97ded7e

commit e260f23c94bbc8d5175337e1a1a50fe5d97ded7e
Author: Jee-Yong Um <jc9...@samsung.com>
Date:   Tue Mar 29 17:35:04 2016 +0900

    edje_cc: fix parsing error when some keywords are used as part name
    
    Summary:
    Some keywords cause parsing error when they are used as part name.
    For example,
       group { "some_group";
          parts {
             box { "box";
             }
          }
       }
    The part name "box" should be processed by wildcard handler,
    but this is pushed into stack. (collections.group.parts.part.box ...)
    This patch pushes token into stack only when it doesn't have quotes.
    
    @fix
    
    Reviewers: cedric, raster, jpeg
    
    Reviewed By: jpeg
    
    Subscribers: jpeg
    
    Differential Revision: https://phab.enlightenment.org/D3841
---
 src/bin/edje/edje_cc_parse.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/bin/edje/edje_cc_parse.c b/src/bin/edje/edje_cc_parse.c
index 31eab32..542079a 100644
--- a/src/bin/edje/edje_cc_parse.c
+++ b/src/bin/edje/edje_cc_parse.c
@@ -185,14 +185,17 @@ static void
 new_object(void)
 {
    const char *id;
-   New_Object_Handler *oh;
+   New_Object_Handler *oh = NULL;
    New_Statement_Handler *sh;
 
    fill_object_statement_hashes();
    id = stack_id();
-   oh = eina_hash_find(_new_object_hash, id);
-   if (!oh)
-     oh = eina_hash_find(_new_object_short_hash, id);
+   if (!had_quote)
+     {
+        oh = eina_hash_find(_new_object_hash, id);
+        if (!oh)
+          oh = eina_hash_find(_new_object_short_hash, id);
+     }
    if (oh)
      {
         if (oh->func) oh->func();

-- 


Reply via email to