From a98d978cc68dd22bf7135c1e52e98322472f38bb Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Fri, 17 Nov 2023 20:51:50 -0600 Subject: [PATCH] Update dependency libxml2 to v2.11.5 --- conanfile.py | 2 +- wxdata/source/scwx/network/dir_list.cpp | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/conanfile.py b/conanfile.py index 028e0685..d86d8380 100644 --- a/conanfile.py +++ b/conanfile.py @@ -11,7 +11,7 @@ class SupercellWxConan(ConanFile): "glm/cci.20230113", "gtest/1.14.0", "libcurl/8.4.0", - "libxml2/2.10.4", + "libxml2/2.11.5", "openssl/3.1.4", "spdlog/1.12.0", "sqlite3/3.44.0", diff --git a/wxdata/source/scwx/network/dir_list.cpp b/wxdata/source/scwx/network/dir_list.cpp index cfec0d79..3c6dabd4 100644 --- a/wxdata/source/scwx/network/dir_list.cpp +++ b/wxdata/source/scwx/network/dir_list.cpp @@ -100,11 +100,20 @@ std::vector DirList(const std::string& baseUrl) } else { - htmlDocPtr doc = htmlSAXParseDoc( - reinterpret_cast(response.text.c_str()), - nullptr, - &saxHandler_, - &saxData); + htmlParserCtxtPtr ctxt = htmlNewSAXParserCtxt(&saxHandler_, &saxData); + htmlDocPtr doc = nullptr; + + if (ctxt != nullptr) + { + doc = htmlCtxtReadDoc( + ctxt, + reinterpret_cast(response.text.c_str()), + baseUrl.c_str(), + nullptr, + HTML_PARSE_NONET); + htmlFreeParserCtxt(ctxt); + } + if (doc != nullptr) { xmlFreeDoc(doc);