commit - 7e76e0efa3f677f0a044330b98590f2128789d80
commit + 9eca3d7c1eac7c78577af884ba7bc954d2f8b969
blob - 3677a37fdf65203a8209a0bbff32432245163cda
blob + d86ecd198a0d9ba24726b766995f687bc6a17364
--- parser.c
+++ parser.c
int
load_page_from_str(struct tab *tab, const char *page)
{
- erase_buffer(&tab->buffer);
parser_init(tab, gemtext_initparser);
if (!tab->buffer.page.parse(&tab->buffer.page, page, strlen(page)))
abort();
void
parser_init(struct tab *tab, parserfn fn)
{
+ erase_buffer(&tab->buffer);
fn(&tab->buffer.page);
}
blob - 31a077546609381a7b422b13497c50095ac2e693
blob + f6d6aede5cfd8e52520e5fbc83a4f4289c2c26fb
--- telescope.c
+++ telescope.c
* Effectively load the given url in the given tab. Return 1 when
* loading the page asynchronously, and thus when an erase_buffer can
* be done right after this function return, or 0 when loading the
- * page synchronously. In this last case, erase_buffer *MUST* be
- * called by the handling function (such as load_page_from_str).
+ * page synchronously.
*/
static int
do_load_url(struct tab *tab, const char *url, const char *base)
sizeof(tab->hist_cur->h));
}
- if (!lazy && do_load_url(tab, url, base))
- erase_buffer(&tab->buffer);
+ if (!lazy)
+ do_load_url(tab, url, base);
}
void