q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6c0180d7f852a1399990140142f40018ebc99349
commit 6c0180d7f852a1399990140142f40018ebc99349 Author: Daniel Kolesa <[email protected]> Date: Fri Mar 16 00:14:13 2018 +0100 eolian: more stringent and fine-grained validation --- src/lib/eolian/database_validate.c | 16 ++++++++-------- src/lib/eolian/eolian_database.c | 6 +++--- src/lib/eolian/eolian_database.h | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c index b2e078062a..3536a0531d 100644 --- a/src/lib/eolian/database_validate.c +++ b/src/lib/eolian/database_validate.c @@ -417,7 +417,7 @@ _validate_part(const Eolian_Unit *src, Eolian_Part *part, Eina_Hash *nhash) return EINA_FALSE; /* switch the class name for class */ - Eolian_Class *pcl = eina_hash_find(src->state->unit.classes, part->klass_name); + Eolian_Class *pcl = eina_hash_find(src->classes, part->klass_name); if (!pcl) { char buf[PATH_MAX]; @@ -677,7 +677,7 @@ _db_fill_inherits(const Eolian_Unit *src, Eolian_Class *cl, Eina_Hash *fhash) eina_stringshare_del(inn); continue; } - Eolian_Class *icl = eina_hash_find(src->state->unit.classes, inn); + Eolian_Class *icl = eina_hash_find(src->classes, inn); if (!icl) { succ = EINA_FALSE; @@ -846,7 +846,7 @@ _var_map_cb(const Eina_Hash *hash EINA_UNUSED, const void *key EINA_UNUSED, } Eina_Bool -database_validate(Eolian_State *state, const Eolian_Unit *src) +database_validate(const Eolian_Unit *src) { Eolian_Class *cl; @@ -888,23 +888,23 @@ database_validate(Eolian_State *state, const Eolian_Unit *src) Cb_Ret rt = { src, &vals, EINA_TRUE }; - eina_hash_foreach(state->unit.aliases, (Eina_Hash_Foreach)_typedecl_map_cb, &rt); + eina_hash_foreach(src->aliases, (Eina_Hash_Foreach)_typedecl_map_cb, &rt); if (!rt.succ) return EINA_FALSE; - eina_hash_foreach(state->unit.structs, (Eina_Hash_Foreach)_typedecl_map_cb, &rt); + eina_hash_foreach(src->structs, (Eina_Hash_Foreach)_typedecl_map_cb, &rt); if (!rt.succ) return EINA_FALSE; - eina_hash_foreach(state->unit.enums, (Eina_Hash_Foreach)_typedecl_map_cb, &rt); + eina_hash_foreach(src->enums, (Eina_Hash_Foreach)_typedecl_map_cb, &rt); if (!rt.succ) return EINA_FALSE; - eina_hash_foreach(state->unit.globals, (Eina_Hash_Foreach)_var_map_cb, &rt); + eina_hash_foreach(src->globals, (Eina_Hash_Foreach)_var_map_cb, &rt); if (!rt.succ) return EINA_FALSE; - eina_hash_foreach(state->unit.constants, (Eina_Hash_Foreach)_var_map_cb, &rt); + eina_hash_foreach(src->constants, (Eina_Hash_Foreach)_var_map_cb, &rt); if (!rt.succ) return EINA_FALSE; diff --git a/src/lib/eolian/eolian_database.c b/src/lib/eolian/eolian_database.c index f3fc255ad8..ef96b1a1ef 100644 --- a/src/lib/eolian/eolian_database.c +++ b/src/lib/eolian/eolian_database.c @@ -806,7 +806,7 @@ eolian_state_file_parse(Eolian_State *state, const char *filepath) if (!_parse_deferred(ret)) return NULL; _merge_units(ret); - if (!database_validate(state, ret)) + if (!database_validate(ret)) return NULL; return &state->unit; } @@ -839,7 +839,7 @@ eolian_state_all_eot_files_parse(Eolian_State *state) eina_hash_foreach(state->filenames_eot, _tfile_parse, &pd); - if (pd.ret && !database_validate(state, &state->unit)) + if (pd.ret && !database_validate(&state->unit)) return EINA_FALSE; return pd.ret; @@ -867,7 +867,7 @@ eolian_state_all_eo_files_parse(Eolian_State *state) eina_hash_foreach(state->filenames_eo, _file_parse, &pd); - if (pd.ret && !database_validate(state, &state->unit)) + if (pd.ret && !database_validate(&state->unit)) return EINA_FALSE; return pd.ret; diff --git a/src/lib/eolian/eolian_database.h b/src/lib/eolian/eolian_database.h index 347974b7ce..28ff7879dc 100644 --- a/src/lib/eolian/eolian_database.h +++ b/src/lib/eolian/eolian_database.h @@ -314,7 +314,7 @@ struct _Eolian_Variable }; char *database_class_to_filename(const char *cname); -Eina_Bool database_validate(Eolian_State *state, const Eolian_Unit *src); +Eina_Bool database_validate(const Eolian_Unit *src); void database_object_add(Eolian_Unit *unit, const Eolian_Object *obj); --
