diff options
author | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2012-11-16 15:27:50 +0000 |
---|---|---|
committer | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2012-11-16 15:27:50 +0000 |
commit | bb6e9d7f5f71677aa4fc79fed01919ea0bbb20c4 (patch) | |
tree | 04b7e723ddda6a7d191fa854ce4fd1eaaf5ce6a1 /src | |
parent | 52a0b403fca3b37434c7ed5343d25dcae8734e0b (diff) | |
download | nsgenbind-bb6e9d7f5f71677aa4fc79fed01919ea0bbb20c4.tar.gz nsgenbind-bb6e9d7f5f71677aa4fc79fed01919ea0bbb20c4.tar.bz2 |
correctly deal with missing strings in parameters
Diffstat (limited to 'src')
-rw-r--r-- | src/jsapi-libdom-operator.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/jsapi-libdom-operator.c b/src/jsapi-libdom-operator.c index c3084f7..2aaf114 100644 --- a/src/jsapi-libdom-operator.c +++ b/src/jsapi-libdom-operator.c @@ -33,7 +33,7 @@ static int webidl_func_spec_cb(struct webidl_node *node, void *ctx) */ } else { fprintf(binding->outfile, - "\tJSAPI_FS(%s, 0, 0 /* JSPROP_ENUMERATE */),\n", + "\tJSAPI_FS(%s, 0, JSPROP_ENUMERATE ),\n", webidl_node_gettext(ident_node)); /* @todo number of args to that FN_FS() call should be correct */ } @@ -642,15 +642,13 @@ output_operation_input(struct binding *binding, /* JSString * */ fprintf(binding->outfile, "\tif (argc > %d) {\n" - "\t%s_jsstr = JS_ValueToString(cx, argv[%d]);\n" - "\tif (%s_jsstr == NULL) {\n" - "\t\treturn JS_FALSE;\n" - "\t}\n\n" - "\tJSString_to_char(%s_jsstr, %s, %s_len);\n" + "\t\t%s_jsstr = JS_ValueToString(cx, argv[%d]);\n" "\t} else {\n" - "\t\t%s = NULL;" - "\t\t%s_len = 0;" - "\t}\n", + "\t\t%s_jsstr = JS_ValueToString(cx, JSVAL_VOID);\n" + "\t}\n" + "\tif (%s_jsstr != NULL) {\n" + "\t\tJSString_to_char(%s_jsstr, %s, %s_len);\n" + "\t}\n\n", arg_cur, webidl_node_gettext(arg_ident), arg_cur, @@ -658,7 +656,6 @@ output_operation_input(struct binding *binding, webidl_node_gettext(arg_ident), webidl_node_gettext(arg_ident), webidl_node_gettext(arg_ident), - webidl_node_gettext(arg_ident), webidl_node_gettext(arg_ident)); break; |