aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dillorc2
-rw-r--r--src/prefs.c2
-rw-r--r--src/url.c22
3 files changed, 19 insertions, 7 deletions
diff --git a/dillorc b/dillorc
index f8c42d83..05debda6 100644
--- a/dillorc
+++ b/dillorc
@@ -95,7 +95,7 @@
# "%s" is replaced with the search keywords separated by '+'.
# search_url="http://search.lycos.com/?query=%s"
# search_url="http://www.alltheweb.com/search?cat=web&query=%s"
-#search_url="http://www.google.com/search?q=%s"
+#search_url="http://www.google.com/search?ie=UTF-8&oe=UTF-8&q=%s"
# Set the proxy information for http.
# WARNING: dillo uses wget for ftp and https. To use a proxy for those
diff --git a/src/prefs.c b/src/prefs.c
index 48fe2a86..10e87d0c 100644
--- a/src/prefs.c
+++ b/src/prefs.c
@@ -42,7 +42,7 @@
#define D_VW_FONTNAME "DejaVu Sans"
#define D_FW_FONTNAME "DejaVu Sans Mono"
-#define D_SEARCH_URL "http://www.google.com/search?q=%s"
+#define D_SEARCH_URL "http://www.google.com/search?ie=UTF-8&oe=UTF-8&q=%s"
#define D_SAVE_DIR "/tmp/"
#define DW_COLOR_DEFAULT_BGND 0xdcd1ba
diff --git a/src/url.c b/src/url.c
index d1c92a71..3fb9122a 100644
--- a/src/url.c
+++ b/src/url.c
@@ -102,11 +102,23 @@ const char *a_Url_hostname(const DilloUrl *u)
DilloUrl *url = (DilloUrl *) u;
if (!url->hostname && url->authority) {
- if ((p = strchr(url->authority, ':'))) {
- url->port = strtol(p + 1, NULL, 10);
- url->hostname = dStrndup(url->authority,(uint_t)(p - url->authority));
- } else
- url->hostname = url->authority;
+ if (url->authority[0] == '[' && (p = strchr(url->authority, ']'))) {
+ /* numeric ipv6 address, strip the brackets */
+ url->hostname = dStrndup(url->authority + 1,
+ (uint_t)(p - url->authority - 1));
+ if ((p = strchr(p, ':'))) {
+ url->port = strtol(p + 1, NULL, 10);
+ }
+ } else {
+ /* numeric ipv4 or hostname */
+ if ((p = strchr(url->authority, ':'))) {
+ url->port = strtol(p + 1, NULL, 10);
+ url->hostname = dStrndup(url->authority,
+ (uint_t)(p - url->authority));
+ } else {
+ url->hostname = url->authority;
+ }
+ }
}
return url->hostname;