Casting dos veces en la misma línea.

Vi este código en el proyecto.

bel tipo esvoid*:

void *b = ...;
int a = (int) (unsigned long) b;

¿Es esta línea sin sentido? Quiero decir, es lo mismo quea = (int) b ¿en todos los casos?