Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3040)

Unified Diff: net/base/mime_sniffer.cc

Issue 1224553010: Replace base::str[n]casecmp with helper functions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/services/network/http_connection_impl.cc ('k') | net/base/mime_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/mime_sniffer.cc
diff --git a/net/base/mime_sniffer.cc b/net/base/mime_sniffer.cc
index 907c7c4f0998947e2c91a41dbbc1f29e75d7de88..668e89831f80837dd25793cc155835143eb14692 100644
--- a/net/base/mime_sniffer.cc
+++ b/net/base/mime_sniffer.cc
@@ -344,8 +344,10 @@ static bool MatchMagicNumber(const char* content,
bool match = false;
if (magic_entry.is_string) {
if (content_strlen >= len) {
- // String comparisons are case-insensitive
- match = (base::strncasecmp(magic_entry.magic, content, len) == 0);
+ // Do a case-insensitive prefix comparison.
+ DCHECK_EQ(strlen(magic_entry.magic), len);
+ match = base::EqualsCaseInsensitiveASCII(magic_entry.magic,
+ base::StringPiece(content, len));
}
} else {
if (size >= len) {
@@ -462,11 +464,12 @@ static bool SniffForOfficeDocs(const char* content,
if (url_path.length() < kOfficeExtensionTypes[i].extension_len)
continue;
- const char* extension =
- &url_path[url_path.length() - kOfficeExtensionTypes[i].extension_len];
-
- if (0 == base::strncasecmp(extension, kOfficeExtensionTypes[i].extension,
- kOfficeExtensionTypes[i].extension_len)) {
+ base::StringPiece extension = base::StringPiece(url_path).substr(
+ url_path.length() - kOfficeExtensionTypes[i].extension_len);
+ if (base::EqualsCaseInsensitiveASCII(
+ extension,
+ base::StringPiece(kOfficeExtensionTypes[i].extension,
+ kOfficeExtensionTypes[i].extension_len))) {
type = kOfficeExtensionTypes[i].doc_type;
break;
}
@@ -608,14 +611,22 @@ static bool SniffXML(const char* content,
if (!pos)
return false;
- if ((pos + sizeof("<?xml") - 1 <= end) &&
- (base::strncasecmp(pos, "<?xml", sizeof("<?xml") - 1) == 0)) {
+ static const char kXmlPrefix[] = "<?xml";
+ static const size_t kXmlPrefixLength = arraysize(kXmlPrefix) - 1;
+ static const char kDocTypePrefix[] = "<!DOCTYPE";
+ static const size_t kDocTypePrefixLength = arraysize(kDocTypePrefix) - 1;
+
+ if ((pos + kXmlPrefixLength <= end) &&
+ base::EqualsCaseInsensitiveASCII(
+ base::StringPiece(pos, kXmlPrefixLength),
+ base::StringPiece(kXmlPrefix, kXmlPrefixLength))) {
// Skip XML declarations.
++pos;
continue;
- } else if ((pos + sizeof("<!DOCTYPE") - 1 <= end) &&
- (base::strncasecmp(pos, "<!DOCTYPE", sizeof("<!DOCTYPE") - 1) ==
- 0)) {
+ } else if ((pos + kDocTypePrefixLength <= end) &&
+ base::EqualsCaseInsensitiveASCII(
+ base::StringPiece(pos, kDocTypePrefixLength),
+ base::StringPiece(kDocTypePrefix, kDocTypePrefixLength))) {
// Skip DOCTYPE declarations.
++pos;
continue;
« no previous file with comments | « mojo/services/network/http_connection_impl.cc ('k') | net/base/mime_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698