[vlc-devel] [schizo--debian.org: [vlc] audioscrobbler parseURL can't handle URLs without explicit ports]
Jean-Baptiste Kempf
jb at videolan.org
Mon Apr 27 12:34:28 CEST 2009
> I think something like this (untested) needs to be used with
> the patch in ticket #2683, to cope with situations where the
> URL returned looks like
> http://turtle.dev.libre.fm/submissions/1.2/
> (no :80)
>
> I seem to be unable to do anything in Trac.
You need your account validated for that.
I'll test it on top of the other patch to check if I can submit.
diff --git a/modules/misc/audioscrobbler.c b/modules/misc/audioscrobbler.c
index d9e7f8c..abf8a85 100644
--- a/modules/misc/audioscrobbler.c
+++ b/modules/misc/audioscrobbler.c
@@ -654,17 +654,22 @@ static int ParseURL( char *psz_url, char **psz_host, char **psz_file,
{
int i_pos;
int i_len = strlen( psz_url );
+ int no_port = 0;
FREENULL( *psz_host );
FREENULL( *psz_file );
i_pos = strcspn( psz_url, ":" );
- if( i_pos == i_len )
- return VLC_EGENERIC;
+ if( i_pos == i_len ) {
+ i_port = 80;
+ i_pos = strcspn( psz_url, "/" );
+ no_port = 1;
+ }
*psz_host = strndup( psz_url, i_pos );
if( !*psz_host )
return VLC_ENOMEM;
+ if( no_port == 0) {
i_pos++; /* skip the ':' */
*i_port = atoi( psz_url + i_pos );
if( *i_port <= 0 )
@@ -674,6 +679,7 @@ static int ParseURL( char *psz_url, char **psz_host, char **psz_file,
}
i_pos = strcspn( psz_url, "/" );
+ }
if( i_pos == i_len )
return VLC_EGENERIC;
______________________________________________________
---- End forwarded message -----
--
Best Regards,
--
Jean-Baptiste Kempf
http://www.jbkempf.com/
More information about the vlc-devel
mailing list