diff --git a/desktop/history_core.c b/desktop/history_core.c index dcf8c6efd..b7d71c80e 100644 --- a/desktop/history_core.c +++ b/desktop/history_core.c @@ -224,7 +224,14 @@ void history_add(struct history *history, struct content *content, warn_user("NoMemory", 0); return; } + + LOG(("%s => %s : %s", content->url, url, content->title)); + LOG(("%s", frag_id)); + title = strdup(content->title ? content->title : url); + + LOG(("after strdup")); + if (!entry || !url || !title) { warn_user("NoMemory", 0); free(entry); @@ -400,9 +407,20 @@ void history_go(struct browser_window *bw, struct history *history, char *url; struct history_entry *current; + LOG(("%p %p %p", bw, history, entry)); + LOG(("%s %s %s", + entry->page.url, entry->page.title, entry->page.frag_id)); + if (entry->page.frag_id) { - url = malloc(strlen(entry->page.url) + - strlen(entry->page.frag_id) + 5); + size_t a, b; + + a = strlen(entry->page.url); + LOG(("after a")); + b = strlen(entry->page.frag_id); + LOG(("after b")); + url = malloc(a + b + 5); + LOG(("after malloc")); + if (!url) { warn_user("NoMemory", 0); return;