Michael Stefaniuc wrote: >> -SIMPLE(LONG64, LONG, VarI8FromI4); > Are you removing a test here?
Hi Michael, I'm not sure what you mean. All I know is that the "SIMPLE()" macro - also in oleaut32/vartype.c - is defined as follows. /* Inline return type */ #define RETTYP inline static HRESULT /* Simple compiler cast from one type to another */ #define SIMPLE(dest, src, func) RETTYP _##func(src in, dest* out) { \ *out = in; return S_OK; } So SIMPLE(LONG64, LONG, VarI8FromI4); generates a function definition similar to inline static HRESULT _VarI8FromI4(LONG64 in, LONG* out) { *out = in; return S_OK; } and _VarI8FromI4() is not called from anywhere within the codebase. In particular, there is not a dll function similarly named but without the leading underscore to call it. (Compare with VarI8FromI2(), which calls _VarI8FromI2(), for example.) VarI8FromI4() seems to be undocumented and unimplemented. To complete the job - if my patch is otherwise correct - I should also remove its declaration from include/oleaut.h. Of course, it may be that this macro should be left in, perhaps marked as "TODO". I welcome advice. Thanks, -- Andy.