From 66a98861d0fbb7cba742b63bf97268a2a619c5e0 Mon Sep 17 00:00:00 2001 From: Rutger Broekhoff Date: Sat, 10 Aug 2024 15:51:34 +0200 Subject: Some small updates here and there --- src/augmentkv6/main.cpp | 4 ++-- src/bundleparquet/spliturl.cpp | 10 ---------- src/querykv1/main.cpp | 4 ++-- src/recvkv6/main.cpp | 28 +++++++++++++++------------- 4 files changed, 19 insertions(+), 27 deletions(-) (limited to 'src') diff --git a/src/augmentkv6/main.cpp b/src/augmentkv6/main.cpp index 303721f..ae8405a 100644 --- a/src/augmentkv6/main.cpp +++ b/src/augmentkv6/main.cpp @@ -90,10 +90,10 @@ bool parse(Kv1Records &into) { parser.parse(); bool ok = true; - if (!parser.gerrors.empty()) { + if (!parser.global_errors.empty()) { ok = false; fputs("Parser reported errors:\n", stderr); - for (const auto &error : parser.gerrors) + for (const auto &error : parser.global_errors) fprintf(stderr, "- %s\n", error.c_str()); } if (!parser.warns.empty()) { diff --git a/src/bundleparquet/spliturl.cpp b/src/bundleparquet/spliturl.cpp index 91f897d..2b35d4c 100644 --- a/src/bundleparquet/spliturl.cpp +++ b/src/bundleparquet/spliturl.cpp @@ -122,16 +122,6 @@ std::optional splitUrl(const std::string &url, std::string *error) { schemehost = curl_url_dup(parsed); - // CURL BUG WORKAROUND: CURLUPART_ZONEID is NOT copied by curl_url_dup! - // ^ fixed in CURL 8.3.0 after https://curl.se/mail/lib-2023-07/0047.html - rc = curl_url_get(parsed, CURLUPART_ZONEID, &zoneid, 0); - if (rc == CURLUE_OK) { - rc = curl_url_set(schemehost, CURLUPART_ZONEID, zoneid, 0); - if (rc != CURLUE_OK) { - errs << "Could not copy zone ID to duplicated URL: " << curl_url_strerror(rc); - goto Exit; - } - } rc = curl_url_set(schemehost, CURLUPART_PORT, nullptr, 0); if (rc != CURLUE_OK) { errs << "Could not unset port in duplicated URL: " << curl_url_strerror(rc); diff --git a/src/querykv1/main.cpp b/src/querykv1/main.cpp index 9580328..11437f4 100644 --- a/src/querykv1/main.cpp +++ b/src/querykv1/main.cpp @@ -90,10 +90,10 @@ bool parse(const char *path, Kv1Records &into) { parser.parse(); bool ok = true; - if (!parser.gerrors.empty()) { + if (!parser.global_errors.empty()) { ok = false; fputs("Parser reported errors:\n", stderr); - for (const auto &error : parser.gerrors) + for (const auto &error : parser.global_errors) fprintf(stderr, "- %s\n", error.c_str()); } if (!parser.warns.empty()) { diff --git a/src/recvkv6/main.cpp b/src/recvkv6/main.cpp index 3a3338b..e8b0ba3 100644 --- a/src/recvkv6/main.cpp +++ b/src/recvkv6/main.cpp @@ -922,20 +922,22 @@ struct Kv6Parser { std::optional parse(const rapidxml::xml_document<> &doc) { std::optional msg; - for (const rapidxml::xml_node<> *node = doc.first_node(); node; node = node->next_sibling()) { - ifTmi8Element(*node, nullptr /* nss */, [&](std::string_view name, const Xmlns *nss) { - if (name == "VV_TM_PUSH") { - if (msg) { - error("Duplicated VV_TM_PUSH"); - return; - } - msg = parseVvTmPush(*node, nss); - if (!msg) { - error("Invalid VV_TM_PUSH"); + withXmlnss(doc.first_attribute(), nullptr /* nss */, [&](const Xmlns *nss) { + for (const rapidxml::xml_node<> *node = doc.first_node(); node; node = node->next_sibling()) { + ifTmi8Element(*node, nss, [&](std::string_view name, const Xmlns *node_nss) { + if (name == "VV_TM_PUSH") { + if (msg) { + error("Duplicated VV_TM_PUSH"); + return; + } + msg = parseVvTmPush(*node, node_nss); + if (!msg) { + error("Invalid VV_TM_PUSH"); + } } - } - }); - } + }); + } + }); if (!msg) error("Expected to find VV_TM_PUSH"); return msg; -- cgit v1.2.3