diff options
author | Don Scorgie <dscorgie@git.gnome.org> | 2009-04-28 19:55:47 +0100 |
---|---|---|
committer | Don Scorgie <dscorgie@git.gnome.org> | 2009-04-28 19:55:47 +0100 |
commit | afc19355f7f53ded779fe3c6f54ba32a7f58514e (patch) | |
tree | a67471ef9de9ca7bd162a0ba0eb7625d4f64e306 | |
parent | 2706bdeba952bb8af7a6ea551ab1c2868a7b2406 (diff) | |
download | yelp-afc19355f7f53ded779fe3c6f54ba32a7f58514e.tar.gz |
* src/yelp-info-parser.c:
* src/yelp-utils.c:
Fix uncompressed info page accesses
(bug #578350 - patch from parthasarathi susarla)
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/yelp-info-parser.c | 8 | ||||
-rw-r--r-- | src/yelp-utils.c | 7 |
3 files changed, 19 insertions, 3 deletions
@@ -1,5 +1,12 @@ 2009-04-28 Don Scorgie <dscorgie@svn.gnome.org> + * src/yelp-info-parser.c: + * src/yelp-utils.c: + Fix uncompressed info page accesses + (bug #578350 - patch from parthasarathi susarla) + +2009-04-28 Don Scorgie <dscorgie@svn.gnome.org> + * src/yelp-window.c: * src/yelp-settings.c: * src/yelp-bookmarks.c: diff --git a/src/yelp-info-parser.c b/src/yelp-info-parser.c index f7731f66..2d06798d 100644 --- a/src/yelp-info-parser.c +++ b/src/yelp-info-parser.c @@ -137,7 +137,7 @@ find_info_part (gchar *part_name, gchar *base) */ gchar *path; gchar *tmp; - gchar *bzfname, *gzfname, *lzfd; + gchar *bzfname, *gzfname, *lzfd, *fname; gchar *uri = NULL; tmp = g_strrstr (base, "/"); path = g_strndup (base, tmp-base); @@ -145,17 +145,21 @@ find_info_part (gchar *part_name, gchar *base) bzfname = g_strconcat (path, "/", part_name, ".bz2", NULL); gzfname = g_strconcat (path, "/", part_name, ".gz", NULL); lzfd = g_strconcat (path, "/", part_name, ".lzma", NULL); - + fname = g_strconcat (path, "/", part_name, NULL); + if (g_file_test (bzfname, G_FILE_TEST_EXISTS)) uri = g_strdup (bzfname); else if (g_file_test (gzfname, G_FILE_TEST_EXISTS)) uri = g_strdup (gzfname); else if (g_file_test (lzfd, G_FILE_TEST_EXISTS)) uri = g_strdup (lzfd); + else if (g_file_test (fname, G_FILE_TEST_EXISTS)) + uri = g_strdup (fname); g_free (bzfname); g_free (gzfname); g_free (lzfd); + g_free (fname); g_free (path); return uri; diff --git a/src/yelp-utils.c b/src/yelp-utils.c index 567593f4..bea048a4 100644 --- a/src/yelp-utils.c +++ b/src/yelp-utils.c @@ -197,7 +197,12 @@ resolve_full_file (const gchar *path) } else if (resolve_is_man_path (path, "lzma")) { type = YELP_RRN_TYPE_MAN; } - + } else if (g_str_equal (mime_type, "application/octet-stream")) { + if (g_str_has_suffix (path, ".info")) { + type = YELP_RRN_TYPE_INFO; + } else if (resolve_is_man_path (path, NULL)) { + type = YELP_RRN_TYPE_MAN; + } } else if (g_str_equal (mime_type, "text/plain")) { if (g_str_has_suffix (path, ".info")) { type = YELP_RRN_TYPE_INFO; |