- p_buffer = ( uint8_t* ) calloc( 1, 1024 );
- if ( !p_buffer )
- {
- msg_Err( p_this, "Out of memory" );
- vlc_mutex_unlock ( &p_sys->lock );
+ msg_Dbg( p_intf, "Going to submit some data..." );
+
+ if( !asprintf( &psz_submit, "s=%s", p_sys->psz_auth_token ) )
+ { /* Out of memory */
+ Unload( p_intf );
+ return;
+ }
+
+ /* forge the HTTP POST request */
+ vlc_mutex_lock( &p_sys->lock );
+ audioscrobbler_song_t *p_song;
+ for( i_song = 0 ; i_song < p_sys->i_songs ; i_song++ )
+ {
+ p_song = &p_sys->p_queue[i_song];
+ if( !asprintf( &psz_submit_song,
+ "&a%%5B%d%%5D=%s&t%%5B%d%%5D=%s"
+ "&i%%5B%d%%5D=%llu&o%%5B%d%%5D=P&r%%5B%d%%5D="
+ "&l%%5B%d%%5D=%d&b%%5B%d%%5D=%s"
+ "&n%%5B%d%%5D=%s&m%%5B%d%%5D=%s",
+ i_song, p_song->psz_a, i_song, p_song->psz_t,
+ i_song, (uintmax_t)p_song->date, i_song, i_song,
+ i_song, p_song->i_l, i_song, p_song->psz_b,
+ i_song, p_song->psz_n, i_song, p_song->psz_m
+ ) )
+ { /* Out of memory */
+ vlc_mutex_unlock( &p_sys->lock );
+ Unload( p_intf );