summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2012-10-06 14:09:36 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2012-10-06 14:09:36 +0100
commit639d2cb659756e4c40cfc683ad16b4fc470a3001 (patch)
treeb7c95a0323bd62f1000c7da1443b1aefb41e8518
parent29ad56b4b239dfafd9f15a0499d496798bd061d7 (diff)
downloadnetsurf-639d2cb659756e4c40cfc683ad16b4fc470a3001.tar.gz
netsurf-639d2cb659756e4c40cfc683ad16b4fc470a3001.tar.bz2
Use nsurl_parent.
-rw-r--r--riscos/window.c54
1 files changed, 29 insertions, 25 deletions
diff --git a/riscos/window.c b/riscos/window.c
index b7fffd66b..535105459 100644
--- a/riscos/window.c
+++ b/riscos/window.c
@@ -3709,23 +3709,18 @@ bool ro_gui_window_content_export_types(hlcache_handle *h,
bool ro_gui_window_up_available(struct browser_window *bw)
{
- bool result = false, compare;
- char *parent;
- url_func_result res;
+ bool result = false;
+ nsurl *parent;
+ nserror err;
if (bw != NULL && bw->current_content != NULL) {
- res = url_parent(nsurl_access(hlcache_handle_get_url(
- bw->current_content)), &parent);
-
- if (res == URL_FUNC_OK) {
- res = url_compare(nsurl_access(hlcache_handle_get_url(
- bw->current_content)),
- parent, false, &compare);
- if (res == URL_FUNC_OK)
- result = !compare;
- free(parent);
- } else {
- result = false;
+ err = nsurl_parent(hlcache_handle_get_url(
+ bw->current_content), &parent);
+ if (err == NSERROR_OK) {
+ result = nsurl_compare(hlcache_handle_get_url(
+ bw->current_content), parent,
+ NSURL_COMPLETE) == false;
+ nsurl_unref(parent);
}
}
@@ -3863,21 +3858,30 @@ void ro_gui_window_launch_url(struct gui_window *g, const char *url)
* \param g the gui_window to open the parent link in
* \param url the URL to open the parent of
*/
-bool ro_gui_window_navigate_up(struct gui_window *g, const char *url) {
- char *parent;
- url_func_result res;
- bool compare;
+bool ro_gui_window_navigate_up(struct gui_window *g, const char *url)
+{
+ nsurl *current, *parent;
+ nserror err;
if (!g || (!g->bw))
return false;
- res = url_parent(url, &parent);
- if (res == URL_FUNC_OK) {
- res = url_compare(url, parent, false, &compare);
- if ((res == URL_FUNC_OK) && !compare)
- browser_window_go(g->bw, parent, 0, true);
- free(parent);
+ err = nsurl_create(url, &current);
+ if (err != NSERROR_OK)
+ return false;
+
+ err = nsurl_parent(current, &parent);
+ if (err != NSERROR_OK) {
+ nsurl_unref(current);
+ return false;
+ }
+
+ if (nsurl_compare(current, parent, NSURL_COMPLETE) == false) {
+ browser_window_go(g->bw, nsurl_access(parent), 0, true);
}
+
+ nsurl_unref(current);
+ nsurl_unref(parent);
return true;
}