summaryrefslogtreecommitdiff
path: root/content/content.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2013-05-07 14:56:42 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2013-05-07 14:56:42 +0100
commit8b6665fe0383fd565ac7d7cd6a2bf6243ebc9937 (patch)
treeffa2ae68c2f87f19cbbd13b7e79a632a682202ee /content/content.c
parent3afd9c97310d58c0c6588d18887244328590731e (diff)
parentf4af0d86e240948bb37a1d318d4e2559f04c6a79 (diff)
downloadnetsurf-8b6665fe0383fd565ac7d7cd6a2bf6243ebc9937.tar.gz
netsurf-8b6665fe0383fd565ac7d7cd6a2bf6243ebc9937.tar.bz2
Merge branch 'master' of git://git.netsurf-browser.org/netsurf into tlsa/selection-search-refactor
Diffstat (limited to 'content/content.c')
-rw-r--r--content/content.c32
1 files changed, 15 insertions, 17 deletions
diff --git a/content/content.c b/content/content.c
index 74abdbfab..9bf4312ef 100644
--- a/content/content.c
+++ b/content/content.c
@@ -92,6 +92,7 @@ nserror content__init(struct content *c, const content_handler *handler,
if (fallback_charset != NULL) {
c->fallback_charset = strdup(fallback_charset);
if (c->fallback_charset == NULL) {
+ free(user_sentinel);
return NSERROR_NOMEM;
}
}
@@ -1349,39 +1350,33 @@ struct content *content_clone(struct content *c)
*/
nserror content__clone(const struct content *c, struct content *nc)
{
- struct content_user *user_sentinel;
nserror error;
- user_sentinel = calloc(1, sizeof(struct content_user));
- if (user_sentinel == NULL) {
- return NSERROR_NOMEM;
- }
-
error = llcache_handle_clone(c->llcache, &(nc->llcache));
if (error != NSERROR_OK) {
return error;
}
-
- llcache_handle_change_callback(nc->llcache,
- content_llcache_callback, nc);
+
+ llcache_handle_change_callback(nc->llcache,
+ content_llcache_callback, nc);
nc->mime_type = lwc_string_ref(c->mime_type);
nc->handler = c->handler;
nc->status = c->status;
-
+
nc->width = c->width;
nc->height = c->height;
nc->available_width = c->available_width;
nc->quirks = c->quirks;
-
+
if (c->fallback_charset != NULL) {
nc->fallback_charset = strdup(c->fallback_charset);
if (nc->fallback_charset == NULL) {
return NSERROR_NOMEM;
}
}
-
+
if (c->refresh != NULL) {
nc->refresh = nsurl_ref(c->refresh);
if (nc->refresh == NULL) {
@@ -1392,21 +1387,24 @@ nserror content__clone(const struct content *c, struct content *nc)
nc->time = c->time;
nc->reformat_time = c->reformat_time;
nc->size = c->size;
-
+
if (c->title != NULL) {
nc->title = strdup(c->title);
if (nc->title == NULL) {
return NSERROR_NOMEM;
}
}
-
+
nc->active = c->active;
- nc->user_list = user_sentinel;
-
+ nc->user_list = calloc(1, sizeof(struct content_user));
+ if (nc->user_list == NULL) {
+ return NSERROR_NOMEM;
+ }
+
memcpy(&(nc->status_message), &(c->status_message), 120);
memcpy(&(nc->sub_status), &(c->sub_status), 80);
-
+
nc->locked = c->locked;
nc->total_size = c->total_size;
nc->http_code = c->http_code;