qjs_query_string_decode(JSContext *cx, const u_char *start, size_t size)
{
u_char *dst;
- JSValue ret;
uint32_t cp;
njs_chb_t chain;
const u_char *p, *end;
}
- ret = qjs_string_create_chb(cx, &chain);
-
- njs_chb_destroy(&chain);
-
- return ret;
+ return qjs_string_create_chb(cx, &chain);
}
ret = qjs_string_create_chb(cx, &chain);
- njs_chb_destroy(&chain);
-
JS_FreeCString(cx, (char *) str.start);
return ret;
{
int rc;
uint32_t n, length;
- JSValue key, val, ret;
+ JSValue key, val;
njs_str_t sep_val, eq_val;
njs_chb_t chain;
JSPropertyEnum *ptab;
qjs_free_prop_enum(cx, ptab, length);
}
- ret = qjs_string_create_chb(cx, &chain);
-
- njs_chb_destroy(&chain);
-
- return ret;
+ return qjs_string_create_chb(cx, &chain);
fail:
ngx_list_t *headers, ngx_table_elt_t **ph, ngx_str_t *name,
JSPropertyDescriptor *pdesc, unsigned flags)
{
- int ret;
u_char sep;
- njs_chb_t chain;
JSValue val;
+ njs_chb_t chain;
ngx_uint_t i;
ngx_list_part_t *part;
ngx_table_elt_t *header, *h;
return 1;
}
+ if (pdesc == NULL) {
+ return 1;
+ }
+
NJS_CHB_CTX_INIT(&chain, cx);
sep = flags & NJS_HEADER_SEMICOLON ? ';' : ',';
njs_chb_append_literal(&chain, " ");
}
- ret = 1;
-
- if (pdesc != NULL) {
- pdesc->flags = JS_PROP_ENUMERABLE;
- pdesc->getter = JS_UNDEFINED;
- pdesc->setter = JS_UNDEFINED;
- pdesc->value = qjs_string_create_chb(cx, &chain);
- if (JS_IsException(pdesc->value)) {
- ret = -1;
- goto done;
- }
+ pdesc->flags = JS_PROP_ENUMERABLE;
+ pdesc->getter = JS_UNDEFINED;
+ pdesc->setter = JS_UNDEFINED;
+ pdesc->value = qjs_string_create_chb(cx, &chain);
+ if (JS_IsException(pdesc->value)) {
+ return -1;
}
-done:
-
- njs_chb_destroy(&chain);
-
- return ret;
+ return 1;
}
njs_str_t str;
ret = njs_chb_join(chain, &str);
+ njs_chb_destroy(chain);
+
if (ret != NJS_OK) {
return JS_ThrowInternalError(cx, "failed to create string");
}