Index: printing/backend/cups_helper.cc |
diff --git a/printing/backend/cups_helper.cc b/printing/backend/cups_helper.cc |
index c0271b2a2872f46b9eeb74b73f9b555a6a86aa89..79e33fcf705b82788a3b073e6acb8d8b860edadb 100644 |
--- a/printing/backend/cups_helper.cc |
+++ b/printing/backend/cups_helper.cc |
@@ -49,48 +49,45 @@ void ParseLpOptions(const base::FilePath& filepath, |
const char kDefault[] = "default"; |
const size_t kDestLen = sizeof(kDest) - 1; |
const size_t kDefaultLen = sizeof(kDefault) - 1; |
- std::vector<std::string> lines; |
- base::SplitString(content, '\n', &lines); |
- for (size_t i = 0; i < lines.size(); ++i) { |
- std::string line = lines[i]; |
- if (line.empty()) |
- continue; |
- |
- if (base::strncasecmp (line.c_str(), kDefault, kDefaultLen) == 0 && |
+ for (base::StringPiece line : |
+ base::SplitStringPiece(content, "\n", base::KEEP_WHITESPACE, |
+ base::SPLIT_WANT_NONEMPTY)) { |
+ if (base::StartsWith(line, base::StringPiece(kDefault, kDefaultLen), |
+ base::CompareCase::INSENSITIVE_ASCII) && |
isspace(line[kDefaultLen])) { |
line = line.substr(kDefaultLen); |
- } else if (base::strncasecmp (line.c_str(), kDest, kDestLen) == 0 && |
+ } else if (base::StartsWith(line, base::StringPiece(kDest, kDestLen), |
+ base::CompareCase::INSENSITIVE_ASCII) && |
isspace(line[kDestLen])) { |
line = line.substr(kDestLen); |
} else { |
continue; |
} |
- base::TrimWhitespaceASCII(line, base::TRIM_ALL, &line); |
+ line = base::TrimWhitespaceASCII(line, base::TRIM_ALL); |
if (line.empty()) |
continue; |
size_t space_found = line.find(' '); |
- if (space_found == std::string::npos) |
+ if (space_found == base::StringPiece::npos) |
continue; |
- std::string name = line.substr(0, space_found); |
+ base::StringPiece name = line.substr(0, space_found); |
if (name.empty()) |
continue; |
- if (base::strncasecmp(printer_name.c_str(), name.c_str(), |
- name.length()) != 0) { |
+ if (!base::EqualsCaseInsensitiveASCII(printer_name, name)) |
continue; // This is not the required printer. |
- } |
line = line.substr(space_found + 1); |
// Remove extra spaces. |
- base::TrimWhitespaceASCII(line, base::TRIM_ALL, &line); |
+ line = base::TrimWhitespaceASCII(line, base::TRIM_ALL); |
if (line.empty()) |
continue; |
- // Parse the selected printer custom options. |
- *num_options = cupsParseOptions(line.c_str(), 0, options); |
+ // Parse the selected printer custom options. Need to pass a |
+ // null-terminated string. |
+ *num_options = cupsParseOptions(line.as_string().c_str(), 0, options); |
} |
} |
@@ -157,9 +154,12 @@ bool GetBasicColorModelSettings(ppd_file_t* ppd, |
if (marked_choice) { |
*color_is_default = |
- (base::strcasecmp(marked_choice->choice, printing::kBlack) != 0) && |
- (base::strcasecmp(marked_choice->choice, printing::kGray) != 0) && |
- (base::strcasecmp(marked_choice->choice, printing::kGrayscale) != 0); |
+ !base::EqualsCaseInsensitiveASCII(marked_choice->choice, |
+ printing::kBlack) && |
+ !base::EqualsCaseInsensitiveASCII(marked_choice->choice, |
+ printing::kGray) && |
+ !base::EqualsCaseInsensitiveASCII(marked_choice->choice, |
+ printing::kGrayscale); |
} |
return true; |
} |
@@ -190,10 +190,12 @@ bool GetPrintOutModeColorSettings(ppd_file_t* ppd, |
printout_mode->defchoice); |
} |
if (printout_mode_choice) { |
- if ((base::strcasecmp(printout_mode_choice->choice, |
- printing::kNormalGray) == 0) || |
- (base::strcasecmp(printout_mode_choice->choice, kHighGray) == 0) || |
- (base::strcasecmp(printout_mode_choice->choice, kDraftGray) == 0)) { |
+ if (base::EqualsCaseInsensitiveASCII(printout_mode_choice->choice, |
+ printing::kNormalGray) || |
+ base::EqualsCaseInsensitiveASCII(printout_mode_choice->choice, |
+ kHighGray) || |
+ base::EqualsCaseInsensitiveASCII(printout_mode_choice->choice, |
+ kDraftGray)) { |
*color_model_for_black = printing::PRINTOUTMODE_NORMAL_GRAY; |
*color_is_default = false; |
} |
@@ -223,8 +225,8 @@ bool GetColorModeSettings(ppd_file_t* ppd, |
} |
if (mode_choice) { |
- *color_is_default = |
- (base::strcasecmp(mode_choice->choice, printing::kColor) == 0); |
+ *color_is_default = base::EqualsCaseInsensitiveASCII( |
+ mode_choice->choice, printing::kColor); |
} |
return true; |
} |
@@ -249,8 +251,8 @@ bool GetHPColorSettings(ppd_file_t* ppd, |
color_mode_option->defchoice); |
} |
if (mode_choice) { |
- *color_is_default = |
- (base::strcasecmp(mode_choice->choice, printing::kColor) == 0); |
+ *color_is_default = base::EqualsCaseInsensitiveASCII( |
+ mode_choice->choice, printing::kColor); |
} |
return true; |
} |
@@ -279,8 +281,8 @@ bool GetProcessColorModelSettings(ppd_file_t* ppd, |
} |
if (mode_choice) { |
- *color_is_default = |
- (base::strcasecmp(mode_choice->choice, printing::kGreyscale) != 0); |
+ *color_is_default = !base::EqualsCaseInsensitiveASCII( |
+ mode_choice->choice, printing::kGreyscale); |
} |
return true; |
} |
@@ -383,7 +385,7 @@ bool ParsePpdCapabilities( |
if (duplex_choice) { |
caps.duplex_capable = true; |
- if (base::strcasecmp(duplex_choice->choice, kDuplexNone) != 0) |
+ if (!base::EqualsCaseInsensitiveASCII(duplex_choice->choice, kDuplexNone)) |
caps.duplex_default = printing::LONG_EDGE; |
else |
caps.duplex_default = printing::SIMPLEX; |