Huw Davies (@huw) commented about dlls/oleaut32/typelib.c:
meaning that the next WORD is the type, the latter meaning that the next WORD is an offset to the type. */
- HaveOffs = FALSE; - if(*pArg == 0xffff) + if(*pArg == 0xffff || *pArg == 0xfffe) paramName = NULL; - else if(*pArg == 0xfffe) { - paramName = NULL; - HaveOffs = TRUE; - } - else if(paramName[-1] && !isalnum(paramName[-1])) - HaveOffs = TRUE;
+ HaveOffs = !(*pArg & 1);
Let's remove the now outdated comment. Also, how about condensing the tests into the initialisers? Something like: ```suggestion:-14+0 char *paramName = ((*pArg & ~1) == 0xfffe) ? NULL : pNameTable + (*pArg & ~1); BOOL HaveOffs = !(*pArg & 1); ``` -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7334#note_94978