aboutsummaryrefslogtreecommitdiff
path: root/src/processor/module_serializer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/processor/module_serializer.cc')
-rw-r--r--src/processor/module_serializer.cc21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/processor/module_serializer.cc b/src/processor/module_serializer.cc
index d0445094..05519958 100644
--- a/src/processor/module_serializer.cc
+++ b/src/processor/module_serializer.cc
@@ -32,6 +32,10 @@
//
// Author: Siyang Xie (lambxsy@google.com)
+#ifdef HAVE_CONFIG_H
+#include <config.h> // Must come first
+#endif
+
#include "processor/module_serializer.h"
#include <map>
@@ -107,10 +111,10 @@ char* ModuleSerializer::Write(const BasicSourceLineResolver::Module& module,
return dest;
}
-char* ModuleSerializer::Serialize(
- const BasicSourceLineResolver::Module& module, unsigned int* size) {
+char* ModuleSerializer::Serialize(const BasicSourceLineResolver::Module& module,
+ size_t* size) {
// Compute size of memory to allocate.
- unsigned int size_to_alloc = SizeOf(module);
+ const size_t size_to_alloc = SizeOf(module);
// Allocate memory for serialized data.
char* serialized_data = new char[size_to_alloc];
@@ -124,8 +128,8 @@ char* ModuleSerializer::Serialize(
// Write serialized data to allocated memory chunk.
char* end_address = Write(module, serialized_data);
// Verify the allocated memory size is equal to the size of data been written.
- unsigned int size_written =
- static_cast<unsigned int>(end_address - serialized_data);
+ const size_t size_written =
+ static_cast<size_t>(end_address - serialized_data);
if (size_to_alloc != size_written) {
BPLOG(ERROR) << "size_to_alloc differs from size_written: "
<< size_to_alloc << " vs " << size_written;
@@ -134,6 +138,7 @@ char* ModuleSerializer::Serialize(
// Set size and return the start address of memory chunk.
if (size)
*size = size_to_alloc;
+
return serialized_data;
}
@@ -146,7 +151,7 @@ bool ModuleSerializer::SerializeModuleAndLoadIntoFastResolver(
BasicSourceLineResolver::Module* basic_module =
dynamic_cast<BasicSourceLineResolver::Module*>(iter->second);
- unsigned int size = 0;
+ size_t size = 0;
scoped_array<char> symbol_data(Serialize(*basic_module, &size));
if (!symbol_data.get()) {
BPLOG(ERROR) << "Serialization failed for module: " << basic_module->name_;
@@ -197,8 +202,8 @@ bool ModuleSerializer::ConvertOneModule(
return SerializeModuleAndLoadIntoFastResolver(iter, fast_resolver);
}
-char* ModuleSerializer::SerializeSymbolFileData(
- const string& symbol_data, unsigned int* size) {
+char* ModuleSerializer::SerializeSymbolFileData(const string& symbol_data,
+ size_t* size) {
scoped_ptr<BasicSourceLineResolver::Module> module(
new BasicSourceLineResolver::Module("no name"));
scoped_array<char> buffer(new char[symbol_data.size() + 1]);