You pass the pData * pointer to the void * pointer, specifying its address. so you actually throw pData ** on void *, so you need to find it correctly.
(*(pData**)data)->filename
or just donβt take the address of the data when you click in the main
mod_struct((void *)data);
samesque
source share