X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcontrol%2Fmedia_library.c;h=9b4d63012e52c4f594a923d06566352b6f38056e;hb=dacbb93b54623c1fbabdc4c4ebcb0b0a430f197f;hp=d25e4146814ac2bfc16b168f64f985a1087d76b0;hpb=8210d67fc5e51e0951dbad9b833b89a351bdb1f6;p=vlc diff --git a/src/control/media_library.c b/src/control/media_library.c index d25e414681..9b4d63012e 100644 --- a/src/control/media_library.c +++ b/src/control/media_library.c @@ -111,20 +111,19 @@ libvlc_media_library_load( libvlc_media_library_t * p_mlib, char *psz_datadir = config_GetUserDir( VLC_DATA_DIR ); char * psz_uri; - if( !psz_datadir ) /* XXX: i doubt that this can ever happen */ - { - libvlc_exception_raise( p_e, "Can't get data directory" ); - return; - } - - if( asprintf( &psz_uri, "file/xspf-open://%s" DIR_SEP "ml.xsp", + if( psz_datadir == NULL + || asprintf( &psz_uri, "file/xspf-open://%s" DIR_SEP "ml.xsp", psz_datadir ) == -1 ) + psz_uri = NULL; + free( psz_datadir ); + + if( psz_uri == NULL ) { - free( psz_datadir ); - libvlc_exception_raise( p_e, "Can't get create the path" ); + libvlc_exception_raise( p_e ); + libvlc_printerr( "Not enough memory" ); return; } - free( psz_datadir ); + if( p_mlib->p_mlist ) libvlc_media_list_release( p_mlib->p_mlist ); @@ -145,7 +144,8 @@ libvlc_media_library_save( libvlc_media_library_t * p_mlib, libvlc_exception_t * p_e ) { (void)p_mlib; - libvlc_exception_raise( p_e, "Not supported" ); + libvlc_exception_raise( p_e ); + libvlc_printerr( "Function not implemented" ); } /**************************************************************************