could you please help me to understand how to update a pointer adress from a function?
I use a C library (libmpdclient) into my C++ project.
from the C library:
const struct mpd_song * mpd_entity_get_song (const struct mpd_entity *entity)
my header prototype:
typedef struct {
struct mpd_song * m_song; // from a C library
.... // not important stuff
}
void GetSongInfo(const struct mpd_song * m_song, char* uri);
my code:
void MpdPlayer::GetSongInfo(const struct mpd_song * song, char* uri)
{
struct mpd_entity * entity;
mpd_send_list_meta(m_connection, *uri);
song = mpd_entity_get_song(entity);
mpd_entity_free(entity);
printf("song adress: %p\n", song); // OK the result is 0x370e6e0
printf("song duration: %u\n", mpd_song_get_duration(song)); // OK I can get the time
}
GetSongInfo(myStruct->m_song, m_fileuri);
printf("myStruct->m_song adress : %p\n", si->m_song); // FAIL the result is : nil
I tried so much thinks that I am lost :/