Commit Diff


commit - 55eb4d95383ce078ff680fc9c145359cc030b407
commit + 78894e73ecf5d7a2039e4eb6bd6e9a47fa9baa72
blob - 98e0a90400e163cc52fefa931180c34ecfa8de3f
blob + aca7b82cce72e566b5a8c74f9760dc8ef4ef6be0
--- minibuffer.c
+++ minibuffer.c
@@ -42,6 +42,7 @@ static struct tab *yornp_data;
 static void (*read_cb)(const char*, struct tab *);
 static struct tab *read_data;
 
+/* XXX: don't forget to init these in minibuffer_init */
 struct histhead eecmd_history,
 	ir_history,
 	lu_history,
@@ -531,7 +532,11 @@ minibuffer_init(void)
 	TAILQ_INIT(&eecmd_history.head);
 	TAILQ_INIT(&ir_history.head);
 	TAILQ_INIT(&lu_history.head);
+	TAILQ_INIT(&read_history.head);
 
+	TAILQ_INIT(&ministate.compl.buffer.head);
+	TAILQ_INIT(&ministate.compl.buffer.page.head);
+
 	ministate.line.type = LINE_TEXT;
 	ministate.vline.parent = &ministate.line;
 	ministate.buffer.page.name = "*minibuffer*";
blob - 239ffd9fc68e010cb523a0e38b1080674449e8ae
blob + f002f366333fe9d90d1f6315f26cf21345b35417
--- parser_gemtext.c
+++ parser_gemtext.c
@@ -69,6 +69,8 @@ gemtext_initparser(struct parser *p)
 	p->name = "text/gemini";
 	p->parse = &gemtext_parse;
 	p->free  = &gemtext_free;
+
+	TAILQ_INIT(&p->head);
 }
 
 static inline int
blob - 9b05562e49d6b62f6466864e7b7cbf7057f0bc40
blob + 158474cd2e020bb2d416f38db1d06cddd8ac831a
--- parser_gophermap.c
+++ parser_gophermap.c
@@ -44,6 +44,8 @@ gophermap_initparser(struct parser *p)
 	p->name = "gophermap";
 	p->parse = &gm_parse;
 	p->free = &gm_free;
+
+	TAILQ_INIT(&p->head);
 }
 
 static void
blob - c7f6f958e1e85fac47c776f16397c03e63a22d34
blob + f013891db2c25c1d149f6c5f7e6b0de4fef47b33
--- parser_textpatch.c
+++ parser_textpatch.c
@@ -39,6 +39,8 @@ textpatch_initparser(struct parser *p)
 	p->free = &tpatch_free;
 
 	p->flags = PARSER_IN_PATCH_HDR;
+
+	TAILQ_INIT(&p->head);
 }
 
 static int
blob - c2c15573d75498e3c49d8ec25c46da2d2f94c530
blob + c20f05207312a51295e9e0eb4d1a5e63b9e00beb
--- parser_textplain.c
+++ parser_textplain.c
@@ -63,6 +63,8 @@ textplain_initparser(struct parser *p)
 	p->name = "text/plain";
 	p->parse = &textplain_parse;
 	p->free = &textplain_free;
+
+	TAILQ_INIT(&p->head);
 }
 
 static int
blob - 3128c6590eb1ff0691854c1ef52ced466998746a
blob + 050a5fa1ebc70cd93ef73a75ccb0583cd311536b
--- ui.c
+++ ui.c
@@ -105,6 +105,7 @@ static uint32_t		 tab_counter;
 
 static char	keybuf[64];
 
+/* XXX: don't forget to init these in main() */
 struct kmap global_map,
 	minibuffer_map,
 	*current_map,
@@ -993,6 +994,7 @@ new_tab(const char *url, const char *base, struct tab 
 	TAILQ_INIT(&tab->hist.head);
 
 	TAILQ_INIT(&tab->buffer.head);
+	TAILQ_INIT(&tab->buffer.page.head);
 
 	tab->id = tab_new_id();
 	if (!operating)
@@ -1063,6 +1065,7 @@ ui_init()
 
 	/* initialize help window */
 	TAILQ_INIT(&helpwin.head);
+	TAILQ_INIT(&helpwin.page.head);
 
 	base_map = &global_map;
 	current_map = &global_map;