diff --git a/include/stdex/html.hpp b/include/stdex/html.hpp
index bc23a0bff..56574165b 100644
--- a/include/stdex/html.hpp
+++ b/include/stdex/html.hpp
@@ -1236,45 +1236,45 @@ namespace stdex
{
stdex_assert(attr_name || !num_chars);
switch (code) {
- case element_t::a: return !stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX);
- case element_t::applet: return !stdex::strnicmp(attr_name, num_chars, "code", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "codebase", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
- case element_t::area: return !stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX);
- case element_t::base: return !stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX);
- case element_t::bgsound: return !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
- case element_t::blockquote: return !stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX);
- case element_t::body: return !stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX);
- case element_t::comment: return !stdex::strnicmp(attr_name, num_chars, "data", SIZE_MAX);
- case element_t::del: return !stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX);
- case element_t::embed: return !stdex::strnicmp(attr_name, num_chars, "pluginspage", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
- case element_t::form: return !stdex::strnicmp(attr_name, num_chars, "action", SIZE_MAX);
- case element_t::frame: return !stdex::strnicmp(attr_name, num_chars, "longdesc", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
- case element_t::head: return !stdex::strnicmp(attr_name, num_chars, "profile", SIZE_MAX);
- case element_t::iframe: return !stdex::strnicmp(attr_name, num_chars, "longdesc", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
- case element_t::img: return !stdex::strnicmp(attr_name, num_chars, "longdesc", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "lowsrc", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "usemap", SIZE_MAX);
- case element_t::input: return !stdex::strnicmp(attr_name, num_chars, "lowsrc", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "usemap", SIZE_MAX);
- case element_t::ins: return !stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX);
- case element_t::link: return !stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX);
- case element_t::object: return !stdex::strnicmp(attr_name, num_chars, "basehref", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "classid", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "code", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "codebase", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "data", SIZE_MAX) ||
- !stdex::strnicmp(attr_name, num_chars, "usemap", SIZE_MAX);
- case element_t::q: return !stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX);
- case element_t::script: return !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
- case element_t::table: return !stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX);
- case element_t::td: return !stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX);
- case element_t::th: return !stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX);
+ case element_t::a: return stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX) == 0;
+ case element_t::applet: return stdex::strnicmp(attr_name, num_chars, "code", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "codebase", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) == 0;
+ case element_t::area: return stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX) == 0;
+ case element_t::base: return stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX) == 0;
+ case element_t::bgsound: return stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) == 0;
+ case element_t::blockquote: return stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX) == 0;
+ case element_t::body: return stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX) == 0;
+ case element_t::comment: return stdex::strnicmp(attr_name, num_chars, "data", SIZE_MAX) == 0;
+ case element_t::del: return stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX) == 0;
+ case element_t::embed: return stdex::strnicmp(attr_name, num_chars, "pluginspage", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) == 0;
+ case element_t::form: return stdex::strnicmp(attr_name, num_chars, "action", SIZE_MAX) == 0;
+ case element_t::frame: return stdex::strnicmp(attr_name, num_chars, "longdesc", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) == 0;
+ case element_t::head: return stdex::strnicmp(attr_name, num_chars, "profile", SIZE_MAX) == 0;
+ case element_t::iframe: return stdex::strnicmp(attr_name, num_chars, "longdesc", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) == 0;
+ case element_t::img: return stdex::strnicmp(attr_name, num_chars, "longdesc", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "lowsrc", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "usemap", SIZE_MAX) == 0;
+ case element_t::input: return stdex::strnicmp(attr_name, num_chars, "lowsrc", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "usemap", SIZE_MAX) == 0;
+ case element_t::ins: return stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX) == 0;
+ case element_t::link: return stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX) == 0;
+ case element_t::object: return stdex::strnicmp(attr_name, num_chars, "basehref", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "classid", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "code", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "codebase", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "data", SIZE_MAX) == 0 ||
+ stdex::strnicmp(attr_name, num_chars, "usemap", SIZE_MAX) == 0;
+ case element_t::q: return stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX) == 0;
+ case element_t::script: return stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) == 0;
+ case element_t::table: return stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX) == 0;
+ case element_t::td: return stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX) == 0;
+ case element_t::th: return stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX) == 0;
default: return false;
}
}
@@ -1290,17 +1290,17 @@ namespace stdex
static bool is_localizable(element_t code, const T* attr_name, size_t num_chars)
{
stdex_assert(attr_name || !num_chars);
- if (!stdex::strnicmp(attr_name, num_chars, "title", SIZE_MAX))
+ if (stdex::strnicmp(attr_name, num_chars, "title", SIZE_MAX) == 0)
return true;
switch (code) {
- case element_t::applet: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
- case element_t::area: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
- case element_t::img: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
- case element_t::input: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
- case element_t::object: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
- case element_t::table: return !stdex::strnicmp(attr_name, num_chars, "summary", SIZE_MAX);
- case element_t::td: return !stdex::strnicmp(attr_name, num_chars, "abbr", SIZE_MAX);
- case element_t::th: return !stdex::strnicmp(attr_name, num_chars, "abbr", SIZE_MAX);
+ case element_t::applet: return stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX) == 0;
+ case element_t::area: return stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX) == 0;
+ case element_t::img: return stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX) == 0;
+ case element_t::input: return stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX) == 0;
+ case element_t::object: return stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX) == 0;
+ case element_t::table: return stdex::strnicmp(attr_name, num_chars, "summary", SIZE_MAX) == 0;
+ case element_t::td: return stdex::strnicmp(attr_name, num_chars, "abbr", SIZE_MAX) == 0;
+ case element_t::th: return stdex::strnicmp(attr_name, num_chars, "abbr", SIZE_MAX) == 0;
default: return false;
}
}
@@ -1778,10 +1778,10 @@ namespace stdex
bool is_content_type = false;
stdex::parser::html_attribute* content_attr = nullptr;
for (auto& attr : e->attributes) {
- if (!stdex::strnicmp(source + attr.name.start, attr.name.size(), "http-equiv", SIZE_MAX) &&
- !stdex::strnicmp(source + attr.value.start, attr.value.size(), "content-type", SIZE_MAX))
+ if (stdex::strnicmp(source + attr.name.start, attr.name.size(), "http-equiv", SIZE_MAX) == 0 &&
+ stdex::strnicmp(source + attr.value.start, attr.value.size(), "content-type", SIZE_MAX) == 0)
is_content_type = true;
- else if (!stdex::strnicmp(source + attr.name.start, attr.name.size(), "content", SIZE_MAX))
+ else if (stdex::strnicmp(source + attr.name.start, attr.name.size(), "content", SIZE_MAX) == 0)
content_attr = &attr;
}
if (is_content_type && content_attr) {
@@ -1809,7 +1809,7 @@ namespace stdex
auto starting_tag = m_element_stack[j];
stdex_assert(starting_tag && starting_tag->type == stdex::parser::html_sequence_t::element_start);
if (starting_tag->code == e->code ||
- (starting_tag->code == element_t::unknown && e->code == element_t::unknown && !stdex::strnicmp(source + starting_tag->name.start, starting_tag->name.size(), source + e->name.start, e->name.size())))
+ (starting_tag->code == element_t::unknown && e->code == element_t::unknown && stdex::strnicmp(source + starting_tag->name.start, starting_tag->name.size(), source + e->name.start, e->name.size()) == 0))
{
e->start = starting_tag;
e->parent = starting_tag->parent;
@@ -1824,9 +1824,9 @@ namespace stdex
}
case stdex::parser::html_sequence_t::declaration:
if (m_tag.attributes.size() > 3 &&
- !stdex::strnicmp(source + m_tag.attributes[0].name.start, m_tag.attributes[0].name.size(), "entity", SIZE_MAX))
+ stdex::strnicmp(source + m_tag.attributes[0].name.start, m_tag.attributes[0].name.size(), "entity", SIZE_MAX) == 0)
{
- if (!stdex::strncmp(source + m_tag.attributes[1].name.start, m_tag.attributes[1].name.size(), "%", SIZE_MAX) &&
+ if (stdex::strncmp(source + m_tag.attributes[1].name.start, m_tag.attributes[1].name.size(), "%", SIZE_MAX) == 0 &&
stdex::strncmp(source + m_tag.attributes[3].name.start, m_tag.attributes[3].name.size(), "SYSTEM", SIZE_MAX) &&
stdex::strncmp(source + m_tag.attributes[3].name.start, m_tag.attributes[3].name.size(), "PUBLIC", SIZE_MAX))
{
@@ -1916,7 +1916,7 @@ namespace stdex
auto& e = m_entities[j];
size_t entity_size = e->name.size();
if (i + entity_size + 1 < num_chars &&
- !stdex::strncmp(input + i + 1, source + e->name.start, entity_size) &&
+ stdex::strncmp(input + i + 1, source + e->name.start, entity_size) == 0 &&
input[i + entity_size + 1] == ';')
{
output += e->value;