rdi namespace baking; cv parsing rec iterator, deduplicate oob-safe cv record iterating

This commit is contained in:
Ryan Fleury
2026-03-09 14:36:05 -07:00
parent 8db4a09941
commit 408b3af27c
4 changed files with 169 additions and 187 deletions
+15
View File
@@ -236,6 +236,18 @@ struct CV_TypeIdArray
U64 count;
};
////////////////////////////////
//~ Record Iterator
typedef struct CV_RecIter CV_RecIter;
struct CV_RecIter
{
U64 num;
U16 kind;
void *struct_base;
void *opl;
};
////////////////////////////////
//- Hasher
@@ -301,5 +313,8 @@ internal CV_SymParsed * cv_sym_from_data(Arena *arena, String8 sym_data, U64 sym
internal CV_LeafParsed * cv_leaf_from_data(Arena *arena, String8 leaf_data, CV_TypeId first);
internal CV_C13Parsed * cv_c13_parsed_from_data(Arena *arena, String8 c13_data, String8 strtbl, COFF_SectionHeaderArray sections);
//- rjf: record iterator
internal B32 cv_rec_next(String8 data, CV_RecRangeArray *recs, B32 is_leaf, CV_RecIter *iter);
#endif // CODEVIEW_PARSE_H