| Index: base/pickle.cc
|
| ===================================================================
|
| --- base/pickle.cc (revision 29613)
|
| +++ base/pickle.cc (working copy)
|
| @@ -6,8 +6,8 @@
|
|
|
| #include <stdlib.h>
|
|
|
| +#include <algorithm> // for max()
|
| #include <limits>
|
| -#include <string>
|
|
|
| //------------------------------------------------------------------------------
|
|
|
| @@ -181,6 +181,20 @@
|
| return true;
|
| }
|
|
|
| +bool Pickle::ReadUInt64(void** iter, uint64* result) const {
|
| + DCHECK(iter);
|
| + if (!*iter)
|
| + *iter = const_cast<char*>(payload());
|
| +
|
| + if (!IteratorHasRoomFor(*iter, sizeof(*result)))
|
| + return false;
|
| +
|
| + memcpy(result, *iter, sizeof(*result));
|
| +
|
| + UpdateIter(iter, sizeof(*result));
|
| + return true;
|
| +}
|
| +
|
| bool Pickle::ReadIntPtr(void** iter, intptr_t* result) const {
|
| DCHECK(iter);
|
| if (!*iter)
|
| @@ -355,7 +369,7 @@
|
| }
|
|
|
| void Pickle::TrimWriteData(int new_length) {
|
| - DCHECK(variable_buffer_offset_ != 0);
|
| + DCHECK_NE(variable_buffer_offset_, 0);
|
|
|
| // Fetch the the variable buffer size
|
| int* cur_length = reinterpret_cast<int*>(
|
|
|