summaryrefslogtreecommitdiff
path: root/gtk/viewsource.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/viewsource.c')
-rw-r--r--gtk/viewsource.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/gtk/viewsource.c b/gtk/viewsource.c
index abc9f9483..62e595900 100644
--- a/gtk/viewsource.c
+++ b/gtk/viewsource.c
@@ -28,7 +28,7 @@
#include "gtk/viewdata.h"
#include "gtk/viewsource.h"
-void nsgtk_viewsource(GtkWindow *parent, struct browser_window *bw)
+nserror nsgtk_viewsource(GtkWindow *parent, struct browser_window *bw)
{
nserror ret;
struct hlcache_handle *hlcontent;
@@ -41,11 +41,11 @@ void nsgtk_viewsource(GtkWindow *parent, struct browser_window *bw)
hlcontent = browser_window_get_content(bw);
if (hlcontent == NULL) {
- return;
+ return NSERROR_BAD_PARAMETER;
}
if (content_get_type(hlcontent) != CONTENT_HTML) {
- return;
+ return NSERROR_BAD_CONTENT;
}
source_data = content_get_source_data(hlcontent, &source_size);
@@ -54,11 +54,15 @@ void nsgtk_viewsource(GtkWindow *parent, struct browser_window *bw)
if (ret != NSERROR_OK) {
filename = strdup(messages_get("SaveSource"));
if (filename == NULL) {
- return;
+ return NSERROR_NOMEM;
}
}
title = malloc(strlen(nsurl_access(browser_window_get_url(bw))) + SLEN("Source of - NetSurf") + 1);
+ if (title == NULL) {
+ free(filename);
+ return NSERROR_NOMEM;
+ }
sprintf(title, "Source of %s - NetSurf", nsurl_access(browser_window_get_url(bw)));
ret = utf8_from_enc(source_data,
@@ -72,4 +76,6 @@ void nsgtk_viewsource(GtkWindow *parent, struct browser_window *bw)
free(filename);
free(title);
+
+ return ret;
}