diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/webidl-ast.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/webidl-ast.c b/src/webidl-ast.c index 26851c3..0d908ce 100644 --- a/src/webidl-ast.c +++ b/src/webidl-ast.c @@ -672,16 +672,20 @@ intercalate_implements(struct webidl_node *interface_node, void *ctx) /* exported interface defined in webidl-ast.h */ int webidl_intercalate_implements(struct webidl_node *webidl_ast) { - /* for each interface: - * for each implements entry: - * find interface from implemets - * recusrse into that interface - * copy the interface into this one - */ - return webidl_node_for_each_type(webidl_ast, - WEBIDL_NODE_TYPE_INTERFACE, - intercalate_implements, - webidl_ast); + int res = 0; + if (webidl_ast != NULL) { + /* for each interface: + * for each implements entry: + * find interface from implemets + * recusrse into that interface + * copy the interface into this one + */ + res = webidl_node_for_each_type(webidl_ast, + WEBIDL_NODE_TYPE_INTERFACE, + intercalate_implements, + webidl_ast); + } + return res; } /* exported interface defined in webidl-ast.h */ |