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

Side by Side Diff: base/pickle.cc

Issue 6488010: Propagate the remote socket address to URLRequest and to ViewHostMsg_FrameNavigate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use HostPortPair everywhere Created 9 years, 10 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "base/pickle.h" 5 #include "base/pickle.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 8
9 #include <algorithm> // for max() 9 #include <algorithm> // for max()
10 #include <limits> 10 #include <limits>
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 150
151 // TODO(jar): http://crbug.com/13108 Pickle should be cleaned up, and not 151 // TODO(jar): http://crbug.com/13108 Pickle should be cleaned up, and not
152 // dependent on alignment. 152 // dependent on alignment.
153 // Next line is otherwise the same as: memcpy(result, *iter, sizeof(*result)); 153 // Next line is otherwise the same as: memcpy(result, *iter, sizeof(*result));
154 *result = *reinterpret_cast<size_t*>(*iter); 154 *result = *reinterpret_cast<size_t*>(*iter);
155 155
156 UpdateIter(iter, sizeof(*result)); 156 UpdateIter(iter, sizeof(*result));
157 return true; 157 return true;
158 } 158 }
159 159
160 bool Pickle::ReadUInt16(void** iter, uint16* result) const {
161 DCHECK(iter);
162 if (!*iter)
163 *iter = const_cast<char*>(payload());
164
165 if (!IteratorHasRoomFor(*iter, sizeof(*result)))
166 return false;
167
168 memcpy(result, *iter, sizeof(*result));
169
170 UpdateIter(iter, sizeof(*result));
171 return true;
172 }
173
160 bool Pickle::ReadUInt32(void** iter, uint32* result) const { 174 bool Pickle::ReadUInt32(void** iter, uint32* result) const {
161 DCHECK(iter); 175 DCHECK(iter);
162 if (!*iter) 176 if (!*iter)
163 *iter = const_cast<char*>(payload()); 177 *iter = const_cast<char*>(payload());
164 178
165 if (!IteratorHasRoomFor(*iter, sizeof(*result))) 179 if (!IteratorHasRoomFor(*iter, sizeof(*result)))
166 return false; 180 return false;
167 181
168 memcpy(result, *iter, sizeof(*result)); 182 memcpy(result, *iter, sizeof(*result));
169 183
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 return NULL; 424 return NULL;
411 425
412 const Header* hdr = reinterpret_cast<const Header*>(start); 426 const Header* hdr = reinterpret_cast<const Header*>(start);
413 const char* payload_base = start + header_size; 427 const char* payload_base = start + header_size;
414 const char* payload_end = payload_base + hdr->payload_size; 428 const char* payload_end = payload_base + hdr->payload_size;
415 if (payload_end < payload_base) 429 if (payload_end < payload_base)
416 return NULL; 430 return NULL;
417 431
418 return (payload_end > end) ? NULL : payload_end; 432 return (payload_end > end) ? NULL : payload_end;
419 } 433 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698