Switched opaque pointers to correct type
Switched opaque pointers to correct type

Asking around on IRC, it seems that having a zero-sized struct can
potentially lead to problems if not careful. As far as I can tell, it's
because the compiler is free to assume that any two zero sized structs
are the same struct which means any two pointers are the same pointers.

In this use case I doubt it matters, but better to be one the safe side.

adeschamps/lcm,adeschamps/lcm,adeschamps/lcm,adeschamps/lcm,adeschamps/lcm,adeschamps/lcm,adeschamps/lcm,adeschamps/lcm