]> spindle.queued.net Git - midori/commitdiff
katze_array_find_token may yield token without keywords
authorChristian Dywan <christian@twotoasts.de>
Wed, 29 Feb 2012 21:58:16 +0000 (22:58 +0100)
committerChristian Dywan <christian@twotoasts.de>
Wed, 29 Feb 2012 21:58:16 +0000 (22:58 +0100)
Also adapt the magic uri test.

midori/midori-browser.c
tests/magic-uri.c

index a121689f9a8282eb200c13d98a0bdcfa1264f3ba..c1e90c847f8fb744c9acdf08133b425544431cc9 100644 (file)
@@ -3676,7 +3676,11 @@ _action_location_submit_uri (GtkAction*     action,
         if (browser->search_engines
          && (item = katze_array_find_token (browser->search_engines, uri)))
         {
-            keywords = strchr (uri, ' ') + 1;
+            keywords = strchr (uri, ' ');
+            if (keywords != NULL)
+                keywords++;
+            else
+                keywords = "";
             search_uri = katze_item_get_uri (item);
         }
 
index d596dd521bc5c4aa7cd344ae1ff1edd325bdd311..46dbddac5199efa9b43bf8feaf29a2cf0c198d0b 100644 (file)
@@ -41,26 +41,22 @@ test_input (const gchar* input,
     uri = sokoke_magic_uri (input);
     if (!uri)
     {
-        gchar** parts;
-        gchar* keywords = NULL;
+        const gchar* keywords = NULL;
         const gchar* search_uri = NULL;
+        KatzeItem* item;
 
         /* Do we have a keyword and a string? */
-        parts = g_strsplit (input, " ", 2);
-        if (parts[0])
+        if ((item = katze_array_find_token (search_engines, input)))
         {
-            KatzeItem* item;
-            if ((item = katze_array_find_token (search_engines, parts[0])))
-            {
-                keywords = g_strdup (parts[1] ? parts[1] : "");
-                search_uri = katze_item_get_uri (item);
-            }
+            keywords = strchr (input, ' ');
+            if (keywords != NULL)
+                keywords++;
+            else
+                keywords = "";
+            search_uri = katze_item_get_uri (item);
         }
-        g_strfreev (parts);
-
-        uri = keywords ? midori_uri_for_search (search_uri, keywords) : NULL;
 
-        g_free (keywords);
+        uri = search_uri ? midori_uri_for_search (search_uri, keywords) : NULL;
     }
     katze_assert_str_equal (input, uri, expected);
     g_free (uri);