Use nsurl_join instead of url_join. Forms still need to be moved over to nsurl.
This commit is contained in:
parent
4c4e93ea54
commit
6b7669dc09
|
@ -2142,20 +2142,20 @@ html_begin_conversion(html_content *htmlc)
|
||||||
htmlc->forms = html_forms_get_forms(htmlc->encoding,
|
htmlc->forms = html_forms_get_forms(htmlc->encoding,
|
||||||
(dom_html_document *) htmlc->document);
|
(dom_html_document *) htmlc->document);
|
||||||
for (f = htmlc->forms; f != NULL; f = f->prev) {
|
for (f = htmlc->forms; f != NULL; f = f->prev) {
|
||||||
char *action;
|
nsurl *action;
|
||||||
url_func_result res;
|
nserror res;
|
||||||
|
|
||||||
/* Make all actions absolute */
|
/* Make all actions absolute */
|
||||||
if (f->action == NULL || f->action[0] == '\0') {
|
if (f->action == NULL || f->action[0] == '\0') {
|
||||||
/* HTML5 4.10.22.3 step 11 */
|
/* HTML5 4.10.22.3 step 9 */
|
||||||
res = url_join(nsurl_access(content_get_url(&htmlc->base)),
|
nsurl *doc_addr = content_get_url(&htmlc->base);
|
||||||
nsurl_access(htmlc->base_url), &action);
|
res = nsurl_join(htmlc->base_url,
|
||||||
|
nsurl_access(doc_addr), &action);
|
||||||
} else {
|
} else {
|
||||||
res = url_join(f->action, nsurl_access(htmlc->base_url),
|
res = nsurl_join(htmlc->base_url, f->action, &action);
|
||||||
&action);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (res != URL_FUNC_OK) {
|
if (res != NSERROR_OK) {
|
||||||
msg_data.error = messages_get("NoMemory");
|
msg_data.error = messages_get("NoMemory");
|
||||||
content_broadcast(&htmlc->base, CONTENT_MSG_ERROR, msg_data);
|
content_broadcast(&htmlc->base, CONTENT_MSG_ERROR, msg_data);
|
||||||
dom_node_unref(html);
|
dom_node_unref(html);
|
||||||
|
@ -2164,7 +2164,15 @@ html_begin_conversion(html_content *htmlc)
|
||||||
}
|
}
|
||||||
|
|
||||||
free(f->action);
|
free(f->action);
|
||||||
f->action = action;
|
f->action = strdup(nsurl_access(action));
|
||||||
|
nsurl_unref(action);
|
||||||
|
if (f->action == NULL) {
|
||||||
|
msg_data.error = messages_get("NoMemory");
|
||||||
|
content_broadcast(&htmlc->base, CONTENT_MSG_ERROR, msg_data);
|
||||||
|
dom_node_unref(html);
|
||||||
|
dom_node_unref(head);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/* Ensure each form has a document encoding */
|
/* Ensure each form has a document encoding */
|
||||||
if (f->document_charset == NULL) {
|
if (f->document_charset == NULL) {
|
||||||
|
|
Loading…
Reference in New Issue