summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNikita Ofitserov <himikof@gmail.com>2022-08-23 20:27:39 +0300
committerGitHub <noreply@github.com>2022-08-23 20:27:39 +0300
commit15a96209cd0a25fea4398b8c6f6ccd3a488829c9 (patch)
treea53917f4b3dee52fd80f451159806610c4dc121f /src
parent05f3c479883b3eed34880fbdbd9ec79c535d369c (diff)
Fix Metalink4 parsing with foreign namespaces
Rename local checkNsUri helper function to make boolean conditions easily readable, as the issue was not apparent with the old helper function name.
Diffstat (limited to 'src')
-rw-r--r--src/MetalinkParserStateV4Impl.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/MetalinkParserStateV4Impl.cc b/src/MetalinkParserStateV4Impl.cc
index 43fdeec0..4fee5c33 100644
--- a/src/MetalinkParserStateV4Impl.cc
+++ b/src/MetalinkParserStateV4Impl.cc
@@ -47,7 +47,7 @@ namespace aria2 {
const char METALINK4_NAMESPACE_URI[] = "urn:ietf:params:xml:ns:metalink";
namespace {
-bool checkNsUri(const char* nsUri)
+bool isMetalink4Ns(const char* nsUri)
{
return nsUri && strcmp(nsUri, METALINK4_NAMESPACE_URI) == 0;
}
@@ -57,7 +57,7 @@ void MetalinkMetalinkParserStateV4::beginElement(
MetalinkParserStateMachine* psm, const char* localname, const char* prefix,
const char* nsUri, const std::vector<XmlAttr>& attrs)
{
- if (checkNsUri(nsUri) && strcmp(localname, "file") != 0) {
+ if (!isMetalink4Ns(nsUri) || strcmp(localname, "file") != 0) {
psm->setSkipTagState();
return;
}
@@ -83,7 +83,7 @@ void FileMetalinkParserStateV4::beginElement(MetalinkParserStateMachine* psm,
const char* nsUri,
const std::vector<XmlAttr>& attrs)
{
- if (!checkNsUri(nsUri)) {
+ if (!isMetalink4Ns(nsUri)) {
psm->setSkipTagState();
}
else if (strcmp(localname, "size") == 0) {
@@ -293,7 +293,7 @@ void PiecesMetalinkParserStateV4::beginElement(
MetalinkParserStateMachine* psm, const char* localname, const char* prefix,
const char* nsUri, const std::vector<XmlAttr>& attrs)
{
- if (checkNsUri(nsUri) && strcmp(localname, "hash") == 0) {
+ if (isMetalink4Ns(nsUri) && strcmp(localname, "hash") == 0) {
psm->setPieceHashStateV4();
}
else {