diff options
author | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2009-09-21 03:37:45 +0200 |
---|---|---|
committer | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2009-09-21 03:37:45 +0200 |
commit | 14d90c9e1171655b864316c9c4aa34033fdd3a45 (patch) | |
tree | 3c297e80f774b4a6452331ff840fe6c415875e11 /Database/internals/database-internal.cpp | |
parent | 8c9c24358cca81cdb15462cb74afc5f173966c79 (diff) |
Very first bit towards a Mips/PSX disassembler
Diffstat (limited to 'Database/internals/database-internal.cpp')
-rw-r--r-- | Database/internals/database-internal.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Database/internals/database-internal.cpp b/Database/internals/database-internal.cpp index e564c01..ce54f44 100644 --- a/Database/internals/database-internal.cpp +++ b/Database/internals/database-internal.cpp @@ -1,14 +1,16 @@ #include "database-internal.h" #include "database.h" -DatabaseCell::DatabaseCell(Cpu * cpu, Uint64 cpu_base, absolute_ptr origin, Uint32 size, Uint32 extra_size, DatabaseCell * prev, Database * parent) : cpu(cpu), next(0), prev(prev), parent(parent) { - prev->next = this; +DatabaseCell::DatabaseCell(Database * parent, Cpu * cpu, Uint64 cpu_base, absolute_ptr origin, Uint32 size, Uint32 extra_size, const Byte * data) : cpu(cpu), next(0), parent(parent) { + prev = parent->getEnd(); + if (prev) + prev->next = this; parent->setEnd(this); if (origin.raw_ptr) { Segment * origin_seg = parent->getSegment(SEGID(origin)); segment = new Segment(size, cpu_base, parent->GetNextSegId(), extra_size, origin_seg->getPristineMemory() + SEGOFFSET(origin)); } else { - segment = new Segment(size, cpu_base, parent->GetNextSegId(), extra_size); + segment = new Segment(size, cpu_base, parent->GetNextSegId(), extra_size, data); } } |