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

Side by Side Diff: rlz/lib/rlz_lib.cc

Issue 1172183002: Move StartsWith[ASCII] to base namespace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@string_util3
Patch Set: merger Created 5 years, 6 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 unified diff | Download patch
« no previous file with comments | « remoting/protocol/me2me_host_authenticator_factory.cc ('k') | rlz/win/lib/machine_deal.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // A library to manage RLZ information for access-points shared 5 // A library to manage RLZ information for access-points shared
6 // across different client applications. 6 // across different client applications.
7 7
8 #include "rlz/lib/rlz_lib.h" 8 #include "rlz/lib/rlz_lib.h"
9 9
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 int calculated_crc; 415 int calculated_crc;
416 int checksum_index = response_string.find(checksum_param); 416 int checksum_index = response_string.find(checksum_param);
417 if (checksum_index >= 0) { 417 if (checksum_index >= 0) {
418 // Calculate checksum of message preceeding checksum line. 418 // Calculate checksum of message preceeding checksum line.
419 // (+ 1 to include the \n) 419 // (+ 1 to include the \n)
420 std::string message(response_string.substr(0, checksum_index + 1)); 420 std::string message(response_string.substr(0, checksum_index + 1));
421 if (!Crc32(message.c_str(), &calculated_crc)) 421 if (!Crc32(message.c_str(), &calculated_crc))
422 return false; 422 return false;
423 } else { 423 } else {
424 checksum_param = "crc32: "; // Empty response case. 424 checksum_param = "crc32: "; // Empty response case.
425 if (!StartsWithASCII(response_string, checksum_param, true)) 425 if (!base::StartsWithASCII(response_string, checksum_param, true))
426 return false; 426 return false;
427 427
428 checksum_index = 0; 428 checksum_index = 0;
429 if (!Crc32("", &calculated_crc)) 429 if (!Crc32("", &calculated_crc))
430 return false; 430 return false;
431 } 431 }
432 432
433 // Find the checksum value on the response. 433 // Find the checksum value on the response.
434 int checksum_end = response_string.find("\n", checksum_index + 1); 434 int checksum_end = response_string.find("\n", checksum_index + 1);
435 if (checksum_end < 0) 435 if (checksum_end < 0)
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
527 int line_end = line_end_index; 527 int line_end = line_end_index;
528 if (line_end < 0) 528 if (line_end < 0)
529 line_end = response_length; 529 line_end = response_length;
530 530
531 if (line_end <= line_begin) 531 if (line_end <= line_begin)
532 continue; // Empty line. 532 continue; // Empty line.
533 533
534 std::string response_line; 534 std::string response_line;
535 response_line = response_string.substr(line_begin, line_end - line_begin); 535 response_line = response_string.substr(line_begin, line_end - line_begin);
536 536
537 if (StartsWithASCII(response_line, kRlzCgiVariable, true)) { // An RLZ. 537 if (base::StartsWithASCII(response_line, kRlzCgiVariable,
538 true)) { // An RLZ.
538 int separator_index = -1; 539 int separator_index = -1;
539 if ((separator_index = response_line.find(": ")) < 0) 540 if ((separator_index = response_line.find(": ")) < 0)
540 continue; // Not a valid key-value pair. 541 continue; // Not a valid key-value pair.
541 542
542 // Get the access point. 543 // Get the access point.
543 std::string point_name = 544 std::string point_name =
544 response_line.substr(3, separator_index - rlz_cgi_length); 545 response_line.substr(3, separator_index - rlz_cgi_length);
545 AccessPoint point = NO_ACCESS_POINT; 546 AccessPoint point = NO_ACCESS_POINT;
546 if (!GetAccessPointFromName(point_name.c_str(), &point) || 547 if (!GetAccessPointFromName(point_name.c_str(), &point) ||
547 point == NO_ACCESS_POINT) 548 point == NO_ACCESS_POINT)
548 continue; // Not a valid access point. 549 continue; // Not a valid access point.
549 550
550 // Get the new RLZ. 551 // Get the new RLZ.
551 std::string rlz_value(response_line.substr(separator_index + 2)); 552 std::string rlz_value(response_line.substr(separator_index + 2));
552 base::TrimWhitespaceASCII(rlz_value, base::TRIM_LEADING, &rlz_value); 553 base::TrimWhitespaceASCII(rlz_value, base::TRIM_LEADING, &rlz_value);
553 554
554 size_t rlz_length = rlz_value.find_first_of("\r\n "); 555 size_t rlz_length = rlz_value.find_first_of("\r\n ");
555 if (rlz_length == std::string::npos) 556 if (rlz_length == std::string::npos)
556 rlz_length = rlz_value.size(); 557 rlz_length = rlz_value.size();
557 558
558 if (rlz_length > kMaxRlzLength) 559 if (rlz_length > kMaxRlzLength)
559 continue; // Too long. 560 continue; // Too long.
560 561
561 if (IsAccessPointSupported(point)) 562 if (IsAccessPointSupported(point))
562 SetAccessPointRlz(point, rlz_value.substr(0, rlz_length).c_str()); 563 SetAccessPointRlz(point, rlz_value.substr(0, rlz_length).c_str());
563 } else if (StartsWithASCII(response_line, events_variable, true)) { 564 } else if (base::StartsWithASCII(response_line, events_variable, true)) {
564 // Clear events which server parsed. 565 // Clear events which server parsed.
565 std::vector<ReturnedEvent> event_array; 566 std::vector<ReturnedEvent> event_array;
566 GetEventsFromResponseString(response_line, events_variable, &event_array); 567 GetEventsFromResponseString(response_line, events_variable, &event_array);
567 for (size_t i = 0; i < event_array.size(); ++i) { 568 for (size_t i = 0; i < event_array.size(); ++i) {
568 ClearProductEvent(product, event_array[i].access_point, 569 ClearProductEvent(product, event_array[i].access_point,
569 event_array[i].event_type); 570 event_array[i].event_type);
570 } 571 }
571 } else if (StartsWithASCII(response_line, stateful_events_variable, true)) { 572 } else if (base::StartsWithASCII(response_line, stateful_events_variable,
573 true)) {
572 // Record any stateful events the server send over. 574 // Record any stateful events the server send over.
573 std::vector<ReturnedEvent> event_array; 575 std::vector<ReturnedEvent> event_array;
574 GetEventsFromResponseString(response_line, stateful_events_variable, 576 GetEventsFromResponseString(response_line, stateful_events_variable,
575 &event_array); 577 &event_array);
576 for (size_t i = 0; i < event_array.size(); ++i) { 578 for (size_t i = 0; i < event_array.size(); ++i) {
577 RecordStatefulEvent(product, event_array[i].access_point, 579 RecordStatefulEvent(product, event_array[i].access_point,
578 event_array[i].event_type); 580 event_array[i].event_type);
579 } 581 }
580 } 582 }
581 } while (line_end_index >= 0); 583 } while (line_end_index >= 0);
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 if (cgi_string.size() >= cgi_size) 644 if (cgi_string.size() >= cgi_size)
643 return false; 645 return false;
644 646
645 strncpy(cgi, cgi_string.c_str(), cgi_size); 647 strncpy(cgi, cgi_string.c_str(), cgi_size);
646 cgi[cgi_size - 1] = 0; 648 cgi[cgi_size - 1] = 0;
647 649
648 return true; 650 return true;
649 } 651 }
650 652
651 } // namespace rlz_lib 653 } // namespace rlz_lib
OLDNEW
« no previous file with comments | « remoting/protocol/me2me_host_authenticator_factory.cc ('k') | rlz/win/lib/machine_deal.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698