[geany/geany] 2c8f75: Merge pull request #1667 from eht16/issue1018_win_execute_builtin_path

Enrico Tröger git-noreply at xxxxx
Sun Nov 5 22:02:24 UTC 2017


Branch:      refs/heads/master
Author:      Enrico Tröger <enrico.troeger at uvena.de>
Committer:   GitHub <noreply at github.com>
Date:        Sun, 05 Nov 2017 22:02:24 UTC
Commit:      2c8f754988bb597bcc6d3493f58d55c8b36c0c9f
             https://github.com/geany/geany/commit/2c8f754988bb597bcc6d3493f58d55c8b36c0c9f

Log Message:
-----------
Merge pull request #1667 from eht16/issue1018_win_execute_builtin_path

Use utils_get_uri_file_prefix() as file URI prefix


Modified Paths:
--------------
    src/build.c
    src/utils.c
    src/utils.h

Modified: src/build.c
5 lines changed, 3 insertions(+), 2 deletions(-)
===================================================================
@@ -1237,13 +1237,14 @@ static void on_build_menu_item(GtkWidget *w, gpointer user_data)
 		bc = get_build_cmd(doc, grp, cmd, NULL);
 		if (bc != NULL && strcmp(bc->command, "builtin") == 0)
 		{
+			const gchar *uri_file_prefix;
 			gchar *uri;
 			if (doc == NULL)
 				return;
-			uri = g_strconcat("file:///", g_path_skip_root(doc->file_name), NULL);
+			uri_file_prefix = utils_get_uri_file_prefix();
+			uri = g_strconcat(uri_file_prefix, doc->file_name, NULL);
 			utils_open_browser(uri);
 			g_free(uri);
-
 		}
 		else
 			build_run_cmd(doc, cmd);


Modified: src/utils.c
22 lines changed, 15 insertions(+), 7 deletions(-)
===================================================================
@@ -1688,6 +1688,17 @@ gboolean utils_spawn_async(const gchar *dir, gchar **argv, gchar **env, GSpawnFl
 }
 
 
+/* Returns "file:///" on Windows, "file://" everywhere else */
+const gchar *utils_get_uri_file_prefix(void)
+{
+#ifdef G_OS_WIN32
+	return "file:///";
+#else
+	return "file://";
+#endif
+}
+
+
 /* Retrieves the path for the given URI.
  * It returns:
  * - the path which was determined by g_filename_from_uri() or GIO
@@ -1893,16 +1904,13 @@ GSList *utils_get_config_files(const gchar *subdir)
  * an anchor link, e.g. "#some_anchor". */
 gchar *utils_get_help_url(const gchar *suffix)
 {
-	gint skip;
 	gchar *uri;
+	const gchar *uri_file_prefix = utils_get_uri_file_prefix();
+	gint skip = strlen(uri_file_prefix);
 
+	uri = g_strconcat(uri_file_prefix, app->docdir, "/index.html", NULL);
 #ifdef G_OS_WIN32
-	skip = 8;
-	uri = g_strconcat("file:///", app->docdir, "/index.html", NULL);
 	g_strdelimit(uri, "\\", '/'); /* replace '\\' by '/' */
-#else
-	skip = 7;
-	uri = g_strconcat("file://", app->docdir, "/index.html", NULL);
 #endif
 
 	if (! g_file_test(uri + skip, G_FILE_TEST_IS_REGULAR))
@@ -2115,7 +2123,7 @@ const gchar *utils_resource_dir(GeanyResourceDirType type)
 		{
 # ifdef MAC_INTEGRATION
 			gchar *prefix = gtkosx_application_get_resource_path();
-			
+
 			resdirs[RESOURCE_DIR_DATA] = g_build_filename(prefix, "share", "geany", NULL);
 			resdirs[RESOURCE_DIR_ICON] = g_build_filename(prefix, "share", "icons", NULL);
 			resdirs[RESOURCE_DIR_DOC] = g_build_filename(prefix, "share", "doc", "geany", "html", NULL);


Modified: src/utils.h
1 lines changed, 1 insertions(+), 0 deletions(-)
===================================================================
@@ -309,6 +309,7 @@ gboolean utils_str_has_upper(const gchar *str);
 
 gint utils_is_file_writable(const gchar *locale_filename);
 
+const gchar *utils_get_uri_file_prefix(void);
 
 gchar *utils_get_path_from_uri(const gchar *uri);
 



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list