On Fri Feb 7 20:18:51 2025 +0000, Edward OC wrote:
Yes, three tests are fixed if you review.
absolute minimum
That is why commits have been split up to make things trivially clear.
But only renaming local variables is not something we normally do.
Except it isn't just renaming variables if you actually looked it over. No offense but this attitude to new contributions explains a lot about why this code is so horrifically inconsistent and in disrepair. There are multiple buffer overflows and deref of invalid ptr's, both of which controllable by the user and other subtle bugs. A few have been addressed here.
I have also been struggling with this broken DLL. The code quality is poor, for example malloc() is called instead of calloc() and memory is used partially uninitialised, just for starters.
Edward's cleanup patches above make it easier to follow what is going on.
FYI, there is also a huge general inefficiency with this DLL in particular that it uses an array instead of a hashmap to store typeinfos. It is not only an inefficiency but likely a blocker to a working implementation because some lookups don't have a name string to search, only a hash value. Edward has been very dedicated to help sort out what is needed to fix this. I suggest you take it on board that we are making headway to fixing this broken DLL before rejecting these patches outright, or it is likely new contributors like us will give up trying to contribute to this project before landing their first patch.
I am running the test suite now again on this branch to see if any tests fail, but last time I checked, it fixed three previously `todo_wine{}` tests.