]> spindle.queued.net Git - midori/commitdiff
Only split URI if no domain pattern is found in the string
authorChristian Dywan <christian@twotoasts.de>
Mon, 8 Feb 2010 22:02:54 +0000 (23:02 +0100)
committerChristian Dywan <christian@twotoasts.de>
Wed, 10 Feb 2010 18:52:11 +0000 (19:52 +0100)
midori/sokoke.c

index 62a7a1ac8219c628fd22fdde0f6340592fef126d..c497b2302a0942a9607afac68ac530aa32fe0243 100644 (file)
@@ -622,18 +622,21 @@ sokoke_magic_uri (const gchar* uri,
         return sokoke_idn_to_punycode (g_strconcat ("http://", uri, NULL));
     if (!strncmp (uri, "localhost", 9) && (uri[9] == '\0' || uri[9] == '/'))
         return g_strconcat ("http://", uri, NULL);
-    parts = g_strsplit (uri, ".", 0);
-    if (!search && parts[0] && parts[1])
+    if (!search)
     {
-        if (!(parts[1][1] == '\0' && !g_ascii_isalpha (parts[1][0])))
-            if (!strchr (parts[0], ' ') && !strchr (parts[1], ' '))
-            {
-                search = g_strconcat ("http://", uri, NULL);
-                g_strfreev (parts);
-                return sokoke_idn_to_punycode (search);
-            }
+        parts = g_strsplit (uri, ".", 0);
+        if (parts[0] && parts[1])
+        {
+            if (!(parts[1][1] == '\0' && !g_ascii_isalpha (parts[1][0])))
+                if (!strchr (parts[0], ' ') && !strchr (parts[1], ' '))
+                {
+                    search = g_strconcat ("http://", uri, NULL);
+                    g_strfreev (parts);
+                   return sokoke_idn_to_punycode (search);
+                }
+        }
+        g_strfreev (parts);
     }
-    g_strfreev (parts);
     /* We don't want to search? So return early. */
     if (!search_engines)
         return g_strdup (uri);