(trunk gtk) #3971 "favicons do not work for IP addresses" -- fixed.

gtr_get_host_from_url() wasn't written to handle dotted-quad or IPv6 address strings, but can handle them now.
This commit is contained in:
Jordan Lee 2011-02-01 01:38:58 +00:00
parent 2f5fc4ade7
commit be99878e98
2 changed files with 13 additions and 9 deletions

View File

@ -70,10 +70,12 @@ get_name_from_host( const char * host )
char * name;
const char * dot = strrchr( host, '.' );
if( dot == NULL )
if( tr_addressIsIP( host ) )
name = g_strdup( host );
else
else if( dot )
name = g_strndup( host, dot - host );
else
name = g_strdup( host );
*name = g_ascii_toupper( *name );

View File

@ -253,17 +253,19 @@ gtr_get_host_from_url( const char * url )
{
char * h = NULL;
char * name;
const char * first_dot;
const char * last_dot;
tr_urlParse( url, -1, NULL, &h, NULL, NULL );
first_dot = strchr( h, '.' );
last_dot = strrchr( h, '.' );
if( ( first_dot ) && ( last_dot ) && ( first_dot != last_dot ) )
name = g_strdup( first_dot + 1 );
else
if( tr_addressIsIP( h ) )
name = g_strdup( h );
else {
const char * first_dot = strchr( h, '.' );
const char * last_dot = strrchr( h, '.' );
if( ( first_dot ) && ( last_dot ) && ( first_dot != last_dot ) )
name = g_strdup( first_dot + 1 );
else
name = g_strdup( h );
}
tr_free( h );
return name;