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

Side by Side Diff: webrtc/base/helpers.cc

Issue 1362503003: Use suffixed {uint,int}{8,16,32,64}_t types. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: google::int32 Created 5 years, 3 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 /* 1 /*
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/base/helpers.h" 11 #include "webrtc/base/helpers.h"
12 12
13 #include <limits> 13 #include <limits>
14 14
15 #if defined(FEATURE_ENABLE_SSL) 15 #if defined(FEATURE_ENABLE_SSL)
16 #include "webrtc/base/sslconfig.h" 16 #include "webrtc/base/sslconfig.h"
17 #if defined(SSL_USE_OPENSSL) 17 #if defined(SSL_USE_OPENSSL)
18 #include <openssl/rand.h> 18 #include <openssl/rand.h>
19 #elif defined(SSL_USE_NSS_RNG) 19 #elif defined(SSL_USE_NSS_RNG)
20 // Hack: Define+undefine int64 and uint64 to avoid typedef conflict with NSS. 20 // Hack: Define+undefine int64_t and uint64_t to avoid typedef conflict with
21 // NSS.
21 // TODO(kjellander): Remove when webrtc:4497 is completed. 22 // TODO(kjellander): Remove when webrtc:4497 is completed.
22 #define uint64 foo_uint64 23 #define uint64_t foo_uint64
23 #define int64 foo_int64 24 #define int64_t foo_int64
24 #include "pk11func.h" 25 #include "pk11func.h"
25 #undef uint64 26 #undef uint64_t
26 #undef int64 27 #undef int64_t
27 #else 28 #else
28 #if defined(WEBRTC_WIN) 29 #if defined(WEBRTC_WIN)
29 #define WIN32_LEAN_AND_MEAN 30 #define WIN32_LEAN_AND_MEAN
30 #include <windows.h> 31 #include <windows.h>
31 #include <ntsecapi.h> 32 #include <ntsecapi.h>
32 #endif // WEBRTC_WIN 33 #endif // WEBRTC_WIN
33 #endif // else 34 #endif // else
34 #endif // FEATURE_ENABLED_SSL 35 #endif // FEATURE_ENABLED_SSL
35 36
36 #include "webrtc/base/base64.h" 37 #include "webrtc/base/base64.h"
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 // A test random generator, for predictable output. 154 // A test random generator, for predictable output.
154 class TestRandomGenerator : public RandomGenerator { 155 class TestRandomGenerator : public RandomGenerator {
155 public: 156 public:
156 TestRandomGenerator() : seed_(7) { 157 TestRandomGenerator() : seed_(7) {
157 } 158 }
158 ~TestRandomGenerator() override { 159 ~TestRandomGenerator() override {
159 } 160 }
160 bool Init(const void* seed, size_t len) override { return true; } 161 bool Init(const void* seed, size_t len) override { return true; }
161 bool Generate(void* buf, size_t len) override { 162 bool Generate(void* buf, size_t len) override {
162 for (size_t i = 0; i < len; ++i) { 163 for (size_t i = 0; i < len; ++i) {
163 static_cast<uint8*>(buf)[i] = static_cast<uint8>(GetRandom()); 164 static_cast<uint8_t*>(buf)[i] = static_cast<uint8_t>(GetRandom());
164 } 165 }
165 return true; 166 return true;
166 } 167 }
167 168
168 private: 169 private:
169 int GetRandom() { 170 int GetRandom() {
170 return ((seed_ = seed_ * 214013L + 2531011L) >> 16) & 0x7fff; 171 return ((seed_ = seed_ * 214013L + 2531011L) >> 16) & 0x7fff;
171 } 172 }
172 int seed_; 173 int seed_;
173 }; 174 };
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 std::string CreateRandomString(size_t len) { 221 std::string CreateRandomString(size_t len) {
221 std::string str; 222 std::string str;
222 CreateRandomString(len, &str); 223 CreateRandomString(len, &str);
223 return str; 224 return str;
224 } 225 }
225 226
226 bool CreateRandomString(size_t len, 227 bool CreateRandomString(size_t len,
227 const char* table, int table_size, 228 const char* table, int table_size,
228 std::string* str) { 229 std::string* str) {
229 str->clear(); 230 str->clear();
230 scoped_ptr<uint8[]> bytes(new uint8[len]); 231 scoped_ptr<uint8_t[]> bytes(new uint8_t[len]);
231 if (!Rng().Generate(bytes.get(), len)) { 232 if (!Rng().Generate(bytes.get(), len)) {
232 LOG(LS_ERROR) << "Failed to generate random string!"; 233 LOG(LS_ERROR) << "Failed to generate random string!";
233 return false; 234 return false;
234 } 235 }
235 str->reserve(len); 236 str->reserve(len);
236 for (size_t i = 0; i < len; ++i) { 237 for (size_t i = 0; i < len; ++i) {
237 str->push_back(table[bytes[i] % table_size]); 238 str->push_back(table[bytes[i] % table_size]);
238 } 239 }
239 return true; 240 return true;
240 } 241 }
241 242
242 bool CreateRandomString(size_t len, std::string* str) { 243 bool CreateRandomString(size_t len, std::string* str) {
243 return CreateRandomString(len, BASE64, 64, str); 244 return CreateRandomString(len, BASE64, 64, str);
244 } 245 }
245 246
246 bool CreateRandomString(size_t len, const std::string& table, 247 bool CreateRandomString(size_t len, const std::string& table,
247 std::string* str) { 248 std::string* str) {
248 return CreateRandomString(len, table.c_str(), 249 return CreateRandomString(len, table.c_str(),
249 static_cast<int>(table.size()), str); 250 static_cast<int>(table.size()), str);
250 } 251 }
251 252
252 uint32 CreateRandomId() { 253 uint32_t CreateRandomId() {
253 uint32 id; 254 uint32_t id;
254 if (!Rng().Generate(&id, sizeof(id))) { 255 if (!Rng().Generate(&id, sizeof(id))) {
255 LOG(LS_ERROR) << "Failed to generate random id!"; 256 LOG(LS_ERROR) << "Failed to generate random id!";
256 } 257 }
257 return id; 258 return id;
258 } 259 }
259 260
260 uint64 CreateRandomId64() { 261 uint64_t CreateRandomId64() {
261 return static_cast<uint64>(CreateRandomId()) << 32 | CreateRandomId(); 262 return static_cast<uint64_t>(CreateRandomId()) << 32 | CreateRandomId();
262 } 263 }
263 264
264 uint32 CreateRandomNonZeroId() { 265 uint32_t CreateRandomNonZeroId() {
265 uint32 id; 266 uint32_t id;
266 do { 267 do {
267 id = CreateRandomId(); 268 id = CreateRandomId();
268 } while (id == 0); 269 } while (id == 0);
269 return id; 270 return id;
270 } 271 }
271 272
272 double CreateRandomDouble() { 273 double CreateRandomDouble() {
273 return CreateRandomId() / (std::numeric_limits<uint32>::max() + 274 return CreateRandomId() / (std::numeric_limits<uint32_t>::max() +
274 std::numeric_limits<double>::epsilon()); 275 std::numeric_limits<double>::epsilon());
275 } 276 }
276 277
277 } // namespace rtc 278 } // namespace rtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698