projects
/
platform
/
upstream
/
efl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f2606fe
)
eolian: check for C type keyword before trying to append as C type keyword
author
Daniel Kolesa
<d.kolesa@osg.samsung.com>
Wed, 17 Jun 2015 09:29:16 +0000
(10:29 +0100)
committer
Daniel Kolesa
<d.kolesa@osg.samsung.com>
Wed, 17 Jun 2015 09:29:37 +0000
(10:29 +0100)
This fixes a segv when non-type Eolian keyword is used.
@fix
src/lib/eolian/database_type.c
patch
|
blob
|
history
diff --git
a/src/lib/eolian/database_type.c
b/src/lib/eolian/database_type.c
index
f3a3a6f
..
787cc3d
100644
(file)
--- a/
src/lib/eolian/database_type.c
+++ b/
src/lib/eolian/database_type.c
@@
-209,8
+209,10
@@
database_type_to_str(const Eolian_Type *tp, Eina_Strbuf *buf, const char *name)
eina_strbuf_append_char(buf, '_');
}
int kw = eo_lexer_keyword_str_to_id(tp->name);
- if (kw) eina_strbuf_append(buf, eo_lexer_get_c_type(kw));
- else eina_strbuf_append(buf, tp->name);
+ if (kw && eo_lexer_is_type_keyword(kw))
+ eina_strbuf_append(buf, eo_lexer_get_c_type(kw));
+ else
+ eina_strbuf_append(buf, tp->name);
}
else if (tp->type == EOLIAN_TYPE_VOID)
eina_strbuf_append(buf, "void");