mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-05 13:28:40 +00:00
add version encoding difference detection in dbgi layer when deciding whether or not to re-convert; this will allow using the raddbg encoding version as a 'generation number', as the encoding changes, to prevent cases where the debugger loads old versions & treats them as new unknowingly
This commit is contained in:
@@ -638,6 +638,32 @@ dbgi_parse_thread_entry_point(void *p)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//- rjf: if raddbg file is up to date based on timestamp, check the
|
||||||
|
// encoding generation number, to see if we need to regenerate it
|
||||||
|
// regardless
|
||||||
|
if(do_task && raddbg_file_is_up_to_date)
|
||||||
|
{
|
||||||
|
OS_Handle file = {0};
|
||||||
|
OS_Handle file_map = {0};
|
||||||
|
FileProperties file_props = {0};
|
||||||
|
void *file_base = 0;
|
||||||
|
file = os_file_open(OS_AccessFlag_Read|OS_AccessFlag_ShareRead, raddbg_path);
|
||||||
|
file_map = os_file_map_open(OS_AccessFlag_Read, file);
|
||||||
|
file_props = os_properties_from_file(file);
|
||||||
|
file_base = os_file_map_view_open(file_map, OS_AccessFlag_Read, r1u64(0, file_props.size));
|
||||||
|
if(sizeof(RADDBG_Header) <= file_props.size)
|
||||||
|
{
|
||||||
|
RADDBG_Header *header = (RADDBG_Header*)&file_base;
|
||||||
|
if(header->encoding_version != RADDBG_ENCODING_VERSION)
|
||||||
|
{
|
||||||
|
raddbg_file_is_up_to_date = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
os_file_map_view_close(file_map, file_base);
|
||||||
|
os_file_map_close(file_map);
|
||||||
|
os_file_close(file);
|
||||||
|
}
|
||||||
|
|
||||||
//- rjf: raddbg file not up-to-date? we need to generate it
|
//- rjf: raddbg file not up-to-date? we need to generate it
|
||||||
if(do_task)
|
if(do_task)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user