I've made some progress on this. The problem at vfs_fread() seems to be caused by a bad prameter "VFSFile* file". I tracked back where does this pointer comes from. I found that it is initialised in vfs_fopen(). It seems like this function is not initializing the pointer correctly. In vfs_fopen the name of the pointer is "file".
What is the meaning of the vfs_fopen_impl() ? It doesn't make any sense for me, it does just return NULL. I am missing something here ?
The bad pointer passing through functions and its names:
I've made some progress on this. The problem at vfs_fread() seems to be caused by a bad prameter "VFSFile* file". I tracked back where does this pointer comes from. I found that it is initialised in vfs_fopen(). It seems like this function is not initializing the pointer correctly. In vfs_fopen the name of the pointer is "file".
What is the meaning of the vfs_fopen_impl() ? It doesn't make any sense for me, it does just return NULL. I am missing something here ?
The bad pointer passing through functions and its names:
file_write_tuple() [ handle ] -> vorbis_ update_ song_tuple( ) [ fd ] -> vcedit_open() [ in ] -> vcedit_ open_callbacks( ) [state.in] -> vfs_fread() [file]