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

Side by Side Diff: net/base/ip_address_number.cc

Issue 1158923005: Use the exact-width integer types defined in <stdint.h> rather than (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Tweak comments. Exclude mime_sniffer*. Rebase. 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
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/base/ip_address_number.h" 5 #include "net/base/ip_address_number.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "base/strings/string_piece.h" 9 #include "base/strings/string_piece.h"
10 #include "base/strings/string_split.h" 10 #include "base/strings/string_split.h"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 if (!array) 85 if (!array)
86 return false; 86 return false;
87 size_t width = host_addr.size() + 1; 87 size_t width = host_addr.size() + 1;
88 for (size_t i = 0; i < array_size; ++i, array += width) { 88 for (size_t i = 0; i < array_size; ++i, array += width) {
89 if (IPNumberPrefixCheck(host_addr, array, array[width-1])) 89 if (IPNumberPrefixCheck(host_addr, array, array[width-1]))
90 return true; 90 return true;
91 } 91 }
92 return false; 92 return false;
93 } 93 }
94 94
95 std::string IPAddressToString(const uint8* address, 95 std::string IPAddressToString(const uint8_t* address, size_t address_len) {
96 size_t address_len) {
97 std::string str; 96 std::string str;
98 url::StdStringCanonOutput output(&str); 97 url::StdStringCanonOutput output(&str);
99 98
100 if (address_len == kIPv4AddressSize) { 99 if (address_len == kIPv4AddressSize) {
101 url::AppendIPv4Address(address, &output); 100 url::AppendIPv4Address(address, &output);
102 } else if (address_len == kIPv6AddressSize) { 101 } else if (address_len == kIPv6AddressSize) {
103 url::AppendIPv6Address(address, &output); 102 url::AppendIPv6Address(address, &output);
104 } else { 103 } else {
105 CHECK(false) << "Invalid IP address with length: " << address_len; 104 CHECK(false) << "Invalid IP address with length: " << address_len;
106 } 105 }
107 106
108 output.Complete(); 107 output.Complete();
109 return str; 108 return str;
110 } 109 }
111 110
112 std::string IPAddressToStringWithPort(const uint8* address, 111 std::string IPAddressToStringWithPort(const uint8_t* address,
113 size_t address_len, 112 size_t address_len,
114 uint16 port) { 113 uint16_t port) {
115 std::string address_str = IPAddressToString(address, address_len); 114 std::string address_str = IPAddressToString(address, address_len);
116 115
117 if (address_len == kIPv6AddressSize) { 116 if (address_len == kIPv6AddressSize) {
118 // Need to bracket IPv6 addresses since they contain colons. 117 // Need to bracket IPv6 addresses since they contain colons.
119 return base::StringPrintf("[%s]:%d", address_str.c_str(), port); 118 return base::StringPrintf("[%s]:%d", address_str.c_str(), port);
120 } 119 }
121 return base::StringPrintf("%s:%d", address_str.c_str(), port); 120 return base::StringPrintf("%s:%d", address_str.c_str(), port);
122 } 121 }
123 122
124 std::string IPAddressToString(const IPAddressNumber& addr) { 123 std::string IPAddressToString(const IPAddressNumber& addr) {
125 return IPAddressToString(&addr.front(), addr.size()); 124 return IPAddressToString(&addr.front(), addr.size());
126 } 125 }
127 126
128 std::string IPAddressToStringWithPort(const IPAddressNumber& addr, 127 std::string IPAddressToStringWithPort(const IPAddressNumber& addr,
129 uint16 port) { 128 uint16_t port) {
130 return IPAddressToStringWithPort(&addr.front(), addr.size(), port); 129 return IPAddressToStringWithPort(&addr.front(), addr.size(), port);
131 } 130 }
132 131
133 std::string IPAddressToPackedString(const IPAddressNumber& addr) { 132 std::string IPAddressToPackedString(const IPAddressNumber& addr) {
134 return std::string(reinterpret_cast<const char *>(&addr.front()), 133 return std::string(reinterpret_cast<const char *>(&addr.front()),
135 addr.size()); 134 addr.size());
136 } 135 }
137 136
138 bool ParseURLHostnameToNumber(const std::string& hostname, 137 bool ParseURLHostnameToNumber(const std::string& hostname,
139 IPAddressNumber* ip_number) { 138 IPAddressNumber* ip_number) {
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 } 286 }
288 return a1.size() * CHAR_BIT; 287 return a1.size() * CHAR_BIT;
289 } 288 }
290 289
291 unsigned MaskPrefixLength(const IPAddressNumber& mask) { 290 unsigned MaskPrefixLength(const IPAddressNumber& mask) {
292 IPAddressNumber all_ones(mask.size(), 0xFF); 291 IPAddressNumber all_ones(mask.size(), 0xFF);
293 return CommonPrefixLength(mask, all_ones); 292 return CommonPrefixLength(mask, all_ones);
294 } 293 }
295 294
296 } // namespace net 295 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698