(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:
parent
2f5fc4ade7
commit
be99878e98
|
@ -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 );
|
||||
|
||||
|
|
16
gtk/util.c
16
gtk/util.c
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue