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

Side by Side Diff: net/dns/dns_hosts.cc

Issue 266243004: Clang format slam. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 | Annotate | Revision Log
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 #include "net/dns/dns_hosts.h" 5 #include "net/dns/dns_hosts.h"
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 } 62 }
63 } 63 }
64 64
65 text_ = StringPiece(); 65 text_ = StringPiece();
66 return false; 66 return false;
67 } 67 }
68 68
69 // Fast-forwards the parser to the next line. Should be called if an IP 69 // Fast-forwards the parser to the next line. Should be called if an IP
70 // address doesn't parse, to avoid wasting time tokenizing hostnames that 70 // address doesn't parse, to avoid wasting time tokenizing hostnames that
71 // will be ignored. 71 // will be ignored.
72 void SkipRestOfLine() { 72 void SkipRestOfLine() { pos_ = text_.find("\n", pos_); }
73 pos_ = text_.find("\n", pos_);
74 }
75 73
76 // Returns whether the last-parsed token is an IP address (true) or a 74 // Returns whether the last-parsed token is an IP address (true) or a
77 // hostname (false). 75 // hostname (false).
78 bool token_is_ip() { return token_is_ip_; } 76 bool token_is_ip() { return token_is_ip_; }
79 77
80 // Returns the text of the last-parsed token as a StringPiece referencing 78 // Returns the text of the last-parsed token as a StringPiece referencing
81 // the same underlying memory as the StringPiece passed to the constructor. 79 // the same underlying memory as the StringPiece passed to the constructor.
82 // Returns an empty StringPiece if no token has been parsed or the end of 80 // Returns an empty StringPiece if no token has been parsed or the end of
83 // the input string has been reached. 81 // the input string has been reached.
84 const StringPiece& token() { return token_; } 82 const StringPiece& token() { return token_; }
85 83
86 private: 84 private:
87 void SkipToken() { 85 void SkipToken() { pos_ = text_.find_first_of(" \t\n\r#", pos_); }
88 pos_ = text_.find_first_of(" \t\n\r#", pos_);
89 }
90 86
91 void SkipWhitespace() { 87 void SkipWhitespace() { pos_ = text_.find_first_not_of(" \t", pos_); }
92 pos_ = text_.find_first_not_of(" \t", pos_);
93 }
94 88
95 StringPiece text_; 89 StringPiece text_;
96 const char* data_; 90 const char* data_;
97 const size_t end_; 91 const size_t end_;
98 92
99 size_t pos_; 93 size_t pos_;
100 StringPiece token_; 94 StringPiece token_;
101 bool token_is_ip_; 95 bool token_is_ip_;
102 96
103 DISALLOW_COPY_AND_ASSIGN(HostsParser); 97 DISALLOW_COPY_AND_ASSIGN(HostsParser);
104 }; 98 };
105 99
106
107
108 void ParseHosts(const std::string& contents, DnsHosts* dns_hosts) { 100 void ParseHosts(const std::string& contents, DnsHosts* dns_hosts) {
109 CHECK(dns_hosts); 101 CHECK(dns_hosts);
110 DnsHosts& hosts = *dns_hosts; 102 DnsHosts& hosts = *dns_hosts;
111 103
112 StringPiece ip_text; 104 StringPiece ip_text;
113 IPAddressNumber ip; 105 IPAddressNumber ip;
114 AddressFamily family = ADDRESS_FAMILY_IPV4; 106 AddressFamily family = ADDRESS_FAMILY_IPV4;
115 HostsParser parser(contents); 107 HostsParser parser(contents);
116 while (parser.Advance()) { 108 while (parser.Advance()) {
117 if (parser.token_is_ip()) { 109 if (parser.token_is_ip()) {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 151
160 std::string contents; 152 std::string contents;
161 if (!base::ReadFileToString(path, &contents)) 153 if (!base::ReadFileToString(path, &contents))
162 return false; 154 return false;
163 155
164 ParseHosts(contents, dns_hosts); 156 ParseHosts(contents, dns_hosts);
165 return true; 157 return true;
166 } 158 }
167 159
168 } // namespace net 160 } // namespace net
169
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698