Branch: refs/heads/master Author: Enrico Tröger enrico.troeger@uvena.de Committer: Enrico Tröger enrico.troeger@uvena.de Date: Sun, 29 Oct 2017 15:16:17 UTC Commit: a1991c4d379cc76917dd8f85e68fcc9b0b3aa301 https://github.com/geany/geany/commit/a1991c4d379cc76917dd8f85e68fcc9b0b3aa3...
Log Message: ----------- Use utility function to get a file URI prefix
On Windows, we need "file:///" for local file URIs while on all other platforms the prefix is "file://" for absolute filenames. The utility function saves us from replicating the platform specific logic.
Modified Paths: -------------- src/utils.c src/utils.h
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).