When compiling ltreesitter on Windows with all the warnings enabled (based on the Makefile), the line with GetProcAddress throws an error. This is because it actually returns a FARPROC (a function pointer type) and the function returns a void pointer (a data pointer type), and such conversion are illegal in ISO C. POSIX implicitly guarantees this.
This PR instead use double casting to return a void pointer. This isn't beautiful, but it tricks the compiler to thinking that it's valid ISO C.
When compiling ltreesitter on Windows with all the warnings enabled (based on the Makefile), the line with GetProcAddress throws an error. This is because it actually returns a FARPROC (a function pointer type) and the function returns a void pointer (a data pointer type), and such conversion are illegal in ISO C. POSIX implicitly guarantees this.
This PR instead use double casting to return a void pointer. This isn't beautiful, but it tricks the compiler to thinking that it's valid ISO C.