summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2015-08-10 18:59:26 +0100
committerVincent Sanders <vince@kyllikki.org>2015-08-10 18:59:26 +0100
commitfc6be4af3427f8b317d4d264fa1ec3739ba5427b (patch)
tree26b4fd4e2d1ce2322793e4dab8efd947e5e171ad /src
parent26b75830ab942bc9116e8769652afa24d0d9550d (diff)
downloadnsgenbind-fc6be4af3427f8b317d4d264fa1ec3739ba5427b.tar.gz
nsgenbind-fc6be4af3427f8b317d4d264fa1ec3739ba5427b.tar.bz2
Ensure private member definitions in structures are valid
Diffstat (limited to 'src')
-rw-r--r--src/duk-libdom.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/duk-libdom.c b/src/duk-libdom.c
index f54deef..dcedfb2 100644
--- a/src/duk-libdom.c
+++ b/src/duk-libdom.c
@@ -1210,8 +1210,20 @@ output_private_header(struct interface_map *interface_map)
NULL,
GENBIND_NODE_TYPE_PRIVATE);
while (priv_node != NULL) {
- fprintf(privf, "\t");
- output_cdata(privf, priv_node, GENBIND_NODE_TYPE_TYPE);
+ const char *type_cdata;
+ char cdatae;
+ type_cdata = genbind_node_gettext(
+ genbind_node_find_type(
+ genbind_node_getnode(priv_node),
+ NULL,
+ GENBIND_NODE_TYPE_TYPE));
+
+ fprintf(privf, "\t%s", type_cdata);
+ cdatae = type_cdata[strlen(type_cdata) - 1];
+ if ((cdatae != '*') && (cdatae != ' ')) {
+ fputc(' ', privf);
+ }
+
output_cdata(privf, priv_node, GENBIND_NODE_TYPE_IDENT);
fprintf(privf, ";\n");