]> spindle.queued.net Git - midori/commitdiff
Exact debug token check and verify tokens are listed
authorChristian Dywan <christian@twotoasts.de>
Sun, 26 Aug 2012 12:16:14 +0000 (14:16 +0200)
committerChristian Dywan <christian@twotoasts.de>
Mon, 27 Aug 2012 19:52:23 +0000 (21:52 +0200)
midori/midori-app.c

index 1c87460d5a86a6d24e6108beadcc98bf5443d5e1..f73fe8f912b75df845a60412900149c78576c106 100644 (file)
@@ -1566,13 +1566,13 @@ gboolean
 midori_debug (const gchar* token)
 {
     static const gchar* debug_token = NULL;
-    g_return_val_if_fail (token != NULL, FALSE);
+    const gchar* debug = g_getenv ("MIDORI_DEBUG");
+    const gchar* debug_tokens = "soup soup:1 soup:2 soup:3 cookies ";
+    const gchar* full_debug_tokens = "adblock:1 adblock:2 startup bookmarks ";
     if (debug_token == NULL)
     {
-        const gchar* debug = g_getenv ("MIDORI_DEBUG");
-        const gchar* debug_tokens = "soup:1 soup:2 soup:3 cookies";
-        const gchar* full_debug_tokens = "adblock:1 adblock:2 startup bookmarks";
-        if (debug && strstr (full_debug_tokens, debug))
+        gchar* found_token;
+        if (debug && (found_token = strstr (full_debug_tokens, debug)) && *found_token == ' ')
         {
             #ifdef G_ENABLE_DEBUG
             debug_token = g_intern_static_string (debug);
@@ -1580,7 +1580,7 @@ midori_debug (const gchar* token)
             g_warning ("Value '%s' for MIDORI_DEBUG requires a full debugging build.", debug);
             #endif
         }
-        else if (debug && strstr (debug_tokens, debug))
+        else if (debug && (found_token = strstr (debug_tokens, debug)) && *found_token == ' ')
             debug_token = g_intern_static_string (debug);
         else if (debug)
             g_warning ("Unrecognized value '%s' for MIDORI_DEBUG.", debug);
@@ -1593,6 +1593,9 @@ midori_debug (const gchar* token)
                      debug_tokens, full_debug_tokens);
         }
     }
+    if (debug_token != g_intern_static_string ("NONE")
+     && !strstr (debug_tokens, token) && !strstr (full_debug_tokens, token))
+        g_warning ("Token '%s' passed to midori_debug is not a known token.", token);
     return debug_token == g_intern_static_string (token);
 }