jackdanielz pushed a commit to branch master.

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

commit b013815bfd61b1f1fca6fa1abf02c918fb2e2be8
Author: Daniel Zaoui <[email protected]>
Date:   Sun Mar 9 12:02:46 2014 +0200

    Eolian/Lexer: error handling
    
    Print and return error if no class has been parsed in the given file.
---
 src/lib/eolian/eo_lexer.c  | 6 ++++++
 src/lib/eolian/eo_lexer.rl | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c
index 733091c..d7fce74 100644
--- a/src/lib/eolian/eo_lexer.c
+++ b/src/lib/eolian/eo_lexer.c
@@ -4229,6 +4229,12 @@ eo_tokenizer_database_fill(const char *filename)
 
    if (!eo_tokenizer_mem_walk(toknz, filename, buffer, len)) goto end;
 
+   if (!toknz->classes)
+     {
+        ERR("No classes for file %s", filename);
+        goto end;
+     }
+
    EINA_LIST_FOREACH(toknz->classes, k, kls)
      {
         database_class_add(kls->name, kls->type);
diff --git a/src/lib/eolian/eo_lexer.rl b/src/lib/eolian/eo_lexer.rl
index f663ce3..6869eaa 100644
--- a/src/lib/eolian/eo_lexer.rl
+++ b/src/lib/eolian/eo_lexer.rl
@@ -1223,6 +1223,12 @@ eo_tokenizer_database_fill(const char *filename)
 
    if (!eo_tokenizer_mem_walk(toknz, filename, buffer, len)) goto end;
 
+   if (!toknz->classes)
+     {
+        ERR("No classes for file %s", filename);
+        goto end;
+     }
+
    EINA_LIST_FOREACH(toknz->classes, k, kls)
      {
         database_class_add(kls->name, kls->type);

-- 


Reply via email to