From 2687282d56dfef19e26e9639a5c0cd81de957e22 Mon Sep 17 00:00:00 2001
From: Peter Shkenev <petershh@disroot.org>
Date: Sat, 10 Aug 2024 14:01:59 +0100
Subject: [PATCH] fixes libdom build on gcc 14 due to calloc-transposed-args
 warning

Upstream-Status: Backport [https://github.com/netsurf-browser/libdom/commit/2687282d56dfef19e26e9639a5c0cd81de957e22]
Signed-off-by: Ismael Luceno <ismael@sourcemage.org>
---
 bindings/xml/expat_xmlparser.c | 2 +-
 src/core/node.c                | 2 +-
 src/html/html_document.c       | 5 ++---
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/bindings/xml/expat_xmlparser.c b/bindings/xml/expat_xmlparser.c
index a63ccf19..ba5b4e76 100644
--- a/bindings/xml/expat_xmlparser.c
+++ b/bindings/xml/expat_xmlparser.c
@@ -484,7 +484,7 @@ dom_xml_parser_create(const char *enc, const char *int_enc,
 
 	UNUSED(int_enc);
 
-	parser = calloc(sizeof(*parser), 1);
+	parser = calloc(1, sizeof(*parser));
 	if (parser == NULL) {
 		msg(DOM_MSG_CRITICAL, mctx, "No memory for parser");
 		return NULL;
diff --git a/src/core/node.c b/src/core/node.c
index da179c3c..9eabd2f8 100644
--- a/src/core/node.c
+++ b/src/core/node.c
@@ -2379,7 +2379,7 @@ static inline dom_exception _dom_event_targets_expand(
 	if (t == NULL) {
 		/* Create the event target list */
 		size = 64;
-		t = calloc(sizeof(*t), size);
+		t = calloc(size, sizeof(*t));
 		if (t == NULL) {
 			return DOM_NO_MEM_ERR;
 		}
diff --git a/src/html/html_document.c b/src/html/html_document.c
index cf3c25db..71b693a4 100644
--- a/src/html/html_document.c
+++ b/src/html/html_document.c
@@ -134,13 +134,12 @@ dom_exception _dom_html_document_initialise(dom_html_document *doc,
 	doc->cookie = NULL;
 	doc->body = NULL;
 
-	doc->memoised = calloc(sizeof(dom_string *), hds_COUNT);
+	doc->memoised = calloc(hds_COUNT, sizeof(dom_string *));
 	if (doc->memoised == NULL) {
 		error = DOM_NO_MEM_ERR;
 		goto out;
 	}
-	doc->elements = calloc(sizeof(dom_string *),
-			DOM_HTML_ELEMENT_TYPE__COUNT);
+	doc->elements = calloc(DOM_HTML_ELEMENT_TYPE__COUNT, sizeof(dom_string *));
 	if (doc->elements == NULL) {
 		error = DOM_NO_MEM_ERR;
 		goto out;

