minor fixes

This commit is contained in:
Nikita Smith
2024-11-21 13:29:23 -08:00
parent d9d0618e97
commit 8e8924fcc6
3 changed files with 22 additions and 20 deletions
+16 -12
View File
@@ -232,9 +232,9 @@ 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)
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_out_ptr = stream_buf;
@@ -277,17 +277,21 @@ msf_parsed_from_data(Arena *arena, String8 msf_data)
{
Temp scratch = scratch_begin(&arena, 1);
MSF_RawStreamTable *st = msf_raw_stream_table_from_data(scratch.arena, msf_data);
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 = 0;
MSF_Parsed *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;
MSF_RawStreamTable *st = msf_raw_stream_table_from_data(scratch.arena, msf_data);
if (st) {
String8 *streams = push_array_no_zero(arena, String8, st->stream_count);
for (MSF_StreamNumber sn = 0; sn < st->stream_count; ++sn) {
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);
return result;
+1 -3
View File
@@ -37,13 +37,11 @@ struct MSF_Parsed
U64 block_count;
};
#define MSF_MAX_MAGIC_SIZE Min(sizeof(msf_msf20_magic), sizeof(msf_msf70_magic))
////////////////////////////////
//~ rjf: MSF Parser Functions
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 String8 msf_data_from_stream(MSF_Parsed *msf, MSF_StreamNumber sn);
+5 -5
View File
@@ -5023,15 +5023,15 @@ p2r_has_symbol_ref(String8 msf_data, String8List symbol_list, MSF_RawStreamTable
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);
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);
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)
{
@@ -5056,7 +5056,7 @@ p2r_has_file_ref(String8 msf_data, String8List file_list, MSF_RawStreamTable *st
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);
if(info)
{
@@ -5064,7 +5064,7 @@ p2r_has_file_ref(String8 msf_data, String8List file_list, MSF_RawStreamTable *st
if(named_streams)
{
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);
if(strtbl)
{