SF.net SVN: geany:[5909] trunk/src/utils.c

colombanw at users.sourceforge.net colombanw at xxxxx
Sun Sep 11 17:06:11 UTC 2011


Revision: 5909
          http://geany.svn.sourceforge.net/geany/?rev=5909&view=rev
Author:   colombanw
Date:     2011-09-11 17:06:11 +0000 (Sun, 11 Sep 2011)
Log Message:
-----------
Cleanup code in utils_open_browser()

Modified Paths:
--------------
    trunk/src/utils.c

Modified: trunk/src/utils.c
===================================================================
--- trunk/src/utils.c	2011-09-02 21:45:20 UTC (rev 5908)
+++ trunk/src/utils.c	2011-09-11 17:06:11 UTC (rev 5909)
@@ -81,37 +81,28 @@
 	cmdline = g_strconcat(tool_prefs.browser_cmd, " \"", uri, "\"", NULL);
 	if (! g_spawn_command_line_async(cmdline, NULL))
 	{
+		static const gchar *browsers[] =
+		{
+			"xdg-open",
+			"firefox",
+			"mozilla",
+			"opera",
+			"konqueror",
+			"netscape"
+		};
 		const gchar *argv[3];
+		guint i;
 
-		argv[0] = "xdg-open";
+		argv[0] = NULL;
 		argv[1] = uri;
 		argv[2] = NULL;
-		if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH,
-				NULL, NULL, NULL, NULL))
+
+		for (i = 0; i < G_N_ELEMENTS (browsers); i++)
 		{
-			argv[0] = "firefox";
-			if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH,
+			argv[0] = browsers[i];
+			if (g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH,
 					NULL, NULL, NULL, NULL))
-			{
-				argv[0] = "mozilla";
-				if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH, NULL,
-						NULL, NULL, NULL))
-				{
-					argv[0] = "opera";
-					if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH,
-							NULL, NULL, NULL, NULL))
-					{
-						argv[0] = "konqueror";
-						if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH,
-								NULL, NULL, NULL, NULL))
-						{
-							argv[0] = "netscape";
-							g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH,
-								NULL, NULL, NULL, NULL);
-						}
-					}
-				}
-			}
+				break;
 		}
 	}
 	g_free(cmdline);

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Commits mailing list