mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-07 06:18:42 +00:00
minor fixes
This commit is contained in:
+16
-12
@@ -232,9 +232,9 @@ msf_raw_stream_table_from_data(Arena *arena, String8 msf_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal String8
|
internal String8
|
||||||
msf_data_from_stream_index(Arena *arena, String8 msf_data, MSF_RawStreamTable *st, U64 stream_idx)
|
msf_data_from_stream_number(Arena *arena, String8 msf_data, MSF_RawStreamTable *st, MSF_StreamNumber sn)
|
||||||
{
|
{
|
||||||
MSF_RawStream stream = st->streams[stream_idx];
|
MSF_RawStream stream = st->streams[sn];
|
||||||
|
|
||||||
U8 *stream_buf = push_array_no_zero(arena, U8, stream.size);
|
U8 *stream_buf = push_array_no_zero(arena, U8, stream.size);
|
||||||
U8 *stream_out_ptr = stream_buf;
|
U8 *stream_out_ptr = stream_buf;
|
||||||
@@ -277,17 +277,21 @@ msf_parsed_from_data(Arena *arena, String8 msf_data)
|
|||||||
{
|
{
|
||||||
Temp scratch = scratch_begin(&arena, 1);
|
Temp scratch = scratch_begin(&arena, 1);
|
||||||
|
|
||||||
MSF_RawStreamTable *st = msf_raw_stream_table_from_data(scratch.arena, msf_data);
|
MSF_Parsed *result = 0;
|
||||||
String8 *streams = push_array_no_zero(arena, String8, st->stream_count);
|
|
||||||
for (U64 stream_idx = 0; stream_idx < st->stream_count; ++stream_idx) {
|
|
||||||
streams[stream_idx] = msf_data_from_stream_index(arena, msf_data, st, stream_idx);
|
|
||||||
}
|
|
||||||
|
|
||||||
MSF_Parsed *result = push_array_no_zero(arena, MSF_Parsed, 1);
|
MSF_RawStreamTable *st = msf_raw_stream_table_from_data(scratch.arena, msf_data);
|
||||||
result->streams = streams;
|
if (st) {
|
||||||
result->stream_count = st->stream_count;
|
String8 *streams = push_array_no_zero(arena, String8, st->stream_count);
|
||||||
result->block_size = st->page_size;
|
for (MSF_StreamNumber sn = 0; sn < st->stream_count; ++sn) {
|
||||||
result->block_count = st->total_page_count;
|
streams[sn] = msf_data_from_stream_number(arena, msf_data, st, sn);
|
||||||
|
}
|
||||||
|
|
||||||
|
result = push_array_no_zero(arena, MSF_Parsed, 1);
|
||||||
|
result->streams = streams;
|
||||||
|
result->stream_count = st->stream_count;
|
||||||
|
result->block_size = st->page_size;
|
||||||
|
result->block_count = st->total_page_count;
|
||||||
|
}
|
||||||
|
|
||||||
scratch_end(scratch);
|
scratch_end(scratch);
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
+1
-3
@@ -37,13 +37,11 @@ struct MSF_Parsed
|
|||||||
U64 block_count;
|
U64 block_count;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MSF_MAX_MAGIC_SIZE Min(sizeof(msf_msf20_magic), sizeof(msf_msf70_magic))
|
|
||||||
|
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
//~ rjf: MSF Parser Functions
|
//~ rjf: MSF Parser Functions
|
||||||
|
|
||||||
internal MSF_RawStreamTable* msf_raw_stream_table_from_data(Arena *arena, String8 msf_data);
|
internal MSF_RawStreamTable* msf_raw_stream_table_from_data(Arena *arena, String8 msf_data);
|
||||||
internal String8 msf_data_from_stream_index(Arena *arena, String8 msf_data, MSF_RawStreamTable *st, U64 stream_idx);
|
internal String8 msf_data_from_stream_number(Arena *arena, String8 msf_data, MSF_RawStreamTable *st, MSF_StreamNumber sn);
|
||||||
internal MSF_Parsed* msf_parsed_from_data(Arena *arena, String8 msf_data);
|
internal MSF_Parsed* msf_parsed_from_data(Arena *arena, String8 msf_data);
|
||||||
internal String8 msf_data_from_stream(MSF_Parsed *msf, MSF_StreamNumber sn);
|
internal String8 msf_data_from_stream(MSF_Parsed *msf, MSF_StreamNumber sn);
|
||||||
|
|
||||||
|
|||||||
@@ -5023,15 +5023,15 @@ p2r_has_symbol_ref(String8 msf_data, String8List symbol_list, MSF_RawStreamTable
|
|||||||
|
|
||||||
B32 has_ref = 0;
|
B32 has_ref = 0;
|
||||||
|
|
||||||
String8 dbi_data = msf_data_from_stream_index(scratch.arena, msf_data, st, PDB_FixedStream_Dbi);
|
String8 dbi_data = msf_data_from_stream_number(scratch.arena, msf_data, st, PDB_FixedStream_Dbi);
|
||||||
PDB_DbiParsed *dbi = pdb_dbi_from_data(scratch.arena, dbi_data);
|
PDB_DbiParsed *dbi = pdb_dbi_from_data(scratch.arena, dbi_data);
|
||||||
if(dbi)
|
if(dbi)
|
||||||
{
|
{
|
||||||
String8 gsi_data = msf_data_from_stream_index(scratch.arena, msf_data, st, dbi->gsi_sn);
|
String8 gsi_data = msf_data_from_stream_number(scratch.arena, msf_data, st, dbi->gsi_sn);
|
||||||
PDB_GsiParsed *gsi_parsed = pdb_gsi_from_data(scratch.arena, gsi_data);
|
PDB_GsiParsed *gsi_parsed = pdb_gsi_from_data(scratch.arena, gsi_data);
|
||||||
if(gsi_parsed)
|
if(gsi_parsed)
|
||||||
{
|
{
|
||||||
String8 symbol_data = msf_data_from_stream_index(scratch.arena, msf_data, st, dbi->sym_sn);
|
String8 symbol_data = msf_data_from_stream_number(scratch.arena, msf_data, st, dbi->sym_sn);
|
||||||
|
|
||||||
for(String8Node *symbol_n = symbol_list.first; symbol_n != 0; symbol_n = symbol_n->next)
|
for(String8Node *symbol_n = symbol_list.first; symbol_n != 0; symbol_n = symbol_n->next)
|
||||||
{
|
{
|
||||||
@@ -5056,7 +5056,7 @@ p2r_has_file_ref(String8 msf_data, String8List file_list, MSF_RawStreamTable *st
|
|||||||
|
|
||||||
B32 has_ref = 0;
|
B32 has_ref = 0;
|
||||||
|
|
||||||
String8 info_data = msf_data_from_stream_index(scratch.arena, msf_data, st, PDB_FixedStream_Info);
|
String8 info_data = msf_data_from_stream_number(scratch.arena, msf_data, st, PDB_FixedStream_Info);
|
||||||
PDB_Info *info = pdb_info_from_data(scratch.arena, info_data);
|
PDB_Info *info = pdb_info_from_data(scratch.arena, info_data);
|
||||||
if(info)
|
if(info)
|
||||||
{
|
{
|
||||||
@@ -5064,7 +5064,7 @@ p2r_has_file_ref(String8 msf_data, String8List file_list, MSF_RawStreamTable *st
|
|||||||
if(named_streams)
|
if(named_streams)
|
||||||
{
|
{
|
||||||
MSF_StreamNumber strtbl_sn = named_streams->sn[PDB_NamedStream_StringTable];
|
MSF_StreamNumber strtbl_sn = named_streams->sn[PDB_NamedStream_StringTable];
|
||||||
String8 strtbl_data = msf_data_from_stream_index(scratch.arena, msf_data, st, strtbl_sn);
|
String8 strtbl_data = msf_data_from_stream_number(scratch.arena, msf_data, st, strtbl_sn);
|
||||||
PDB_Strtbl *strtbl = pdb_strtbl_from_data(scratch.arena, strtbl_data);
|
PDB_Strtbl *strtbl = pdb_strtbl_from_data(scratch.arena, strtbl_data);
|
||||||
if(strtbl)
|
if(strtbl)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user