chore(developer): consolidate 'extra' field for FILE_KEYBOARD
FILE_KEYBOARD is a structure used in multiple libraries and languages. It is passed around between kmcmplib, kmcmpdll, and kmcomp, with three separate definitions (kmcmplib/compfile.h, kmcmpdll/compfile.h, and kmcomp/compile.pas). These duplicate definitions must be maintained for now because of type issues between the legacy kmcmpdll and kmcmplib, which means that the definitions must be kept in sync. Because FILE_KEYBOARD_EXTRA has a C++ class in it, it will be initialized in CompileKeyboardHandle rather than in the caller, so FILE_KEYBOARD.extra is now a pointer rather than a struct. When original kmcomp and kmcmpdll are eventually removed, these duplications will disappear and some of the memory management and lifecycle will become easier to manage.
parent
d1d6dc5d
Please register or sign in to comment