Not really a problem, but what's the point of these casts from void*?