Index: debugger/rsp/rsp_blob_utils.h |
=================================================================== |
--- debugger/rsp/rsp_blob_utils.h (revision 956) |
+++ debugger/rsp/rsp_blob_utils.h (working copy) |
@@ -42,6 +42,28 @@ |
return (i > 0); |
} |
+ /// leading zeroes are ignored |
+ template <class T> |
+ debug::Blob& PushIntToBack(T value, debug::Blob* blob) { |
+ if (NULL == blob) |
+ return *blob; |
mmortensen
2011/07/21 17:19:33
If blob is NULL, we don't want to deference it.
In
garianov1
2011/07/21 17:31:45
changed to assert(NULL != blob);
|
+ |
+ debug::Blob tmp; |
+ for (size_t i = 0; i < sizeof(value); i++) { |
+ uint8_t x = (value & 0xFF); |
+ tmp.PushFront(debug::Blob::GetHexDigit(x, 0)); |
+ tmp.PushFront(debug::Blob::GetHexDigit(x, 1)); |
+ if (sizeof(value) > 1) |
+ value = value >> 8; |
+ } |
+ tmp.PopMatchingBytesFromFront(debug::Blob().FromString("0")); |
+ if (0 == tmp.size()) |
+ blob->PushBack('0'); |
+ else |
+ blob->Append(tmp); |
+ return *blob; |
+ } |
+ |
/// removes space characters from front and from back of the blob. |
/// @param blob blob to perform operation on |
void RemoveSpacesFromBothEnds(debug::Blob* blob); |